Copilot Studio でユーザー認証の構成
認証により、ユーザーはサインインして、エージェントに制限付きリソースや情報へのアクセスを与えることができます。 ユーザーは、Microsoft Entra ID、または Google や Facebook などの OAuth2 ID プロバイダー でサインインできます。
ヒント
Microsoft Teams では、Copilot Studio エージェントを構成して認証機能を提供し、ユーザーが Microsoft Entra ID または Microsoft や Facebook アカウントなどの任意の OAuth2 ID プロバイダでサインインできるようにすることができます。
トピックを編集する際に、ユーザー認証をトピックに追加 できます。
重要
認証構成の変更は、エージェントを公開した後にのみ有効になります。 エージェントに認証の変更を加える前に、事前に計画してください。
認証オプションを選択する
Copilot Studio は、いくつかの認証オプションをサポートしています。 ニーズに合ったものを選択してください。
エージェントの 設定 に移動し、 セキュリティを選択します。
認証を選択します。
次の認証オプションを使用できます:
保存 を選びます。
認証なし
認証なしを選択すると、エージェントは会話中にユーザーにサインインを要求しません。 認証なしの構成の場合、エージェントがアクセスできるのは、一般に公開されている情報やリソースにのみということになります。 従来型のチャットボットの設定は、既定で認証 なし になっています。
注意
認証なし オプションを選択すると、リンクを持っているすべてのユーザーがエージェントまたはコパイロットとチャットしたり対話したりできるようになります。
特に、組織内または特定のユーザーに対してボットまたは エージェント を その他のセキュリティおよびガバナンス制御と共に使用している場合は認証を適用することをお勧めします。
Microsoft で認証する
重要
Microsoft と認証 オプションを選択すると、Teams チャネルを除くすべてのチャネルが無効になります。
また、Dynamics 365 Customer Service と統合されているエージェントでは、Microsoft と認証する オプションは利用できません。
この構成では、手動で構成する必要なく、Teams の Microsoft Entra ID 認証を自動的に設定します。 Teams 認証でユーザーの識別が完結するため、エージェントのスコープを拡張する必要が生じない限り、Teams の使用中にユーザーがサインインを求められることはありません。
このオプションを選択した場合に使用できるのは、Teams チャネルのみになります。 他のチャネルにエージェントを公開する必要があるが、それでもエージェントに認証が必要な場合は、手動で認証するを選択します。
Microsoft と認証 を選択した場合、作成キャンバスで次の変数を使用できます:
User.ID
User.DisplayName
これらの変数とその使用方法の詳細については、トピックにユーザー認証を追加する を参照してください。
User.AccessToken
と User.IsLoggedIn
の変数は、このオプションでは使用できません。 認証トークンが必要な場合は、手動認証 オプションを使用します。
手動で認証 から Microsoft と認証 に変更し、トピックに変数 User.AccessToken
または User.IsLoggedIn
が含まれている場合、変更後に 不明な 変数として表示されます。 エージェントを公開する前に、エラーのあるトピックを必ず修正してください。
手動で認証する
Copilot Studio では、手動で認証する オプションで以下の認証プロバイダをサポートしています:
- Azure Active Directory
- Azure Active Directory v2
- Azure Active Directory v2 証明書付き
- 汎用 OAuth 2 - OAuth2 標準 に適合するすべての ID プロバイダー
手動認証の構成後、作成キャンバスで次の変数を使用できます:
User.Id
User.DisplayName
User.AccessToken
User.IsLoggedIn
これらの変数とその使用方法の詳細については、トピックにユーザー認証を追加する を参照してください。
構成が保存されたら、変更が有効になるように必ずエージェントを公開してください。
ヒント
- 認証の変更は、エージェントが公開された後にのみ有効になります。
- この設定は、Power Platform の対応する管理コントロールによって制御できます。 コントロールを有効にすると、手動認証 オプションが Copilot Studio 内で有効または無効にできなくなります。 コントロールは常に有効になっており、手動認証 オプションは Copilot Studio で変更できません。
必要なユーザー サインインとエージェントの共有
ユーザーにサインインを要求する では、ユーザーがエージェントと対話する前にサインインする必要があるかどうかを判断します。 機密情報や制限された情報にアクセスする必要があるエージェントには、この設定をオンにすることを強くお勧めします。
このオプションは、認証なし および Microsoft で認証する オプションでは使用できません。
ヒント
このオプションは、Power Platform 管理センターの DLP ポリシーが認証を必要とするように構成されている場合にも構成できません。 詳細については、「 データ損失防止の例 - エージェントでユーザー認証を要求する」を参照してください。
このオプションをオフにすると、サインインを必要とするトピックが検出されるまで、エージェントはユーザーにサインインを求めません。
このオプションをオンにすると、ユーザーにサインインを要求する というシステム トピックが作成されます。 このトピックは、手動で認証 設定にのみ関連します。 ユーザーは常に Teams で認証されます。
ユーザーにサインインを要求する トピックは、認証されていなくても、エージェントと対話するすべてのユーザーに対して自動的にトリガーされます。 ユーザーがサインインに失敗した場合、トピックは エスカレート システム トピックにリダイレクトされます。
トピックは読み取り専用で、カスタマイズすることはできません。 表示するには、作成キャンバスに移動 を選択します。
組織内のエージェントとチャットできるユーザーを制御する
エージェントの認証と ユーザーにサインインを要求する 設定の組み合わせにより、エージェントを共有 して、組織内の誰がチャットできるかを制御することができます。 認証設定は、コラボレーションのためのエージェントの共有には影響しません。
認証なし: エージェントへのリンクがある (または、たとえば、Web サイト などでリンクを見つけることができる) あらゆるユーザーがボットとのチャットを行えます。 組織内のどのユーザーがエージェントとチャットできるかを制御することはできません。
Microsoft で認証する: エージェント は Teams チャネルでのみ機能します。 ユーザーは常にサインインしているため、ユーザーにサインインを要求する 設定がオンになっていて、オフにすることはできません。 エージェント共有を使用して、組織内の誰がエージェントとチャットできるかを制御できます。
手動で認証:
サービス プロバイダーが Azure Active Directory または Microsoft Entra ID のどちらかである場合、ユーザーにサインインを要求する をオンにして、組織内の誰がエージェント共有を使用してエージェントとチャットできるかを制御することができます。
サービス プロバイダーが 汎用 OAuth2 の場合は、ユーザーにサインインを要求する をオンまたはオフにします。 オンにすると、サインインしたユーザーがエージェントとチャットできます。 エージェント共有を使用して組織内のどの特定のユーザーがエージェントとチャットできるかを制御することはできません。
エージェントの認証設定でチャットできるユーザーを制御できない場合は、エージェントの概要ページで 共有 を選択すると、誰でもエージェントとチャットできることを通知するメッセージが表示されます。
手動認証フィールド
以下は、手動認証を構成するときに表示されるすべてのフィールドです。 表示されるフィールドは、サービス プロバイダーの選択によって異なります。
フィールド名 | 説明設定 |
---|---|
認証 URL テンプレート | ID プロバイダーによって定義されている、認証の URL テンプレート。 例: https://login.microsoftonline.com/common/oauth2/v2.0/authorize |
認証 URL のクエリ文字列テンプレート | ID プロバイダーによって提供された認証用のクエリ テンプレート。 クエリ文字列テンプレートのキーは、ID プロバイダー (?client_id={ClientId}&response_type=code&redirect_uri={RedirectUrl}&scope={Scopes}&state={State} ) によって異なります。 |
Client ID | ID プロバイダーから取得したクライアント ID。 |
Client secret | ID プロバイダーのアプリ登録を作成したときに取得したクライアント シークレット。 |
本文テンプレートの更新 | 更新本文のテンプレート (refresh_token={RefreshToken}&redirect_uri={RedirectUrl}&grant_type=refresh_token&client_id={ClientId}&client_secret={ClientSecret} )。 |
URL のクエリ文字列テンプレートの更新 | トークン URL の更新 URL クエリ文字列区切り記号は通常、疑問符 (? ) です。 |
URL テンプレートの更新 | 更新用のURL テンプレート; 例 https://login.microsoftonline.com/common/oauth2/v2.0/token 。 |
スコープ リストの区切り文字 | スコープ リストの区切り文字。 このフィールドでは、空白はサポートされていません。1 |
スコープ | ユーザーがサインインした後に所有する スコープ のリスト。 スコープ リストの区切り文字 を使用して複数のスコープを区切ります。1 必要なスコープのみを設定し、最小権限アクセス制御の原則 に従います。 |
サービス プロバイダー | 認証に使用するサービス プロバイダー。 詳細については、OAuth 汎用プロバイダー を参照してください。 |
Tenant ID | Microsoft Entra ID テナント ID。 テナント ID を見つける方法については、既存の Microsoft Entra ID テナントを使用するを参照してください。 |
トークン本体のテンプレート | トークン本体のテンプレート。 (code={Code}&grant_type=authorization_code&redirect_uri={RedirectUrl}&client_id={ClientId}&client_secret={ClientSecret} ) |
トークンの交換 URL (SSO に必要) | これは、シングル サインオンを構成 する際に使用するオプションのフィールドです。 |
トークン URL テンプレート | ID プロバイダーによって指定されたトークン用の URL テンプレート; 例 https://login.microsoftonline.com/common/oauth2/v2.0/token 。 |
トークン URL のクエリ文字列テンプレート | トークン URL のクエリ文字列区切り記号は通常、疑問符 (? ) です。 |
1 ID プロバイダーが必要とする場合は、スコープ フィールドでスペースを使用できます。 その場合は、コンマ (,
) を スコープ リストの区切り文字に入力し、スコープ フィールドにスペースを入力します。
認証をオフにする
エージェントを開いた状態で、上部のメニューバーにある 設定 を選択します。
セキュリティ を選択し、認証 を選択します。
認証なしを選択します。
認証変数がトピックで使用されている場合は、不明な 変数になります。 トピック ページに移動して、エラーのあるトピックを確認し、公開する前に修正してください。
エージェントの公開。
重要
エージェントに アクション が ユーザーの資格情報を使用するように構成されている場合は、エージェント レベルで認証をオフにしないでください。オフにすると、これらのアクションが機能しなくなります。