エージェントに認証を追加すると、ユーザーはサインインして制限されたリソースや情報へのアクセスをエージェントに与えます。
この記事では、サービス プロバイダーとしてMicrosoft Entra IDを構成する方法について説明します。 他のサービス プロバイダーとユーザー認証の詳細については、「Copilot Studio でユーザー認証を構成するを参照してください。
テナントの管理権限がある場合は、API のアクセス許可を構成することができます。 そうでなければ、テナント管理者に許可を依頼してください。
前提条件
Azure ポータルで最初のいくつかの手順を完了し、Copilot Studio の最後の 2 つの手順を完了します。
アプリ登録を作成する
エージェントと同じテナントの管理者アカウントを使用して、Azure ポータルにサインインします。
App registrations に移動します。
新しい登録 を選択し、登録の名前を入力します。 既存のアプリ登録を変更しない でください。
後でエージェントの名前を使用すると便利です。 たとえば、エージェントが「Contoso sales help」と呼ばれている場合、アプリの登録に「ContosoSalesReg」などの名前を付けることができます。
[サポートされているアカウントの種類] で、[この組織ディレクトリのみに含まれるアカウント (Contoso のみ - シングル テナント)] を選択します。
ここでは、リダイレクト URI セクションを空白のままにします。 この情報は、次の手順で入力します。
登録 を選択します。
登録が終わったら、 概要ページに移動します。
アプリケーション (クライアント) ID をコピーして、一時ファイルに貼り付けます。 それは後のステップで必要になります。
リダイレクト URL の追加
[管理] で、 [認証] を選択します。
プラットフォームの構成の下で、プラットフォームの追加、次に Web を選択します。
[ リダイレクト URI] で、ヨーロッパの
https://token.botframework.com/.auth/web/redirectまたはhttps://europe.token.botframework.com/.auth/web/redirectを入力します。 また、手動で認証の下にある Copilot Studio の セキュリティ設定ページから、リダイレクト URLテキストボックスをコピーすることもできます。このアクションにより、プラットフォームの構成 ページに戻ります。
token.botframework.comを含む、Studio が接続するCopilotの必要なサービスの一覧については、「必要なサービス」を参照してください。アクセス トークン (暗黙的フローに使用) と ID トークン (暗黙的フローとハイブリッド フローに使用) の両方を選択します。
設定を選択します。
手動認証の構成
次に手動認証を構成します。 プロバイダーの複数のオプションから選択できます。 ただし、Microsoft Entra ID V2 はフェデレーション資格情報と共に使用します。 フェデレーション認証を使用できない場合、クライアント シークレットを使用することもできます。
フェデレーション資格情報を使用して手動認証を構成する
Copilot Studio は Azure アプリ登録で既定でフェデレーション ID 資格情報 (FIC) を自動的に作成し、有効期間の短い OpenID Connect トークンを使用してセキュリティで保護された、シークレットレス認証を可能にします。 この認証方法は、保存されているシークレットを削除し、資格情報のリスクを軽減し、Microsoft のZero Trustセキュリティ標準に準拠します。
Copilot Studio で、エージェントの Settings に移動し、Security を選択します。
[ 認証] を選択します。
手動で認証する を選択します。
ユーザーにサインインを要求する をオンにしておきます。
プロパティに次の値を入力します:
サービス プロバイダー: フェデレーション資格情報を持つ Microsoft Entra ID V2 を選択します。
Client ID: Azure ポータルから先ほどコピーしたアプリケーション (クライアント) ID を入力します。
[ 保存] を 選択すると、フェデレーション資格情報の発行者と値が表示されます。
フェデレーション資格情報の発行者とフェデレーション資格情報の値をコピーし、一時ファイルに貼り付けます。 それは後のステップで必要になります。
Azure ポータルと、前に作成したアプリの登録に移動します。 [ 管理] で、[ 証明書とシークレット ] を選択し、[ フェデレーション資格情報] を選択します。
資格情報の追加を選択します。
[ フェデレーション資格情報のシナリオ] で、[ その他の発行者] を選択します。
プロパティに次の値を入力します:
- Issuer: Copilot Studio から前にコピーしたフェデレーション資格情報発行者の値を入力します。
- Value: Copilot Studio から前にコピーしたフェデレーション資格情報の値データを入力します。
- 名前: 名前を入力します。
[ 追加] を選択して構成を完了します。
API アクセス許可の構成
API アクセス許可 に移動します。
テナント名に対する管理者同意を付与する<> を選択し、次に 「はい」 を選択します。 ボタンが使用できない場合は、テナント管理者に入力を依頼する必要があります。
重要
ユーザーが各アプリケーションに対して同意する必要をなくすために、少なくともアプリケーション管理者またはクラウド アプリケーション管理者の役割を割り当てられた担当者は、アプリケーション登録に対してテナント全体にわたる同意を与えることができます。
アクセス許可の追加を選択し、 Microsoft Graphを選択します。
[委任されたアクセス許可] を選択します。
OpenId のアクセス許可を展開して、openid と profile をオンにします。
アクセス許可の追加 を選択します。
エージェントのカスタム スコープを定義する
スコープは ユーザーおよび管理者の役割、アクセス権を決定します。 Canvasアプリの登録用にカスタムスコープを作成します。
API を公開するに移動してからスコープの追加を選択します。
次のプロパティを設定します。 その他のプロパティは空白のままにすることができます。
プロパティ 価値 スコープ名 Test.Readなどの使用している環境においてわかりやすい名前を入力します誰が同意を与えることができますか? 管理者とユーザー を選択します 管理者同意表示名前 Test.Readなどの使用している環境においてわかりやすい名前を入力します管理者の同意の説明 「 Allows the app to sign the user in.」と入力します状態 有効を選択します [スコープの追加] を選択します。
Copilot Studio で認証を構成する
Copilot Studio の Settings で、Security>Authentication を選択します。
手動で認証する を選択します。
ユーザーにサインインを要求する をオンにしておきます。
サービスプロバイダー を選択し、必要な値を入力します。 Copilot Studio での手動認証の構成を参照してください。
保存を選びます。
ヒント
トークン交換URLを使って、On-Behalf-Of(OBO)トークンを要求されたアクセストークンと交換します。 詳細については、Microsoft Entra ID でのシングル サインオンの構成に関するを参照してください。
注意
スコープには、ユースケースに応じて profile openid および以下のスコープを含めるべきです。
-
Sites.Read.All Files.Read.Allfor SharePoint - グラフ接続用
ExternalItem.Read.All - Dataverse 構造化データ用
https://[OrgURL]/user_impersonation
たとえば、Dataverse 構造データには、profile openid Sites.Read.All Files.Read.All https://myorg123.com/user_impersonation などのスコープが設定されているべきです。
エージェントをテストする
エージェントを公開する。
エージェントのテスト パネルで、エージェントにメッセージを送信します。
エージェントが応答したら、ログインを選択します。
新しいブラウザタブが開き、サインインを促します。
サインインし、表示された検証コードをコピーします。
サインインを完了するには、エージェント チャットにコードを貼り付けてください。