コパイロットにエンド ユーザー認証を追加
重要
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 を使用してユーザー認証を構成する必要があります。
- 「Microsoft Entra ID を使用してユーザー認証を構成する」の手順に従います。
- この記事に戻ります。
サインイン システム トピック でユーザー認証を追加する
コパイロットを作成すると、Microsoft Copilot Studio では Signin というシステム トピックが自動的に追加されます。 これを使用するには、コパイロットの認証を手動に設定し、ユーザーにサインインを要求する必要があります。 顧客がコパイロットとの会話を開始すると、Signin トピックがトリガーされ、ユーザーにサインインを求めます。 コパイロットに合わせて サインイン トピック をカスタマイズできます。
ナビゲーション メニューの 設定 で セキュリティ を選択します。
認証 タイルを選択します。
手動 (カスタム Web サイト用) を選択してから、ユーザーにサインインを要求するを選択します。
カスタム トピックでユーザー認証を追加する
Signin トピックでは、会話の開始時にユーザーを認証します。 ユーザーが後でサインインできるようにするため、任意のカスタム トピックに認証ノードを追加できます。
顧客がユーザー名とパスワードを入力すると、検証コードを入力するよう促される場合があります。 ログインした後、別の認証ノードに到達した場合は、再度プロンプトが表示されることはありません。
ナビゲーション メニューの 設定 で セキュリティ を選択します。
認証 タイルを選択します。
ユーザーにサインインを要求するをオフにします。
ナビゲーション メニューで、トピックを選択してから、認証を追加するトピックを開きます。
ノードの追加 (+) を選択し、アクションの呼び出しを選択し、認証 を選択します。
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 を設定する を参照してください。
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示