次の方法で共有


ユーザーマネージド ID を使用して新しいネットワークで保護された環境を作成する

Azure AI Foundry Agent Service では、 プライベート ネットワーク環境のセットアップを使用した Standard セットアップ が提供され、独自の (BYO) プライベート仮想ネットワークを使用できます。 このセットアップにより、ネットワーク インフラストラクチャを完全に制御しながら、データに安全にアクセスし、アクションを実行できる分離されたネットワーク環境が作成されます。 このガイドでは、セットアップ プロセスの詳細なチュートリアルを提供し、必要なすべての要件について説明します。

セキュリティ機能

既定では、プライベート ネットワーク分離を使用した標準セットアップでは、以下が保証されます。

  • パブリック エグレスなし: 基本インフラストラクチャにより、信頼されたサービス バイパスを行わなくても、エージェントとツールに適切な認証とセキュリティが確保されます。

  • コンテナーの挿入: プラットフォーム ネットワークで API をホストし、サブネットをネットワークに挿入し、同じ仮想ネットワーク内で Azure リソースのローカル通信を可能にします。

  • プライベート リソース アクセス: リソースがプライベートとしてマークされ、インターネットから検出できない場合、必要な資格情報と承認が設定されていれば、プラットフォーム ネットワークは引き続きそれらにアクセスできます。

既存の仮想ネットワークがないお客様の場合、プライベート ネットワークを使用した Standard セットアップ テンプレートは、必要なネットワーク インフラストラクチャを自動的にプロビジョニングすることでデプロイを簡略化します。

アーキテクチャ図

仮想ネットワーク アーキテクチャを示す図。

既知の制限事項

  • サブネット IP アドレスの制限: クラス B と C のみがサポートされます
  • Azure Blob Storage: ファイル検索ツールでの Azure Blob Storage ファイルの使用はサポートされていません。

[前提条件]

  • Azure サブスクリプション。無料で作成できます

  • アカウントとプロジェクトを作成する個々のユーザーが、サブスクリプション スコープで Azure AI アカウント所有者 ロールを持っていることを確認します

  • テンプレートをデプロイするユーザーには、必要なリソース (Cosmos DB、検索、ストレージ) にロールを割り当てるアクセス許可も必要です。

    • 必要な組み込みロールは 、ロール ベースのアクセス管理者です。
    • または、サブスクリプション レベルで 所有者 ロールを持つことも、この要件を満たします。
    • 必要な主なアクセス許可は次のとおりです。 Microsoft.Authorization/roleAssignments/write
  • Python 3.8 以降

  • エージェント環境が構成されたら、Agent Playground または SDK を使用してエージェントを作成または編集する各チーム メンバーに、プロジェクトの組み込みの Azure AI ユーザーRBAC ロール が割り当てられていることを確認します。

    • 必要なアクセス許可の最小セットは、agents/*/readagents/*/actionagents/*/deleteです。
  • プロバイダーを登録します。 次のプロバイダーを登録する必要があります。

    • Microsoft.KeyVault
    • Microsoft.CognitiveServices
    • Microsoft.Storage
    • Microsoft.MachineLearningServices
    • Microsoft.Search
    • Microsoft.Network
    • Microsoft.App
    • Microsoft.ContainerService
    • Bing検索ツールを使用するには: Microsoft.Bing
       az provider register --namespace 'Microsoft.KeyVault'
       az provider register --namespace 'Microsoft.CognitiveServices'
       az provider register --namespace 'Microsoft.Storage'
       az provider register --namespace 'Microsoft.MachineLearningServices'
       az provider register --namespace 'Microsoft.Search'
       # only to use Grounding with Bing Search tool
       az provider register --namespace 'Microsoft.Bing'
    

ネットワークで保護された新しい環境を構成する

ネットワークで保護されたセットアップ: エージェントは、顧客所有のシングルテナント検索およびストレージ リソースを使用します。 このセットアップでは、これらのリソースの完全な制御と可視化が可能ですが、使用量に基づいたコストをお客様が負担することになります。 次の bicep テンプレートは次の機能を提供します。

  • アカウントとプロジェクトが作成されます。
  • gpt-4o モデルがデプロイされます。
  • 顧客データを格納するための Azure リソース (Azure Storage、Azure Cosmos DB、Azure AI Search) は、既存のリソースが提供されていない場合に自動的に作成されます。
  • これらのリソースは、ファイル、スレッド、ベクター データを格納するためにプロジェクトに接続されます。
  • Microsoft が管理するキー コンテナーが既定で使われます。

Bicep テンプレートを手動で展開する

Bicep テンプレートを使用することは、Azure AI Foundry Agent Service のネットワークで保護された環境をデプロイする唯一の方法です。

  1. bicep テンプレートをデプロイしてカスタマイズするには、 GitHub からテンプレートをダウンロードします。 private-network-standard-agent-setup フォルダーから次をダウンロードします。

    1. main-create.bicep
    2. azuredeploy.parameters.json
    3. modules-network-secured folder
  2. Azure CLI から Azure サブスクリプションに対して認証するには、次のコマンドを使用します。

    az login
    
  3. リソース グループを作成します。

    az group create --name {my_resource_group} --location eastus
    

    作成したリソース グループの Azure AI 開発者ロールがあることを確認します。

  4. 前の手順で作成したリソース グループとテンプレート ファイル (private-network-standard-agent-setup) のいずれかを使用して、次のいずれかのコマンドを実行します。

    1. 既定のリソース名を使用するには、次のコマンドを実行します。

      az deployment group create --resource-group {my_resource_group} --template-file main-create.bicep
      
  5. CheckCapabilityHostReadiness.ps1 を実行し、コマンドを編集して、サブスクリプション ID、リソース グループ名、および新しくデプロイされた AI Services アカウントのリソース名を追加します。

    .\CheckCapabilityHostReadiness.ps1 -subscriptionId "<your-sub-id>" -resourcegroup "<new-rg-name>" -accountname "<your-aiservices-name>"
    

    PowerShell スクリプトを実行しない場合は、代わりにファイル CheckCapabilityHostReadiness.sh から bash スクリプトを実行できます。次の 2 つのコマンドを実行します。

    chmod +x CheckCapabilityHostReadiness.sh
    ./CheckCapabilityHostReadiness.sh "<your-sub-id>" "<new-rg-name>" "<your-aiservices-name>"
    
  6. main-project-caphost-create.bicep をデプロイする

    az deployment group create --resource-group <new-rg-name> --template-file main-project-caphost-create.bicep
    

    このスクリプトを実行した後、次の値を入力する必要があります。

    Please provide string value for 'accountName' (? for help): <your-account-name>
    Please provide string value for 'projectName' (? for help): <your-project-name>
    Please provide string value for 'aiSearchName' (? for help): <your-search-name>
    Please provide string value for 'azureStorageName' (? for help): <your-storage-name>
    Please provide string value for 'cosmosDBName' (? for help): <your-cosmosdb-name>
    

詳細については、 README を参照してください。

セキュリティで保護されたネットワークセットアップを使用して Foundry リソースと Standard Agent を削除する場合は、最後に AI Foundry リソースと仮想ネットワークを削除します。 仮想ネットワークを削除する前に、必ず AI Foundry リソースを削除して消去してください。 [ 削除されたリソースの管理] に移動し、削除するサブスクリプションと Foundry リソースを選択します。

プライベート ネットワーク テンプレートを使用した Deep Dive Standard セットアップ

プライベート ネットワーク エージェント テンプレートを使用した Standard Setup の場合、独自に提供しない限り、次のものが自動的にプロビジョニングされます。

ネットワーク インフラストラクチャ

  • 仮想ネットワーク (192.168.0.0/16) が作成される
  • エージェント サブネット (192.168.0.0/24): エージェント クライアントをホストする
  • プライベート エンドポイント サブネット (192.168.1.0/24): プライベート エンドポイントをホストします

プライベート DNS ゾーン 次の DNS ゾーンが構成されています。

  • privatelink.blob.core.windows.net
  • privatelink.cognitiveservices.azure.com
  • privatelink.documents.azure.com
  • privatelink.file.core.windows.net
  • privatelink.openai.azure.com(このURLはOpenAIのAzureプラットフォームを指しています)
  • privatelink.search.windows.net
  • privatelink.services.ai.azure.com

仮想ネットワーク (Vnet) の機能

仮想ネットワークを使用すると、リソースに対して API 呼び出しを行うことができるエンドポイントを指定できます。 Azure サービスは、定義されたネットワーク外のデバイスからの API 呼び出しを自動的に拒否します。 許可されるネットワークは、数式ベースの定義を使用するか、許可されるエンドポイントの完全な一覧を作成して確立できます。 このセキュリティ層は、保護を強化するための他のセキュリティ対策と組み合わせることができます。

ネットワーク ルール

すべてのアカウントとそれに対応するプロジェクトは、既定で 拒否ネットワーク規則で保護され、プライベート エンドポイント経由のアクセスを許可するための明示的な構成が必要です。

これらの規則は、REST や WebSocket を含むすべての プロトコルに適用されます。 Azure portal のテスト コンソールなどの内部テスト ツールでも、アカウントとその子リソースにアクセスするための明示的なアクセス許可が必要であり、すべてのエージェント プロジェクトで完全なセキュリティが確保されます。

プライベート エンドポイント

エージェントの場合、プライベート エンドポイントは、次の Azure リソースのセキュリティで保護された内部専用接続を保証します。

  • Azure AI Foundry
  • Azure AI Search
  • Azure Storage
  • Azure Cosmos DB (アジュール コスモス データベース)

DNS ゾーン構成の概要

Private Link リソースの種類 サブ リソース プライベート DNS ゾーン名 パブリック DNS ゾーン フォワーダー
Azure AI Foundry account privatelink.cognitiveservices.azure.com
privatelink.openai.azure.com
privatelink.services.ai.azure.com
cognitiveservices.azure.com
openai.azure.com
services.ai.azure.com
Azure AI Search 検索サービス privatelink.search.windows.net search.windows.net
Azure Cosmos DB SQL (構造化クエリ言語) privatelink.documents.azure.com documents.azure.com
Azure ストレージ ブロブ privatelink.blob.core.windows.net blob.core.windows.net

DNS サーバーで Azure DNS 仮想サーバーへの条件付きフォワーダーを作成するには、上記の表で説明したゾーンの一覧を使用します。 Azure DNS 仮想サーバーの IP アドレスは 168.63.129.16 です。

セキュリティで保護されたエージェントにアクセスする

テンプレートのデプロイが完了したら、次のいずれかの方法を使用して、仮想ネットワークの背後にある Foundry プロジェクトにアクセスできます。

  • Azure VPN Gateway: プライベート接続経由でオンプレミス ネットワークを仮想ネットワークに接続します。 接続は、パブリック インターネットを介して行われます。 使用できる VPN ゲートウェイには、次の 2 種類があります。
    • ポイント対サイト: 各クライアント コンピューターは、VPN クライアントを使用して仮想ネットワークに接続します。
    • サイト間: VPN デバイスにより、仮想ネットワークがオンプレミス ネットワークに接続されます。
  • ExpressRoute: プライベート接続を介して、オンプレミスネットワークをクラウドに接続します。 接続は、接続プロバイダーを使用して行われます。
  • Azure Bastion: このシナリオでは、仮想ネットワーク内に Azure 仮想マシン (ジャンプ ボックスとも呼ばれます) を作成します。 次に、Azure Bastion を使用して VM に接続します。 Bastion を使用すると、ローカル Web ブラウザーから RDP または SSH セッションを使用して VM に接続できます。 続いて、開発環境としてジャンプ ボックスを使用します。 これは仮想ネットワーク内にあるため、ワークスペースに直接アクセスできます。

概要

Standard Agent セットアップ用のプライベート ネットワーク では、エンタープライズ レベルの分離と制御が提供されます。

  • ✅ すべての受信トラフィックと送信トラフィックは、パブリック インターネットからの分離を維持します
  • ✅ すべての顧客データをセキュリティで保護する専用プライベート エンドポイント
  • ✅ シームレスな内部アクセスのための自動プライベート DNS 解決
  • ✅ セキュリティを最大限に高める既定の厳密な拒否ネットワーク規則

このセットアップにより、AI エージェントは、専用の分離された仮想ネットワーク内で完全に動作できます。 プライベート ネットワーク分離 (BYO VNet) を利用することで、組織はカスタム セキュリティ ポリシーを適用し、AI エージェントが信頼できるインフラストラクチャ内で動作することを保証できます。

私たちの目標は、重要なセキュリティ要件を損なうことなく、AI エージェントの開発とデプロイを高速化することです。 bicep と ARM テンプレートを使用すると、エージェント環境を迅速に設定しながら、ネットワークとデータを完全に制御できます。

次は何ですか?

これでネットワーク セキュリティで保護されたアカウントとプロジェクトが正常に構成されました。 クイック スタート を使用して最初のエージェントを作成します。