次の方法で共有


サービス エンドポイント ポリシーを作成して関連付ける

サービス エンドポイント ポリシーを使用すると、サービス エンドポイントを経由する特定の Azure リソースへの仮想ネットワーク トラフィックをフィルター処理できます。 サービス エンドポイント ポリシーをよく理解していない場合は、サービス エンドポイント ポリシーの概要に関するページを参照してください。

このチュートリアルでは、次の作業を行う方法について説明します。

  • 仮想ネットワークを作成します。
  • サブネットを追加し、Azure Storage に対してサービス エンドポイントを有効にします。
  • 2 つの Azure ストレージ アカウントを作成し、仮想ネットワーク内のサブネットからそれへのネットワーク アクセスを許可します。
  • いずれかのストレージ アカウントへのアクセスのみを許可するサービス エンドポイント ポリシーを作成します。
  • サブネットに仮想マシン (VM) をデプロイします。
  • サブネットから許可されているストレージ アカウントへのアクセスを確認します。
  • サブネットから許可されていないストレージ アカウントへのアクセスが拒否されることを確認します。

前提条件

仮想ネットワークを作成し、サービス エンドポイントを有効にする

このチュートリアルで作成するリソースを入れる仮想ネットワークを作成します。

  1. ポータルの検索ボックスに、「仮想ネットワーク」と入力します。 検索結果で、[仮想ネットワーク] を選択します。

  2. [+ 作成] を選んで、新しい仮想ネットワーク を作成します。

  3. [仮想ネットワークの作成][基本] タブで、次の情報を入力するか選びます。

    設定
    プロジェクトの詳細
    サブスクリプション サブスクリプションを選択します。
    Resource group [新規作成] を選択します。
    [名前] に「test-rg」と入力します。

    を選択します。
    Name vnet-1」と入力します。
    リージョン [米国西部 2] を選択します。
  4. [次へ] を選択します。

  5. [次へ] を選択します。

  6. [IP アドレス] タブの [サブネット] で、既定のサブネットを選びます。

  7. [サブネットの編集] で次の情報を入力するか選びます。

    設定
    名前 subnet-1」と入力します。
    サービス エンドポイント
    サービス
    プルダウン メニューで、[Microsoft.Storage] を選びます。
  8. [保存] を選択します。

  9. [確認および作成] を選択します。

  10. [作成] を選択します

サブネットのネットワーク アクセスを制限する

サブネットのネットワーク アクセスを制限するネットワーク セキュリティ グループと規則を作成します。

ネットワーク セキュリティ グループの作成

  1. ポータルの検索ボックスに、「ネットワーク セキュリティ グループ」と入力します。 検索結果から [ネットワーク セキュリティ グループ] を選択します。

  2. [+ 作成] を選んで、新しいネットワーク セキュリティ グループを作成します。

  3. [ネットワーク セキュリティ グループの作成][基本] タブで、次の情報を入力するか選びます。

    設定
    プロジェクトの詳細
    サブスクリプション サブスクリプションを選択します。
    Resource group test-rg を選択します。
    Name nsg-1」と入力します。
    リージョン [米国西部 2] を選択します。
  4. [確認および作成] を選択します。

  5. [作成] を選択します

ネットワーク セキュリティ グループ規則を作成する

  1. ポータルの検索ボックスに、「ネットワーク セキュリティ グループ」と入力します。 検索結果から [ネットワーク セキュリティ グループ] を選択します。

  2. [nsg-1] を選択します。

  3. 設定を展開します。 [送信セキュリティ規則] を選びます。

  4. [+ 追加] を選んで、新しい送信セキュリティ規則を追加します。

  5. [送信セキュリティ規則の追加] で、次の情報を入力または選択します。

    設定
    source [Service Tag](サービス タグ) を選択します。
    発信元サービス タグ [VirtualNetwork] を選択します。
    ソース ポート範囲 *」と入力します。
    宛先 [Service Tag](サービス タグ) を選択します。
    宛先サービス タグ [ストレージ] を選択します。
    サービス [カスタム] を選択します。
    宛先ポート範囲 *」と入力します。
    Protocol [任意] をクリックします。
    アクション [許可] を選択します。
    優先度 100」と入力します。
    Name allow-storage-all」と入力します。
  6. [追加] を選択します。

  7. [+ 追加] を選んで、別の送信セキュリティ規則を追加します。

  8. [送信セキュリティ規則の追加] で、次の情報を入力または選択します。

    設定
    source [Service Tag](サービス タグ) を選択します。
    発信元サービス タグ [VirtualNetwork] を選択します。
    ソース ポート範囲 *」と入力します。
    宛先 [Service Tag](サービス タグ) を選択します。
    宛先サービス タグ [インターネット] を選択します。
    サービス [カスタム] を選択します。
    宛先ポート範囲 *」と入力します。
    Protocol [任意] をクリックします。
    アクション [拒否] を選択します。
    優先順位 110」と入力します。
    Name deny-internet-all」と入力します
  9. [追加] を選択します。

  10. 設定を展開します。 [サブネット] を選択します。

  11. [関連付け] を選択します。

  12. [サブネットの関連付け] で、次の情報を入力するか選びます。

    設定
    仮想ネットワーク vnet-1 (test-rg) を選択します。
    Subnet subnet-1 を選択します。
  13. [OK] を選択します。

Azure Storage アカウントに対するネットワーク アクセスを制限する

サービス エンドポイントを有効にした Azure サービスを介して作成されたリソースへのネットワーク アクセスを制限するために必要な手順は、サービスによって異なります。 各サービスの具体的な手順については、それぞれのサービスのドキュメントをご覧ください。 この記事の残りの部分では、例として、Azure ストレージ アカウントのネットワーク アクセスを制限する手順を示します。

ストレージ アカウントを 2 つ作成する

  1. ポータルの検索ボックスに、「ストレージ アカウント」と入力します。 検索結果で [ストレージ アカウント] を選択します。

  2. [+ 作成] を選んで、新しいストレージ アカウントを作成します。

  3. [ストレージ アカウントの作成] で、次の情報を入力するか選びます。

    設定
    プロジェクトの詳細
    サブスクリプション サブスクリプションを選択します。
    Resource group test-rg を選択します。
    インスタンスの詳細
    ストレージ アカウント名 allowedaccount<ランダムな数字>」と入力します。
    注: ストレージ アカウント名は一意である必要があります。名前の末尾にランダムな数字を追加します。allowedaccount
    リージョン [米国西部 2] を選択します。
    パフォーマンス [Standard] を選択します。
    冗長性 [ローカル冗長ストレージ (LRS)] を選択します。
  4. [データ保護] タブになるまで、[次へ] を選びます。

  5. [回復] で、すべてのオプションの選択を解除します。

  6. [確認および作成] を選択します。

  7. [作成] を選択します

  8. 以上の手順を繰り返し、次の情報を使って別のストレージ アカウントを作成します。

    設定
    ストレージ アカウント名 deniedaccount<ランダムな数字>」と入力します。

ファイル共有の作成

  1. ポータルの検索ボックスに、「ストレージ アカウント」と入力します。 検索結果で [ストレージ アカウント] を選択します。

  2. allowedaccount<ランダムな数字> を選びます。

  3. [データ ストレージ] セクションを展開して、[ファイル共有] を選びます。

  4. [+ ファイル共有] を選択します。

  5. [新しいファイル共有] で、次の情報を入力するか選びます。

    設定
    名前 file-share」と入力します。
  6. 残りの設定は既定値のままにして、[確認と作成] を選びます。

  7. [作成] を選択します

  8. 前の手順を繰り返し、deniedaccount<ランダムな数字> にファイル共有を作成します。

ストレージ アカウントへのすべてのネットワーク アクセスを拒否する

既定では、ストレージ アカウントは、任意のネットワーク上のクライアントからのネットワーク接続を受け入れます。 ストレージ アカウントへのネットワーク アクセスを制限するには、特定のネットワークからの接続のみを受け入れるように、ストレージ アカウントを構成できます。 この例では、前に作成した仮想ネットワーク サブネットからの接続のみを受け入れるように、ストレージ アカウントを構成します。

  1. ポータルの検索ボックスに、「ストレージ アカウント」と入力します。 検索結果で [ストレージ アカウント] を選択します。

  2. allowedaccount<ランダムな数字> を選びます。

  3. [セキュリティとネットワーク] を展開して、[ネットワーク] を選びます。

  4. [ファイアウォールと仮想ネットワーク][パブリック ネットワーク アクセス] で、[選択した仮想ネットワークと IP アドレスから有効] をオンにします。

  5. [仮想ネットワーク] で、[+ 既存の仮想ネットワークを追加] を選択します。

  6. [ネットワークの追加] で、次の情報を入力するか選びます。

    設定
    サブスクリプション サブスクリプションを選択します。
    仮想ネットワーク [vnet-1] を選択します。
    サブネット subnet-1 を選択します。
  7. [追加] を選択します。

  8. [保存] を選択します。

  9. 前の手順を繰り返し、deniedaccount<ランダムな数字> へのネットワーク アクセスを拒否します。

有効なストレージ アカウントへのアクセスを許可するポリシーを適用する

サービス エンドポイント ポリシーを作成できます。 このポリシーは、仮想ネットワーク内のユーザーが安全で許可された Azure ストレージ アカウントのみにアクセスできるようにします。 このポリシーには、サービス エンドポイント経由でストレージに接続されている仮想ネットワーク サブネットに適用される、許可されるストレージ アカウントの一覧が含まれます。

サービス エンドポイント ポリシーを作成する

このセクションでは、サービス エンドポイント経由でのアクセスに対して許可されるリソースの一覧を使って、ポリシー定義を作成します。

  1. ポータルの検索ボックスに、「サービス エンドポイント ポリシー」と入力します。 検索結果で [サービス エンドポイント ポリシー] を選びます。

  2. [+ 作成] を選んで、新しいサービス エンドポイント ポリシーを作成します。

  3. [サービス エンドポイント ポリシーの作成][基本] タブで、次の情報を入力するか選びます。

    設定
    プロジェクトの詳細
    サブスクリプション サブスクリプションを選択します。
    Resource group test-rg を選択します。
    インスタンスの詳細
    Name service-endpoint-policy」と入力します。
    場所 [米国西部 2] を選択します。
  4. [次へ: ポリシー定義] を選びます。

  5. [リソース][+ リソースの追加] を選びます。

  6. [リソースの追加] で、次の情報を入力するか選びます。

    設定
    サービス [Microsoft.Storage] を選びます。
    範囲 [単一のアカウント] を選びます
    サブスクリプション サブスクリプションを選択します。
    Resource group test-rg を選択します。
    リソース allowedaccount<ランダムな数字> を選びます
  7. [追加] を選択します。

  8. [確認および作成] を選択します。

  9. [作成] を選択します

サービス エンドポイント ポリシーをサブネットに関連付ける

サービス エンドポイント ポリシーを作成したら、それを Azure Storage 用のサービス エンドポイント構成を含むターゲット サブネットに関連付けます。

  1. ポータルの検索ボックスに、「サービス エンドポイント ポリシー」と入力します。 検索結果で [サービス エンドポイント ポリシー] を選びます。

  2. service-endpoint-policy を選びます。

  3. [設定] を展開して、[関連付けられているサブネット] を選びます。

  4. [+ サブネットの関連付けの編集] を選びます。

  5. [サブネットの関連付けの編集] で、vnet-1subnet-1 を選びます。

  6. 適用を選択します。

警告

指定されたサブネットにポリシーを関連付ける前に、サブネットからアクセスするすべてのリソースがポリシーの定義に追加されていることを確認します。 ポリシーが関連付けられると、許可されたリソースへのアクセスのみがサービス エンドポイントで許可されます。

サービス エンドポイント ポリシーに関連付けられているサブネットに、管理された Azure サービスが存在しないことを確認してください。

すべてのリージョンの Azure Storage リソースへのアクセスは、このサブネットのサービス エンドポイント ポリシーに従って制限されます。

Azure Storage アカウントへのアクセス制限を検証する

ストレージ アカウントへのネットワーク アクセスをテストするには、サブネットに VM をデプロイします。

仮想マシンをデプロイする

  1. ポータルの検索ボックスに、「仮想マシン」と入力します。 検索結果から [仮想マシン] を選択します。

  2. [仮想マシンの作成][基本] タブで、次の情報を入力または選択します。

    設定
    プロジェクトの詳細
    サブスクリプション サブスクリプションを選択します。
    Resource group test-rg を選択します。
    インスタンスの詳細
    仮想マシン名 vm-1」と入力します。
    リージョン [(米国) 米国西部 2] を選択します。
    可用性のオプション [インフラストラクチャ冗長は必要ありません] を選択します。
    セキュリティの種類 [Standard] を選択します。
    Image [Windows Server 2022 Datacenter - x64 Gen2] を選択します。
    サイズ サイズを選択します。
    管理者アカウント
    ユーザー名 ユーザー名を入力します。
    Password パスワードを入力します。
    パスワードの確認 パスワードをもう一度入力します。
    受信ポートの規則
  3. [次へ: ディスク] を選んでから、[次へ: ネットワーク] を選びます。

  4. [ネットワーク] タブで、次の情報を入力または選択します。

    設定
    ネットワーク インターフェイス
    仮想ネットワーク [vnet-1] を選択します。
    Subnet subnet-1 (10.0.0.0/24) を選択します。
    パブリック IP [なし] を選択します。
    NIC ネットワーク セキュリティ グループ [なし] を選択します。
  5. 残りの設定は既定値のままにして、[確認と作成] を選びます。

  6. [作成] を選択します

次の手順に進む前に、仮想マシンのデプロイが完了するまで待ちます。

"許可されている" ストレージ アカウントへのアクセスを確認する

  1. Azure portal にサインインします。

  2. ポータルの検索ボックスに、「ストレージ アカウント」と入力します。 検索結果で [ストレージ アカウント] を選択します。

  3. allowedaccount<ランダムな数字> を選びます。

  4. [セキュリティとネットワーク] を展開して、[アクセス キー] を選びます。

  5. key1 の値をコピーします。 このキーを使って、前に作成した仮想マシンからストレージ アカウントにドライブをマップします。

  6. ポータルの検索ボックスに、「仮想マシン」と入力します。 検索結果から [仮想マシン] を選択します。

  7. vm-1 を選択します。

  8. [操作] を展開します。 [コマンドの実行] を選びます。

  9. [RunPowerShellScript] を選択します。

  10. [実行コマンド スクリプト] に次のスクリプトを貼り付けます。

    ## 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
    
  11. [実行] を選択します。

  12. ドライブのマップが成功した場合、[出力] ボックスの出力は次の例のようになります。

    Name           Used (GB)     Free (GB) Provider      Root
    ----           ---------     --------- --------      ----
    Z                                      FileSystem    \\allowedaccount.file.core.windows.net\fil..
    

"拒否される" ストレージ アカウントへのアクセスが拒否されることを確認する

  1. ポータルの検索ボックスに、「ストレージ アカウント」と入力します。 検索結果で [ストレージ アカウント] を選択します。

  2. deniedaccount<ランダムな数字> を選びます。

  3. [セキュリティとネットワーク] を展開して、[アクセス キー] を選びます。

  4. key1 の値をコピーします。 このキーを使って、前に作成した仮想マシンからストレージ アカウントにドライブをマップします。

  5. ポータルの検索ボックスに、「仮想マシン」と入力します。 検索結果から [仮想マシン] を選択します。

  6. vm-1 を選択します。

  7. [操作] を展開します。 [コマンドの実行] を選びます。

  8. [RunPowerShellScript] を選択します。

  9. [実行コマンド スクリプト] に次のスクリプトを貼り付けます。

    ## Enter the storage account key for the denied storage account that you recorded earlier.
    $storageAcctKey2 = (pasted from procedure above)
    $acctKey = ConvertTo-SecureString -String $storageAcctKey2 -AsPlainText -Force
    ## Replace the login account with the name of the storage account you created.
    $credential = New-Object System.Management.Automation.PSCredential -ArgumentList ("Azure\deniedaccount"), $acctKey
    ## Replace the storage account name with the name of the storage account you created.
    New-PSDrive -Name Z -PSProvider FileSystem -Root "\\deniedaccount.file.core.windows.net\file-share" -Credential $credential
    
  10. [実行] を選択します。

  11. [出力] ボックスに次のエラー メッセージが表示されます。

    New-PSDrive : Access is denied
    At line:1 char:1
    + New-PSDrive -Name Z -PSProvider FileSystem -Root "\\deniedaccount8675 ...
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (Z:PSDriveInfo) [New-PSDrive], Win32Exception
    + FullyQualifiedErrorId : CouldNotMapNetworkDrive,Microsoft.PowerShell.Commands.NewPSDriveCommand
    
  12. ストレージ アカウントへのアクセスを制限するサービス エンドポイント ポリシーのために、ドライブのマップは拒否されます。

作成したリソースを使い終えたら、リソース グループとそのすべてのリソースを削除できます。

  1. Azure portal で、「リソース グループ」を検索して選択します。

  2. [リソース グループ] ページで、test-rg リソース グループを選択します。

  3. [test-rg] ページで、[リソース グループの削除] を選択します。

  4. [削除を確認するために、リソース グループの名前を入力してください] に「test-rg」と入力して、[削除] を選びます。

次のステップ

このチュートリアルでは、サービス エンドポイント ポリシーを作成し、それをサブネットに関連付けました。 サービス エンドポイント ポリシーの詳細については、サービス エンドポイント ポリシーの概要に関するページを参照してください。