エージェントの会話内で、ユーザー認証を直接有効化することができます。 名前や ID などのユーザーの基本プロパティを変数に割り当てることができます。 また、トピックの認証ノードを使用してサインインするようにユーザーに求め、ユーザー トークンを取得し、そのトークンを使用してバックエンド システムからユーザーの情報を取得できることを意味します。
ヒント
Copilot Studio および Microsoft Teams で作成されたエージェントは、Microsoft Entra ID認証用に自動的に構成されます。
ユーザーが手動でサイン インする必要がないように、シングル サインオン (SSO) を構成できます。 詳細については、Microsoft Entra IDでのシングル サインオンの構成を参照してください。
前提条件
ユーザー認証をトピックに追加して、顧客が会話内で直接サインインできるようにします。 次に、ユーザー変数を使用して会話をパーソナライズしたり、ユーザーの代わりにバック エンド システムにアクセスしたりすることができます。
Microsoft Entra IDを使用して手動認証を構成する
トピックで認証を使用する前に、Microsoft Entra IDを使用してユーザー認証を構成する必要があります。
Microsoft Entra ID を使用したユーザー認証の構成について、手順に従ってください。
サインイン システム トピック でユーザー認証を追加する
エージェントを作成すると、Copilot Studio によって、Sign in というシステム トピックが自動的に追加されます。 これを使用するには、エージェントの認証を手動に設定し、ユーザーにサインインを要求する必要があります。 顧客がエージェントとの会話を開始すると、サインイン トピックがトリガーされ、ユーザーにサインインを求めます。 エージェントに合わせて サインイン トピック をカスタマイズできます。
重要
Sign in トピックは、Copilot Studio によって提供される認証方法を提供するためにのみ使用することをお勧めします。 他のアクションやフロー、または他の認証方法を呼び出すせるように変更しないでください。
- Copilot Studio でエージェントを開き、ページの上部にある Settings を選択し、Security を選択します。
- [ 認証] を選択します。
- 手動で認証するを選択し、ユーザーにログインを要求するを選択します。
- 必要に応じて、すべての手動認証フィールドを構成 します。
- 保存を選びます。
カスタム トピックでユーザー認証を追加する
サインイン トピック は会話の開始時にユーザーを認証します。 ユーザーが後でサインインできるようにするため、任意のカスタム トピックに認証ノードを追加できます。
顧客がユーザー名とパスワードを入力すると、検証コードの入力を求められる場合があります。 ログイン後は、別の 認証 ノードに到達しても、プロンプトは再度表示されません。
ページ上部の設定を選択し、セキュリティを選択します。
認証 タイルを選択します。
ヒント
カスタム トピックにユーザー認証を追加するには、手動で認証 を選択する必要があります。
[ 手動で認証 する] を選択し、[ ユーザーにサインインを要求する ] チェック ボックスをオフにします。
必要に応じて、すべての手動認証フィールドを構成 します。
保存を選びます。
ページ上部にある トピック を選択します。
ノードを追加 (
) >詳細>認証を選択します。トピックをテストする あなたのIDプロバイダーで構成されたユーザーを使用して。
チップ
サインインが成功した場合と失敗した場合の両方のパスを作成することが重要です。 ID プロバイダーのサインイン エクスペリエンスに関するエラーなど、さまざまな理由でサインインが失敗する可能性があります。
認証変数
エージェントのユーザー認証を構成するときに、トピックで認証変数を使用できます。 次の表は、選択した認証オプションに基づくこれらの変数の利用可能性を比較したものです。
変数の詳細については、変数の概要 を参照してください。
| 認証変数 | 認証なし | Microsoft で認証する | 手動で認証する |
|---|---|---|---|
| User.DisplayName | 該当なし | 対応可能 | 対応可能 |
| ユーザーのファーストネーム | 該当なし | 対応可能 | 対応可能 |
| ユーザー.姓 | 該当なし | 対応可能 | 対応可能 |
| ユーザー名 (User.PrincipalName) | 該当なし | 対応可能 | 対応可能 |
| User.Email | 該当なし | 対応可能 | 対応可能 |
| User.Id | 該当なし | 対応可能 | 対応可能 |
| User.IsLoggedIn | 該当なし | 対応可能 | 対応可能 |
| User.AccessToken | 該当なし | 該当なし | 対応可能 |
| SignInReason | 該当なし | 対応可能 | 対応可能 |
User.DisplayName
警告
この変数に値が入ることは保証されていない。 トピックが正しく動作することを確認するために、ID プロバイダーのユーザーを使ってテストしてください。
User.DisplayName 変数には、ID プロバイダーに保存されている表示名が含まれます。 この変数を使用して、エージェントに明示的に名前を指定しなくてもユーザーに挨拶や参照を行い、会話をよりカスタマイズされたものにします。
Copilot Studio では、手動認証の構成時に User.DisplayName スコープが定義されている限り、ID プロバイダーによって提供される name 要求から profile の値が自動的に設定されます。 スコープの詳細については、「
User.Id
警告
この変数に値が入ることは保証されていない。 トピックが正しく動作することを確認するために、ID プロバイダーのユーザーを使ってテストしてください。
User.Id 変数には、ID プロバイダーに保存されているユーザーの ID が含まれます。 この変数を Power Automate フロー で使用して、UserID を値として受け取る API を呼び出します。
Copilot Studio は、ID プロバイダーによって提供される User.DisplayName 要求の sub の値を自動的に設定します。
User.IsLoggedIn
User.IsLoggedIn ユーザーのサインインステータスを格納するブール変数です。
true の値は、ユーザーがサインインしていることを示します。 この変数を使用して、サインインに成功したかどうかをチェックするトピック内の分岐ロジックを作成したり、ユーザーがサインインしている場合にのみユーザー情報を取得したりすることができます。
User.AccessToken
警告
信頼できるソースに対してのみ User.AccessToken 変数をパスしていることを確認してください。 これにはユーザー認証情報が含まれており、侵害された場合、ユーザーに害を及ぼす可能性があります。
User.AccessToken 変数には、ユーザーのサイン イン後に取得されるユーザーのトークンが含まれます。 この変数を Power Automate フローに渡して、バックエンド API に接続してユーザー情報を取得したり、ユーザーに代わってアクションを実行したりできます。
信頼できない Message ノードまたはフローで User.AccessToken を使用しないでください。
サインイン理由
SignInReason ユーザーがいつログインする必要があるかを示す選択タイプの変数です。 次の 2 つの値があります:
SignInRequiredは、ユーザーが会話の最初に サイン イン システム トピックを使用してサインインする必要があることを示しています。 ユーザーにサインインを要求するをオンにする必要があります。Initializerユーザーがログインしておらず、会話の中で認証変数を使用する段階に到達したときに、ログインするように求められることを示します。
関連するコンテンツ
ユーザーが手動でサイン インする必要がないように、シングル サインオン (SSO) を構成できます。 詳細については、Microsoft Entra IDでのシングル サインオンの構成を参照してください。