コパイロットにエンド ユーザー認証を追加

重要

Power Virtual Agents 機能は、生成 AI への多大な投資と Microsoft Copilot 全体の統合の強化により、現在 Microsoft Copilot Studio の一部となっています

ドキュメントやトレーニング コンテンツが更新される間、一部の記事やスクリーンショットで Power Virtual Agents が参照される場合があります。

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

注意

Web アプリと Microsoft Teams で作成されたコパイロットには、Teams および Power Apps 専用 認証を使用するように事前に構成された認証が付属しています。

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

前提条件

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

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

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

  1. Microsoft Entra ID を使用してユーザー認証を構成する」の手順に従います。
  2. この記事に戻ります。

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

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

  1. ナビゲーション メニューの 設定セキュリティ を選択します。

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

  3. 手動 (カスタム Web サイト用) を選択してから、ユーザーにサインインを要求するを選択します。

    Microsoft Copilot Studio ユーザーにログインを要求するが選択され、強調表示された認証ページのスクリーンショット。

    サインイン プロンプトのスクリーンショット。

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

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

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

  1. ナビゲーション メニューの 設定セキュリティ を選択します。

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

  3. ユーザーにサインインを要求するをオフにします。

  4. ナビゲーション メニューで、トピックを選択してから、認証を追加するトピックを開きます。

  5. ノードの追加 (+) を選択し、アクションの呼び出しを選択し、認証 を選択します。

  6. ID プロバイダーで構成されたユーザーを使用して、トピックをテストするを実行します。

チップ

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

認証変数

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

認証変数 認証なし Teams と Power Apps のみ 手動
User.DisplayName 使用できません 対応可能 対応可能
User.FirstName 使用できません 対応可能 対応可能
User.LastName 使用できません 対応可能 対応可能
User.PrincipalName 使用できません 対応可能 対応可能
User.Email 使用できません 対応可能 対応可能
User.Id 使用できません 対応可能 対応可能
User.IsLoggedIn 使用できません 対応可能 対応可能
User.AccessToken 使用できません 使用できません 対応可能
SignInReason 使用できません 対応可能 対応可能

User.DisplayName

警告

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

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

Microsoft Copilot Studio は、profile スコープが手動認証の設定時に定義されている限り、ID プロバイダーによって提供される name 要求から User.DisplayName の値を自動的に設定します。 スコープの詳細については、Microsoft Entra ID を使用してユーザー認証を構成する を参照してください。

User.Id

警告

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

User.Id 変数には、ID プロバイダーに保存されている userID が含まれます。 UserID を値とする API を呼び出す場合は、Power Automate フロー でこの変数を使用する。

Microsoft 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) を構成できます。 詳細については、Web 用の SSO を設定する を参照してください。