この記事では、Foundry Agent Service によって呼び出されたときに App Service OpenAPI エンドポイントをセキュリティで保護する方法について説明します。 App Service アプリを Microsoft Foundry の OpenAPI ツールとして追加する場合は、認証なしで API を匿名で呼び出すように構成できます。これは、開発とテストが容易になります。 ただし、運用環境では、マネージド ID で Microsoft Entra 認証を使用する必要があります。 このガイドでは、Microsoft Foundry とアプリの間でセキュリティで保護されたトークンベースの通信を有効にするようにマネージド ID 認証を構成する手順について説明します。
[前提条件]
OpenAPI エンドポイントを持つ App Service アプリ。 アプリに OpenAPI 機能を追加する必要がある場合は、次のいずれかのチュートリアルを参照してください。
アプリを OpenAPI ツールとして追加する Microsoft Foundry プロジェクト。
Microsoft Foundry プロジェクトのマネージド ID ID を検索する
App Service 認証を構成するには、Microsoft Foundry プロジェクトのマネージド ID のオブジェクト ID とアプリケーション ID の両方が必要です。 システム割り当てマネージド ID は、Microsoft Foundry プロジェクトの作成時に自動的に作成されます。 この ID は、Foundry Agent Service がアプリで認証するために使用する ID です。
Foundry ポータルで、右上隅にある [New Foundry] を選択していることを確認します。 新しい Foundry ポータルには、クラシック ポータルで作成されたエージェントは表示されません。
右上のメニューから、操作>Admin を選択します。次に、[親リソース] 列でプロジェクトの親リソースを選択します。
親リソースの詳細ページ で、Azure Portal で [このリソースの管理] を選択します。
注
次に進む前に、Foundry リソース ページにいることを確認してください。それは、Foundry プロジェクト リソース ページ ではないことを確認してください。
Foundry リソースの左側のメニューで、 リソース管理>Identity を選択します。
システム割り当て済み で、オブジェクト (プリンシパル) ID の値をコピーし、後で参照します。
Azure portal で、 Microsoft Entra ID を検索して選択します。
検索ボックスで、コピーしたオブジェクト ID を検索し、検索結果で選択します。
[ 概要 ] ページで、 アプリケーション ID の値をコピーします。
オブジェクト ID は、システム割り当てマネージド ID に表示されるオブジェクト ID と同じであることに注意してください。 App Service 認証を構成するために、アプリケーション ID とオブジェクト ID の両方が必要です。
アプリの Microsoft Entra 認証を構成する
Azure portal で、App Service アプリに移動します。
アプリの左側のメニューで [設定]>[認証] を選び、[ID プロバイダーの追加] を選びます。
[ID プロバイダーの追加] ページで、ID プロバイダーとして Microsoft を選択して新しいアプリ登録を作成します。
[ 追加のチェック] の [ クライアント アプリケーションの要件] で、[ 特定のクライアント アプリケーションからの要求を許可する] を選択します。
鉛筆ウィジェットを選択し、「Microsoft Foundry プロジェクトのマネージド ID の検索」でコピーしたアプリケーション ID を追加します。
[ID 要件] で、[特定の ID からの要求を許可する] を選択します。
鉛筆ウィジェットを選択し、「Microsoft Foundry プロジェクトのマネージド アイデンティティ ID を見つける」でコピーしたオブジェクト ID を追加します。
テナント要件では、既定値をそのまま使用します。 そうでない場合は、Microsoft Foundry プロジェクト (または ID) が作成されるテナントを選択してください。
認証されていない要求の場合は、[HTTP 401 Unauthorized: recommended for API]\(API に推奨\) を選択します。
[ 追加] を選択して ID プロバイダーを作成します。
アプリ登録のアプリケーション ID URI を更新する
認証を有効にした後、App Service アプリの URL に一致するようにアプリ登録のアプリケーション ID URI を更新する必要があります。
Microsoft プロバイダーの構成が完了したら、[ ID プロバイダー ] 列でそれを選択して、アプリの登録ページを開きます。
左側のメニューで、[管理] >[API をExpose] を選択します。
[アプリケーション ID URI] の横にある [編集] を選択します。
値を App Service アプリの URL に次の形式で変更します:
https://<suffix>.azurewebsites.net。アプリのホスト名は、既定のドメインの [概要] ページにあります。
保存 を選択します。
Warnung
App Service アプリを削除する場合は、アプリの登録を削除し、アプリケーション ID URI を参照するすべての認証リソースをクリーンアップする必要もあります。 そうしないと、セキュリティの脆弱性が発生します。他のユーザーが同じ URL でアプリを作成した場合、孤立したアプリの登録を信頼するリソースへの未承認のアクセス権を取得する可能性があります。 アプリの使用を停止する場合は、アプリの登録とそれに関連付けられているアクセス許可を常に削除します。
Microsoft Foundry で OpenAPI ツールを構成する
注
このセクションでは、「 前提条件」 セクションのチュートリアルの 1 つを既に完了していることを前提としています。ここで、匿名認証を使用して Microsoft Foundry で OpenAPI ツールとしてアプリを追加しました。 これで、マネージド ID 認証を使用するようにツールを更新します。
Foundry ポータルに戻り、エージェントを選択します。
OpenAPI ツールを見つけて、...> を選択します編集。
[OpenAPI 3.0+ スキーマ] ボックスには、App Service アプリのスキーマが必要です。 そうでない場合は、OpenAPI スキーマを貼り付けます。 詳細については、「 Foundry Agent Service で OpenAPI を使用する方法」を参照してください。
[認証方法] で、[マネージド ID] を選択します。
対象ユーザーの場合は、App Service アプリの URL を入力します。 この URL は、前に構成した アプリケーション ID URI と一致する必要があります。
[ 更新ツール] を選択します。
ヒント
Foundry Agent Service は、システム割り当てマネージド ID を使用してアプリで認証します。 アプリの認証プロバイダーの構成で、許可されたクライアント アプリケーションおよび許可された ID として ID のクライアント ID を追加したため、エージェント サービスはアプリの API を呼び出すことを認可されます。
エージェントをテストする
Foundry ポータルで、エージェントを選択し、[ プレイグラウンドで試す] を選択します。
エージェントとチャットして、OpenAPI エンドポイントをテストします。 例えば次が挙げられます。
- すべてのタスクを表示します。
- "食料品の購入" というタスクを作成します。
- そのタスクを 「食料品を購入して夕食を作る」に更新します。
認証が正しく構成されている場合、エージェントは OpenAPI ツールを使用してアプリの API を正常に呼び出します。