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