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

コパイロットの会話内で、直接ユーザー認証を有効にすることができます。 名前やIDなどのユーザーの基本プロパティを変数に割り当てることができます。 また、トピック の認証ノードを使用してユーザーにログインを促し、ユーザー トークンを取得し、そのトークンを使用してバックエンド システムからユーザーの情報を取得することもできます。

注意

Copilot Studio および Microsoft Teams で作成された副操縦士は、 Microsoft Entra ID認証用に自動的に構成されます。

ユーザーが手動でサイン インする必要がないように、シングル サインオン (SSO) を構成できます。 詳細については、Microsoft Entra ID でシングル サインオンを構成するを参照してください。

前提条件

ユーザー認証をトピックに追加して、顧客が会話内で直接サインインできるようにします。 次に、ユーザー変数を使用して会話をパーソナライズしたり、ユーザーの代わりにバック エンド システムにアクセスしたりすることができます。

Microsoft Entra ID で手動認証を構成する

トピックで認証を使用する前に、Microsoft Entra ID を使用してユーザー認証を構成する必要があります。

Microsoft Entra ID を使用してユーザー認証を構成する」の手順に従います。

サインイン システム トピック でユーザー認証を追加する

コパイロットを作成すると、Copilot Studio では サインイン というシステム トピックが自動的に追加されます。 これを使用するには、コパイロットの認証を手動に設定し、ユーザーにサインインを要求する必要があります。 顧客がコパイロットとの会話を開始すると、サインイン トピックがトリガーされ、ユーザーにサインインを求めます。 コパイロットに合わせて サインイン トピック をカスタマイズできます。

重要

サインイン トピックは、Copilot Studio が提供する認証方法を提供するためだけに使用することをお勧めします。 他のアクションやフロー、または他の認証方法を呼び出すせるように変更しないでください。

  1. Copilot Studio でコパイロットを開いた状態で、設定 ページ上部の セキュリティ を選択します。

  2. 認証を選択します。

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

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

  5. 保存 を選びます。

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

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

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

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

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

    注意Note

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

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

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

  5. 保存 を選びます。

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

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

  8. IDプロバイダーで設定されたユーザーを使用して、トピック をテストします。

チップ

サインインが成功した場合と失敗した場合の両方のパスを作成することが重要です。 サインインに失敗する理由は、ID プロバイダーのサインイン エクスペリエンスに関するエラーなど、複数あります。

認証変数

コパイロットのユーザー認証を構成するときに、トピックで認証変数を使用できます。 次の表は、選択した認証オプションに基づくこれらの変数の利用可能性を比較したものです。

変数の詳細については、「 変数の操作」を参照してください。

認証変数 認証なし Microsoft で認証する 手動で認証する
ユーザー.表示名 該当なし 対応可能 対応可能
User.FirstName 該当なし 対応可能 対応可能
User.LastName 該当なし 対応可能 対応可能
User.PrincipalName 該当なし 対応可能 対応可能
User.Email 該当なし 対応可能 対応可能
User.Id 該当なし 対応可能 対応可能
ユーザー.ログイン中 該当なし 対応可能 対応可能
ユーザー.アクセストークン 該当なし 該当なし 対応可能
サインイン理由 該当なし 対応可能 対応可能

User.DisplayName

警告

この変数に値が入ることは保証されていない。 トピックが正しく動作することを確認するために、ID プロバイダーのユーザーを使ってテストしてください。

User.DisplayName 変数には、アイデンティティ プロバイダーに保存されている 表示名 が含まれます。 この変数を使用して、コパイロットに明示的に名前を指定しなくてもユーザーに挨拶や参照を行い、会話をよりカスタマイズされたものにします。

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