Microsoft Entra ID を使用してユーザー認証を構成する
エージェントに認証を追加すると、ユーザーがサインインできるようになり、エージェントが制限付きのリソースや情報にアクセスできるようになります。
この記事では、Microsoft Entra ID をサービス プロバイダーとして構成する方法についても説明します。 他のサービス プロバイダーとユーザー認証全般の詳細については、 Copilot Studio ID を使用したユーザー認証の構成をご参照ください。
テナントの管理権限がある場合は、API のアクセス許可を構成することができます。 それ以外の場合は、テナント管理者に依頼する必要があります。
前提条件
最初のいくつかの手順を Azure portal で完了し、最後の 2 つの手順を Copilot Studio で完了します。
アプリ登録の作成
エージェント と同じテナントの管理者アカウントを使用して、 Azure ポータルにログインします。
アプリの登録 に移動します。
新しい登録 を選択し、登録の名前を入力します。 既存のアプリ登録を変更しない でください。
後でエージェントの名前を使用すると便利です。 たとえば、エージェントが「Contoso sales help」と呼ばれている場合、アプリの登録に「ContosoSalesReg」などの名前を付けることができます。
サポートされているアカウント で、任意の組織テナント内のアカウント (任意の Microsoft Entra ID ディレクトリ - マルチテナント型) および個人の Microsoft アカウント (例: Skype、Xbox) を選択します。
ここでは、リダイレクト URI セクションを空白のままにします。 この情報は、次の手順で入力します。
登録を選択します。
登録が完了した後、概要に移動します。
アプリケーション (クライアント) ID をコピーして、一時ファイルに貼り付けます。 後の手順で必要になります。
リダイレクト URL の追加
管理 の下にある 認証 を選択します。
プラットフォームの構成の下で、プラットフォームの追加、次に Web を選択します。
リダイレクト URI で、
https://token.botframework.com/.auth/web/redirect
と入力し、構成 を選択します。このアクションにより、プラットフォームの構成 ページに戻ります。
Web プラットフォームの リダイレクト URI の下で、URI の追加 を選択します。
https://europe.token.botframework.com/.auth/web/redirect
を入力して、保存 を選択します。注意
Copilot Studio の認証構成ペインには、次のリダイレクト URL が表示される場合があります:
https://unitedstates.token.botframework.com/.auth/web/redirect
。 その URL を使用すると認証が失敗します。代わりに URI を使用してください。黙的な許可とハイブリッド フロー セクションで、アクセス トークン (暗黙的なフローに使用) と ID トークン (暗黙的なフローおよびハイブリッド フローに使用) の両方をオンにします。
保存 を選びます。
クライアント シークレットの生成
管理 で 証明書とシークレット を選択します。
クライアント シークレット セクションで、新しいクライアント シークレット を選択します。
(オプション) 説明を入力します。 空白のままにした場合は、1 つ提供されます。
有効期限を選択します。 エージェントの有効期間に関連する最短期間を選択します。
追加 を選択してシークレットを作成します。
シークレットの値を安全な一時ファイルに保存します。 これは、後でエージェントの認証を構成するときに必要になります。
チップ
クライアント シークレットの値をコピーする前にページから移動しないでください。 これを行うと、値が難読化されるため、新しいクライアント シークレットを生成する必要があります。
手動認証を構成する
Copilot Studioで、エージェントの 設定 に移動し、 セキュリティを選択します。
認証を選択します。
手動で認証する を選択します。
ユーザーにサインインを要求する をオンにしておきます。
プロパティに次の値を入力します:
サービス プロバイダー: Azure Active Directory v2 を選択します。
クライアント ID: 先ほど Azure ポータルからコピーしたアプリケーション (クライアント) ID を入力します。
クライアント シークレット: 先ほど Azure ポータルから生成したクライアント シークレットを入力します。
スコープ:
profile openid
を入力します。
保存 を選択して構成を完了します。
API アクセス許可の構成
API アクセス許可 に移動します。
<テナント名>に管理者の承認を付与するを選択してから、はいを選択します。 ボタンが利用できない場合は、テナント管理者に代わりに入力してもらう必要があります。
重要
ユーザーが各アプリケーションに対して同意する必要をなくすために、少なくともアプリケーション管理者またはクラウド アプリケーション管理者の役割を割り当てられた担当者は、アプリケーション登録に対してテナント全体にわたる同意を与えることができます。
アクセス許可の追加を選択して、Microsoft Graph を選択します。
委任されたアクセス許可 を選択します。
OpenId のアクセス許可を展開して、openid と profile をオンにします。
アクセス許可の追加 を選択します。
エージェントのカスタム スコープを定義する
スコープ により、ユーザーと管理者の役割およびアクセス権を決定できます。 後の手順で作成するキャンバス アプリ登録のカスタム スコープを作成します。
API を公開するに移動してからスコープの追加を選択します。
次のプロパティを設定します。 その他のプロパティは空白のままにすることができます。
Property 価値 スコープ名 Test.Read
などの使用している環境においてわかりやすい名前を入力します同意できるユーザー 管理者とユーザー を選択します 管理者の同意の表示名 Test.Read
などの使用している環境においてわかりやすい名前を入力します管理者の同意の説明 Allows the app to sign the user in.
を入力します状態 有効を選択します スコープの追加を選択します。
Copilot Studio の認証の構成
Copilot Studio の 設定 で、セキュリティ>認証 を選択します。
手動で認証する を選択します。
ユーザーにサインインを要求する をオンにしておきます。
サービスプロバイダー を選択し、必要な値を入力します。 Copilot Studio での手動認証を構成する をご覧ください。
保存 を選びます。
チップ
トークン交換 URL は、要求されたアクセス トークンと OBO (On-Behalf-Of) トークンを交換するために使用されます。 詳細については、Microsoft Entra ID でシングル サインオンを構成するを参照してください。
ヒント
スコープには、使用用途に応じて profile openid
とそれ以下を含める必要があります:
- SharePoint 用
Sites.Read.All Files.Read.All
- グラフ接続の
ExternalItem.Read.All
- プロンプトノード用
https://[OrgURL]/user_impersonation
と Dataverse 構造化データ - たとえば、Dataverse 構造データまたはプロンプトノードには次のスコープが必要です:
profile openid Sites.Read.All Files.Read.All https://myorg123.com/user_impersonation
エージェントをテストする
エージェントを公開する。
エージェントのテスト ウィンドウで、エージェントにメッセージを送信します。
エージェントが応答したら、 ログインを選択します。
新しいブラウザーのタブが開き、サインインを促されます。
サインインし、表示された検証コードをコピーします。
エージェント チャットにコードを貼り付けて、サインイン プロセスを完了します。