次の方法で共有


トピックにエンド ユーザー認証を追加する

エージェント 会話内で直接ユーザー認証を有効にすることができます。 名前や 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 が提供する認証方法を提供するためだけに使用することをお勧めします。 他のアクションやフロー、または他の認証方法を呼び出すせるように変更しないでください。

  1. Copilot Studioでエージェントを開き、ページ上部の選択 設定 をクリックして、選択 セキュリティをクリックします。

  2. 認証を選択します。

  3. 手動で認証するを選択し、ユーザーにログインを要求するを選択します。

  4. 必要に応じて、すべての手動認証フィールドを構成 します。

  5. 保存 を選びます。

カスタム トピックでユーザー認証を追加する

サインイン トピック は会話の開始時にユーザーを認証します。 ユーザーが後でサインインできるようにするため、任意のカスタム トピックに認証ノードを追加できます。

顧客がユーザー名とパスワードを入力すると、検証コードの入力を求められる場合があります。 ログイン後は、別の 認証 ノードに到達しても、再度プロンプトは表示されません。

  1. ページ上部の設定を選択し、セキュリティを選択します。

  2. 認証 タイルを選択します。

    注意Note

    カスタム トピックにユーザー認証を追加するには、手動で認証 を選択する必要があります。

  3. ユーザーにサインインを要求する チェックボックスをオフにします。

  4. 必要に応じて、すべての手動認証フィールドを構成 します。

  5. 保存 を選びます。

  6. ページ上部にある トピック を選択します。

  7. ノードを追加 ( ) >詳細>認証を選択します。

  8. 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 でシングル サインオンを構成するを参照してください。