Important
この記事で "(プレビュー)" と付記されている項目は、現在、パブリック プレビュー段階です。 このプレビューはサービス レベル アグリーメントなしで提供されており、運用環境ではお勧めしません。 特定の機能はサポート対象ではなく、機能が制限されることがあります。 詳細については、「 Microsoft Azure プレビューの追加使用条件」を参照してください。
この記事では、Azure AI Foundry ポータルで新しい接続を追加する方法について説明します。
接続は、Azure AI Foundry プロジェクト内で Microsoft とその他のリソースの両方を認証し使用するための 1 つの手段です。 これらは、Standard エージェントの構築やエージェントナレッジ ツールを使用した構築などのシナリオに必要です。
接続の種類
Azure AI Foundry ポータルで利用可能な接続の種類のいくつかを次の表に示します。 [プレビュー] 列は、現在プレビュー段階にある接続の種類を表しています。
サービス接続の種類 | Preview | Description |
---|---|---|
Azure AI 検索 | Azure AI Search は、検索インデックスに保存されているベクター データとテキスト データに対する情報取得をサポートする Azure リソースです。 | |
Azure Storage | Azure Storage は、ドキュメント、画像、ビデオ、アプリケーション インストーラーなどの非構造化データを格納するためのクラウド ストレージ ソリューションです。 | |
Azure Data Lake Storage Gen 2 | Azure Data Lake Storage Gen2 は、Azure Storage 上に構築されたビッグ データ分析専用の一連の機能です。 | |
Azure コンテンツ安全 | Azure AI Content Safety は、テキスト、画像、動画内の安全でない可能性のあるコンテンツを検出するサービスです。 | |
Azure OpenAI | Azure OpenAI は、GPT-4o、GPT-4o mini、GPT-4、GPT-4 Turbo with Vision、GPT-3.5-Turbo、DALLE-3、Embeddings モデル シリーズなどの OpenAI のモデルへのアクセスを、Azure のセキュリティとエンタープライズ機能と合わせて提供するサービスです。 | |
サーバーレス モデル | ✅ | サーバーレス モデル接続を使用すると、サーバーレス API デプロイを行うことができます。 |
Microsoft OneLake | Microsoft OneLake は、Azure Datalake Storage (ADLS) Gen2 API と SDK を通して、すべての Fabric アイテムに対するオープン アクセスを提供します。 Azure AI Foundry ポータルでは、OneLake URI を使用して OneLake データへの接続を設定できます。 Azure AI Foundry で OneLake Artifact URL を構築するために必要な情報 (ワークスペースと項目の GUID) は、Fabric ポータルの URL で確認できます。 URI 構文の詳細については、「Microsoft OneLake への接続」を参照してください。 |
|
API キー | API キー接続では、指定したターゲットへの認証が個別に処理されます。 | |
Custom | カスタム接続を使用すると、ターゲットやバージョンなどの関連プロパティを格納しながら、キーの安全な格納とアクセスが可能になります。 カスタム接続は、多くのターゲットがある場合や、アクセスするために資格情報が必要ない場合に便利です。 LangChain シナリオは、カスタム サービス接続を使用する例です。 カスタム接続では認証は管理されないため、独自に認証を管理する必要があります。 |
サービス接続の種類 | Preview | Standard エージェントのデプロイに必要 | Description |
---|---|---|---|
Azure AI 検索 | ✅ | Azure AI Search は、検索インデックスに保存されているベクター データとテキスト データに対する情報取得をサポートする Azure リソースです。 | |
Azure Storage | ✅ | Azure Storage は、ドキュメント、画像、ビデオ、アプリケーション インストーラーなどの非構造化データを格納するためのクラウド ストレージ ソリューションです。 | |
Azure Cosmos DB | ✅ | ✅ | Azure Cosmos DB は、複数の地理的リージョンにわたって低待機時間、高可用性、スケーラビリティを提供する、グローバルに分散されたマルチモデル データベース サービスです。 |
Azure OpenAI | Azure OpenAI は、Azure のセキュリティ機能とエンタープライズ機能を備えた GPT-4o、GPT-4o mini、GPT-4、GPT-4 Turbo with Vision、GPT-3.5-Turbo、DALLE-3、Embeddings モデル シリーズを含む OpenAI のモデルへのアクセスを提供するサービスです。 | ||
Application Insights | Azure Application Insights は Azure Monitor 内のサービスであり、開発者と DevOps チームは、強力なテレメトリと分析ツールを使用して、パフォーマンスの異常を自動的に検出し、問題を診断し、アプリケーションの使用状況と動作に関する詳細な分析情報を得ることができます。 | ||
API キー | API キー接続では、指定したターゲットへの認証が個別に処理されます。 | ||
Custom | カスタム接続を使用すると、ターゲットやバージョンなどの関連プロパティを格納しながら、キーの安全な格納とアクセスが可能になります。 カスタム接続は、多数のターゲットがある場合や、アクセスに資格情報が必要ない場合に便利です。 LangChain のシナリオは、カスタム サービス接続を使用する良い例です。 カスタム接続では認証は管理されないため、独自に認証を管理する必要があります。 | ||
サーバーレス モデル | ✅ | サーバーレス モデル接続を使用すると、サーバーレス API のデプロイを行うことができます。 | |
Azure Databricks | ✅ | Azure Databricks コネクタを使用すると、Azure AI Foundry Agents を Azure Databricks に接続して、実行時にワークフローと Genie Spaces にアクセスできます。 ジョブ、Genie、およびその他の 3 種類の接続がサポートされています。 Foundry UI で接続を設定するときに、この接続に関連付けたいジョブまたは Genie 領域を選択できます。 その他の接続の種類を使用して、エージェントが Azure Databricks のワークスペース操作にアクセスできるようにすることもできます。 認証は、ユーザーまたはサービス プリンシパルの Microsoft Entra ID によって処理されます。 このコネクタの使用例については、「ジョブと Genie」を参照してください。 注: この接続の使用は、コード内の Foundry SDK 経由でのみ使用でき、FunctionTool としてエージェントに統合されます (詳細については、上記のサンプルを参照してください)。 AI Foundry Playground でのこの接続の使用は現在サポートされていません。 | |
Azure Key Vault | ✅ | シークレットを安全に格納およびアクセスするための Azure サービス。 AI Foundry は、Key Vault 接続が作成されていない場合、マネージド Azure Key Vault に接続の詳細を格納します。 自分でシークレットを管理することを好むユーザーは、接続を介して独自の Azure Key Vault を使用できます。 ( 制限事項を参照) |
エージェント ナレッジ ツールの接続
AI エージェントが自信を持って十分な情報に基づいた意思決定を行えるようにするために、知識は、正確で根拠のある応答を生成するための基盤として機能します。 エージェントを構築するための次のナレッジ ツールへの接続がサポートされています。 Azure AI Foundry を使用して、次のナレッジ ツールへの接続を作成できます。
- Microsoft Fabric
- Bing検索による基礎固め
- Bingカスタム検索を利用した基盤作り
- Azure AI サーチ
エージェントナレッジツールの詳細については、 ナレッジツールの概要を参照してください。
Azure Key Vault の制限事項
すべての Azure AI Foundry プロジェクトでは、サブスクリプションに表示されないマネージド Azure Key Vault が使用されます。 独自の Azure Key Vault を使用する企業のお客様は、次の制限事項を考慮する必要があります。
- 特定の時点で、AI Foundry リソースごとに 1 つの Azure Key Vault 接続が許可されます
- Azure Key Vault 接続の削除は、Foundry リソース レベルまたはプロジェクト レベルに他の既存の接続がない場合にのみ許可されます。
- AI Foundry では、シークレットの移行はサポートされていません。 Key Vault を接続した後、接続を削除して再作成する必要があります。
- 基になる Azure Key Vault を削除すると、AI Foundry リソースが中断されます。 Key Vault には接続が格納されるため、接続に依存するすべての Foundry 機能が壊れます。
- BYO Azure Key Vault に格納されている Foundry リソースの基になる接続シークレットを削除すると、他のサービスへの接続が切断される可能性があります。
Azure AI Foundry ポータルで新しい接続を作成する
Tip
Azure AI Foundry ポータルで 左側のウィンドウをカスタマイズ できるため、これらの手順に示されている項目とは異なる項目が表示される場合があります。 探しているものが表示されない場合は、左側のペインの下部にある… もっと見るを選択してください。
現在のプロジェクトでのみ使用できる新しい接続を作成するには、以下の手順に従います。
Azure AI Foundry ポータルでプロジェクトに移動します。 プロジェクトがない場合は、新しいプロジェクトを作成します。
左下のナビゲーションで [管理センター] を選択します。
[プロジェクト] セクションから [接続されたリソース] を選択します。
[接続されたリソース] セクションから [+ 新しい接続] を選択します。
使用可能な外部リソースの一覧から、接続先のサービスを選択します。 たとえば、[Azure AI 検索] を選択します。
使用可能なサービスの一覧から Azure AI 検索サービスを参照して選択し、リソースに使用する認証の種類を選択します。 [接続の追加] を選択します。
Tip
接続の種類によって、サポートされる認証方法は異なります。 Microsoft Entra ID を使用する場合は、開発者に、特定の Azure ロールベースのアクセス許可が必要になる場合があります。 詳細については、ロールベースのアクセス制御に関するページを参照してください。
サービスが接続されたら、[ 閉じる] を選択します。
Azure Machine Learning SDK を使用して新しい接続を作成する
環境を設定する
パッケージをインストールします。 (ノートブック セル内の場合は、代わりに
%pip install
を使用してください)。pip install azure-ai-ml pip install azure-identity
サブスクリプションの詳細を指定します。
# Enter details of your subscription subscription_id = "<SUBSCRIPTION_ID>" resource_group = "<RESOURCE_GROUP>"
サブスクリプションへのハンドルを取得します。 この記事のすべての Python コードで
ml_client
が使用されています。# get a handle to the subscription from azure.ai.ml import MLClient from azure.identity import DefaultAzureCredential ml_client = MLClient(DefaultAzureCredential(), subscription_id, resource_group)
(省略可能) 複数のアカウントがある場合は、使う Microsoft Entra ID のテナント ID を
DefaultAzureCredential
に追加します。 Azure portal で、[Microsoft Entra ID] の [外部 ID] からテナント ID を見つけます。DefaultAzureCredential(interactive_browser_tenant_id="<TENANT_ID>")
(省略可能) Azure Government - US または Azure China 21Vianet リージョン内で作業している場合は、認証するリージョンを指定します。
DefaultAzureCredential
を使用してそのリージョンを指定できます。 次の例では、Azure Government - US リージョンに対して認証を行います。from azure.identity import AzureAuthorityHosts DefaultAzureCredential(authority=AzureAuthorityHosts.AZURE_GOVERNMENT)
Microsoft Entra ID を使用した認証
異なる接続の種類のために、さまざまな認証方法があります。 Microsoft Entra ID を使うときは、接続の作成に加えて、接続を使う前に、Azure ロールベースのアクセス制御のアクセス許可を付与することも必要な場合があります。 詳細については、ロールベースのアクセス制御に関するページを参照してください。
Important
Microsoft Entra 認証と Azure リソースのマネージド ID を併用して、クラウドで実行されるアプリケーションに資格情報を格納しないようにすることをお勧めします。
API キーは慎重に使用してください。 API キーは、コード内に直接含めないようにし、絶対に公開しないでください。 API キーを使用する場合は、Azure Key Vault に安全に格納し、キーを定期的にローテーションし、ロールベースのアクセス制御とネットワーク アクセス制限を使用して Azure Key Vault へのアクセスを制限してください。 アプリで API キーを安全に使用する方法の詳細については、Azure Key Vault を使用した API キーに関する記事を参照してください。
AI サービスのセキュリティの詳細については、「 Azure AI サービスへの要求を認証する」を参照してください。
モデルとサービスの接続
次の例では、 AzureOpenAIConnection クラスを使用して、Azure AI Foundry Models 接続で Azure OpenAI を作成します。
Tip
1 つの接続で Azure OpenAI とより多くの AI サービスに接続するには、代わりに AI サービス接続を使用できます。
from azure.ai.ml.entities import AzureOpenAIConnection
name = "XXXXXXXXX"
target = "https://XXXXXXXXX.cognitiveservices.azure.com/"
resource_id= "Azure-resource-id"
# Microsoft Entra ID
credentials = None
wps_connection = AzureOpenAIConnection(
name=name,
azure_endpoint=target,
credentials=credentials,
resource_id = resource_id,
is_shared=False
)
ml_client.connections.create_or_update(wps_connection)
データとストレージの接続
次の例では、 AzureBlobStoreConnection クラスを使用して Azure Blob Storage 接続を作成します。 この接続は、アカウント キーまたは SAS トークンを使用して認証されます。
from azure.ai.ml.entities import AzureBlobStoreConnection, SasTokenConfiguration,AccountKeyConfiguration
name = "my_blobstore"
url = "https://XXXXXXXXX.blob.core.windows.net/mycontainer/"
wps_connection = AzureBlobStoreConnection(
name=name,
container_name="XXXXXXXXX",
account_name="XXXXXXXXX",
url=url,
#credentials=None
credentials=SasTokenConfiguration(sas_token="XXXXXXXXX")
#credentials=AccountKeyConfiguration(account_key="XXXXXXXXX")
)
ml_client.connections.create_or_update(wps_connection)
その他の接続
次の例では、 SerpConnection クラスを使用します。
from azure.ai.ml.entities import SerpConnection
name = "my_serp_apk"
api_key = "XXXXXXXXX"
wps_connection = SerpConnection(
name=name,
api_key=api_key,
)
ml_client.connections.create_or_update(wps_connection)
接続の一覧表示
すべての接続を一覧表示するには、次の例を使用します。
from azure.ai.ml.entities import Connection, AzureOpenAIConnection, ApiKeyConfiguration
connection_list = ml_client.connections.list()
for conn in connection_list:
print(conn)
接続の削除
接続を削除するには、次の例を使用します。
name = "my-connection"
ml_client.connections.delete(name)
ネットワークの分離
ハブがネットワーク分離用に構成されている場合は、Azure Blob Storage、Azure Data Lake Storage Gen2、または Microsoft OneLake に接続するアウトバウンド プライベート エンドポイント規則を作成することが必要になる場合があります。 次のいずれかまたは両方に該当する場合は、プライベート エンドポイント規則が必要です。
- ハブのマネージド ネットワークが、承認されたアウトバウンド トラフィックのみを許可するように構成されている。 この構成では、他の Azure リソースへのトラフィックを許可するアウトバウンド規則を明示的に作成する必要があります。
- データ ソースが、パブリック アクセスを禁止するように構成されている。 この構成では、プライベート エンドポイントなど、安全な方法でのみデータ ソースにアクセスできます。
データ ソースへのアウトバウンド プライベート エンドポイント規則を作成するには、次の手順を使用します。
Azure portal にサインインし、Azure AI Foundry ハブを選択します。
[ネットワーク] を選択してから、[ワークスペースで管理されるアウトバウンド アクセス] を選びます。
アウトバウンド規則を追加するには、[ユーザー定義のアウトバウンド規則の追加] を選択します。 [ワークスペース アウトバウンド規則] サイドバーから、次の情報を指定します。
- 規則名: 規則の名前。 名前は、Azure AI Foundry ハブで一意である必要があります。
- 宛先の種類: プライベート エンドポイント。
- サブスクリプション: 接続先の Azure リソースを含むサブスクリプション。
-
リソースの種類:
Microsoft.Storage/storageAccounts
。 このリソース プロバイダーは、Azure Storage、Azure Data Lake Storage Gen2、および Microsoft OneLake に使用されます。 - リソース名: Azure リソース (ストレージ アカウント) の名前。
-
サブ リソース: Azure リソースのサブ リソース。 Azure Blob Storage を使用している場合は、
blob
を選択します。 Azure Data Lake Storage Gen2 と Microsoft OneLake の場合は、dfs
を選択します。
[保存] を選択して規則を作成します。
ページの上部にある [保存] を選択して、マネージド ネットワーク構成への変更を保存します。
AI Foundry によるエンド ツー エンドの ネットワーク分離 を実現するには、接続されているリソースに接続するためのプライベート エンドポイントが必要です。 たとえば、Azure Storage アカウントが [ 無効] としてパブリック ネットワーク アクセスに設定されている場合、Azure AI Foundry でアクセスするには、仮想ネットワークにプライベート エンドポイントをデプロイする必要があります。
接続されているリソースにプライベート エンドポイントを設定する方法の詳細については、次のドキュメントを参照してください。
プライベート リソース | Documentation |
---|---|
Azure Storage | プライベート エンドポイントを使用する |
Azure Cosmos DB | Azure Cosmos DB 用に Azure Private Link を構成する |
Azure AI 検索 | セキュリティで保護された接続用のプライベート エンドポイントを作成する |
Azure OpenAI | プライベート エンドポイントを使用した仮想ネットワーク内での Azure OpenAI のセキュリティ保護 |
Application Insights | Azure Private Link を使用して、ネットワークを Azure Monitor に接続する |