次の方法で共有


Microsoft Entra IDでシングル サインオンを構成する

Copilot Studio では、シングル サインオン (SSO) がサポートされています。 SSO は、Web サイト上のエージェントが、エージェントが展開されているページやアプリにすでにサインインしている場合、顧客をサインインできるようにします。

たとえば、エージェントは社内のイントラネットまたはユーザーが既にサインインしているアプリでホストされます。

Copilot Studio の SSO を構成するには、主に 5 つの手順があります。

  1. Microsoft Entra IDを使用してエージェントの手動認証を有効にする

  2. カスタム キャンバスのMicrosoft Entra IDでアプリ登録を作成します。

  3. Microsoft Entra IDでエージェントのカスタム スコープを定義します。

  4. カスタム スコープをエージェント構成に追加します。

  5. カスタム キャンバスのクライアント側コードを構成して、SSO を有効にします。

前提条件

注意

他の OAuth 2.0 プロバイダーを使用して SSO を構成するには、汎用 OAuth プロバイダーを使用したシングル サインオンの構成を参照してください。

サポート対象のチャネル

次の表は、現在 SSO をサポートしているチャネルの詳細です。 Copilot Studio のアイデア フォーラム>で追加チャネル<のサポートを提案できます。

チャネル サポートされている
Azure Bot Service チャネル サポートしていません
カスタム Web サイト サポートされている
デモ Web サイト サポートしていません
フェイスブック サポートしていません
Microsoft Teams1 サポートされている
モバイル アプリ サポートしていません
顧客サービス用のオムニチャネル2 サポートされている
SharePoint1 サポートされている

1 Teams チャネルに発行する場合は、Microsoft Teams でのエージェント向けの Microsoft Entra ID を使用したシングル サインオンの構成手順について、ドキュメントに従って構成する必要があります。 そのページの指示に従って Teams SSO 設定を構成しないと、ユーザーは Teams チャネルを使用するときに常に認証に失敗します。

2 ライブ チャット チャネルのみがサポートされています。 詳細については、「 Dynamics 365 Customer Service

重要

エージェントが Power Apps ポータルに発行されている場合、SSO は現在サポートされていません。

カスタム Web サイト用のアプリ登録を作成する

SSO を有効にするには、2 つの個別のアプリ登録を作成します。

  • 認証アプリの登録により、エージェントのためにMicrosoft Entra IDユーザー認証を有効にします。
  • カスタム Web ページの SSO を有効にするキャンバス アプリの登録

セキュリティ上の理由から、エージェントとカスタム Web サイトの両方に同じアプリ登録を再利用しないでください。

  1. 認証アプリの登録を作成するには、「 Microsoft Entra ID を使用してユーザー認証を構成する」の手順に従います。

  2. キャンバス アプリ用の登録として機能する、2 つ目のアプリ登録を作成します。

トークンの交換 URL の追加

Copilot Studio で Microsoft Entra ID 認証設定を更新するには、トークン交換 URL を追加して、アプリと Copilot Studio が情報を共有できるようにします。

  1. 認証アプリの登録ページの Azure ポータルで、Expose an API に移動します。

  2. スコープの下で、クリップボードにコピー アイコンを選択します。

  3. Copilot Studio の Settings のナビゲーション メニューで、Security を選択し、Authentication タイルを選択します。

  4. トークンの交換 URL (SSO に必要)に、先ほどコピーしたスコープを貼り付けます。

  5. 保存を選びます。

キャンバス アプリ クライアント ID を構成して API メニューを公開する

  1. Azure portal の認証アプリ登録ページで、[ 概要] に移動します。

  2. [要点] の下の [アプリケーション (クライアント) ID] の値をコピーします。

  3. ナビゲーション バーで、[管理>API をExpose] を選択します。

  4. 承認済みクライアント アプリケーションクライアント アプリケーションの追加を選択し、コピーしたクライアント ID を貼り付けます。

  5. 保存を選びます。

キャンバス アプリの登録を設定する

  1. キャンバス アプリの登録を作成した後は、認証にアクセスし、プラットフォームの追加を選択します。

  2. プラットフォームの構成プラットフォームの追加、次に SPA を選択します。

  3. [ リダイレクト URI] に、Web ページの URL を入力します。 たとえば、「 http://contoso.com/index.html 」のように入力します。

    Web の構成ページのスクリーンショット。

  4. 暗黙的な許可とハイブリッド フロー セクションで、アクセス トークン (暗黙的なフローに使用)ID トークン (暗黙的およびハイブリッド フローに使用) の両方をオンにします。

  5. 設定を選択します。

エージェントのトークン エンドポイント URL を見つける

  1. Copilot Studio でエージェントを開き、Channels を選択します。

  2. モバイル アプリを選択します。

  3. トークン エンドポイントの下で、コピーを選択します。

    Copilot StudioでトークンエンドポイントURLをコピーするスクリーンショット

Web ページで SSO を構成する

重要

ゲスト ユーザーは、SSO 対応アプリの SharePoint および Graph Connector データ ソースから AI によって生成された回答にアクセスできません。

リダイレクト URL の Web ページを作成するには、 Copilot Studio Samples GitHub リポジトリ に用意されているコードを使用します。 GitHub リポジトリからコードをコピーし、次の手順に従って変更します。

  1. Azure ポータルの Overview ページに移動し、キャンバス アプリの登録から Application (クライアント) IDDirectory (テナント) ID をコピーします。

    概要、アプリケーション ID、ディレクトリ ID が強調表示されているAzure ポータルの [アプリ登録の概要] ページのスクリーンショット。

  2. Microsoft Authentication Library (MSAL) を構成するには:

    • clientIdアプリケーション (クライアント) ID に割り当てます。
    • authorityhttps://login.microsoftonline.com/ に割り当て、最後に ディレクトリ (テナント) ID を追加します。

    例:

    var clientApplication;
        (function (){
        var msalConfig = {
            auth: {
                clientId: '00001111-aaaa-2222-bbbb-3333cccc4444',
                authority: 'https://login.microsoftonline.com/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'     
            },
    
  3. theURL 変数を、すでにコピーしたトークン エンドポイント URL に設定します。 例:

    (async function main() {
    
        var theURL = "https://<token endpoint URL>"
    
  4. userId の値を編集して、カスタム接頭辞を含めます。 例:

    var userId = clientApplication.account?.accountIdentifier != null ? 
            ("My-custom-prefix" + clientApplication.account.accountIdentifier).substr(0, 64) 
            : (Math.random().toString() + Date.now().toString()).substr(0,64);
    
  5. 変更を保存。

  6. SSO が正常に構成されたことを確認します。

    エージェントをテストするときに、SSO が正常に構成されていない場合は、サインインするように求められます。 サインイン プロセスでは、チャット ウィンドウにコピーする必要がある検証コードが提供されます。

    サインイン プロンプトが表示されたら、この手順のステップ 1 から 5 を正しく完了したか確認します。 SSO が正常に構成されている場合、サインインのプロンプトは表示されません。

    注意

    GitHub リポジトリのコードでは、ユーザーがサインイン ボタンを選択する必要があります。 運用環境では、ボタンの機能をページへの遷移など、より適切なイベントに置き換えることを検討してください。