Azureのサービスエンドポイントを、ポリシーを付与して試す
はじめに
今回は、サービスエンドポイントがないサブネットに対し、ポリシーをつけたサービスエンドポイントを設けてみました。
概要
まず、以下の環境が前提にあります。この時点でストレージへの接続状況を確認します。

そのあと、ポリシー付きのサービスエンドポイントを設定して、接続状況を確認します。

参考
前提環境作成
VNet作成
まずは仮想ネットワークを作成します。サブネットはデフォルトを使っていきます。
ポータルの仮想ネットワークから、作成をクリックします。

色々入力して、以下のように作成します。

ストレージを2つ作成
以下の設定を参考にストレージを2つ作成します。
作成したストレージは以下です。任意のネットワークからのアクセスを可としています。

両方のストレージにファイル共有も作成します。バックアップ無しのシンプルな構成を作ります。

この時点でテスト
この時点で確認用のVMを作ります。以下を参考に作ります。
接続確認するストレージのキーを確認します。key1の値とします。

接続確認するコマンドは、以下を参考にします。
以下のコマンドの(pasted from procedure above)をキーの値に、allowedaccountを作成したストレージアカウントに置き換えます。ダブルクォーテーションで囲んでおいてください。
またZドライブになっていますが、2つのストレージを別の文字に割り当ててもよいです。
## Enter the storage account key for the allowed storage account that you recorded earlier.
$storageAcctKey1 = (pasted from procedure above)
$acctKey = ConvertTo-SecureString -String $storageAcctKey1 -AsPlainText -Force
## Replace the login account with the name of the storage account you created.
$credential = New-Object System.Management.Automation.PSCredential -ArgumentList ("Azure\allowedaccount"), $acctKey
## Replace the storage account name with the name of the storage account you created.
New-PSDrive -Name Z -PSProvider FileSystem -Root "\\allowedaccount.file.core.windows.net\file-share" -Credential $credential
起動しているVMで添付の画像のように、スクリプトを入力して実行します。

2つのストレージどちらでも以下のような出力が得られました。
Name Used (GB) Free (GB) Provider Root CurrentLocation
---- --------- --------- -------- ---- ---------------
Z FileSystem \\deniedaccount6432.file.core.wi...
いったんVMを再起動しておくと、ネットワークドライブを解除されます。
サービスエンドポイントポリシーの作成
ストレージへのアクセスを制御するための、サービスエンドポイントポリシーを作成します。

以下の設定で作成しました。

サービスエンドポイントの作成:サブネットの設定変更
サービスエンドポイントを、作成したVNet内のサブネットを指定して設定します。

先ほど作成したサービスエンドポイントポリシーを割り当てながら作成します。

再度確認
先ほどのスクリプトを、再度実行します。
許可ストレージで試した結果です。
Name Used (GB) Free (GB) Provider Root CurrentLocation
---- --------- --------- -------- ---- ---------------
Z FileSystem \\allowedaccount1482.file.core.w...
不許可ストレージで試した結果です
New-PSDrive : Access is denied
At C:\Packages\Plugins\Microsoft.CPlat.Core.RunCommandWindows\1.1.22\Downloads\script14.ps1:7 char:1
+ New-PSDrive -Name Z -PSProvider FileSystem -Root "\\deniedaccount6432 ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (Z:PSDriveInfo) [New-PSDrive], Win32Exception
+ FullyQualifiedErrorId : CouldNotMapNetworkDrive,Microsoft.PowerShell.Commands.NewPSDriveCommand
おわりに
今回は、Azureのストレージへのサービスエンドポイントを設ける際に、ポリシーを設定してみる内容を記事にしてみました。
既存の環境に、後から設定するケースを考えてみました。
この記事がどなたかのお役に立ちましたら幸いです。
Discussion