次の方法で共有


Microsoft Entra ID を使用してシングル サインオンを構成する

Copilot Studio は、シングル サインオン (SSO) をサポートしています。 SSO を使用すると、Web サイト上のコパイロットは、コパイロットが展開されているページまたはアプリに既にサインインしている場合に、顧客をサインインすることができます。

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

Copilot Studio の SSO を構成する、4 つの主な手順があります:

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

  2. コパイロットのカスタム スコープを定義します。

  3. SSO を有効にするように Copilot Studio で認証を構成します。

  4. SSO を有効にするように、カスタム キャンバス HTML コードを構成します。

前提条件

注意

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

サポート対象のチャネル

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

Channel サポート対象
Azure Bot Serviceチャネル サポートしていません
カスタムウェブサイト サポート対象
デモウェブサイト サポートしていません
Facebook サポートしていません
Microsoft Teams1 サポート対象
モバイルアプリ サポートしていません
Customer Service用オムニチャネル2 サポート対象

1 Teamsチャネルも有効になっている場合は、 副操縦士のIDを使用してシングル サインオンを構成する Microsoft Entra ドキュメント Microsoft Teams の構成手順を 追従する する必要があります。 そのページの指示に従って Teams SSO 設定を構成しないと、ユーザーは Teams チャネルを使用するときに常に認証に失敗します。

2 ライブチャットチャネルのみがサポートされています。 詳細については、Dynamics 365 Customer Service へのハンドオフを構成する を参照してください。

重要

現在、コパイロットが次のいずれかの場合、SSO はサポートされていません:

ただし、SPFxコンポーネントとして SharePoint Webサイトに公開されたコパイロットでは、SSO がサポートされます。

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

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

  • 認証アプリ登録 で、コパイロットの Microsoft Entra ID ユーザー認証を有効にします
  • カスタム Web ページの SSO を有効にするキャンバス アプリの登録

セキュリティ上の理由から、コパイロットとカスタム Web サイトの両方に同じアプリ登録を再利用することはお勧めしません。

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

  2. 追従する 認証アプリ登録を再度作成する手順を実行して、キャンバス アプリ登録として機能する2番目のアプリ登録を作成します。

  3. 認証アプリ登録にキャンバス アプリの登録 ID を追加します。

トークンの交換 URL の追加

Copilot Studio の Microsoft Entra ID認証設定を更新するには、トークン エクスチェンジ URL を追加して、アプリと Copilot Studio が情報を共有できるようにする必要があります。

  1. Azure ポータルの認証アプリ登録ブレードで、API を公開する にアクセスします。

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

  3. Copilot Studio の ナビゲーション メニューの 設定 で、セキュリティ を選択して 認証 タイルを選択します。

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

  5. 保存 を選びます。

キャンバス アプリの登録を構成する

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

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

  3. リダイレクト URI の下で、http://contoso.com/index.html などの Web ページの URL を入力します。

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

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

  5. 構成を選択します。

コパイロットのトークン エンドポイント URL を確認する

  1. Copilot Studio で、コパイロットを開いた状態で、チャネル を選択します。

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

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

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

Web ページで SSO を構成する

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

注意

GitHub リポジトリのコードでは、ユーザーがログイン ボタンを選択 するか、別のサイトからログインする必要があります。 自動ログインを有効にするには、 aysnc function main() の先頭に次のコードを追加します。

    (async function main() {
        if (clientApplication.getAccount() == null) {
           await clientApplication.loginPopup(requestObj).then(onSignin).catch(function (error) {console.log(error) });
        }
        // Add your BOT ID below 
        var theURL =
  1. Azure ポータルの概要ページに移動し、キャンバス アプリ登録からアプリケーション (クライアント) IDディレクトリ (テナント) ID をコピーします。

    概要、アプリケーション ID、およびディレクトリ ID が強調表示された、Azure portal のアプリ登録の概要ページのスクリーンショット。

  2. Microsoft Authentication Library (MSAL) を構成する方法:

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

    例:

    var clientApplication;
        (function (){
        var msalConfig = {
            auth: {
                clientId: '692e92c7-xxxx-4060-76d3-b381798f4d9c',
                authority: 'https://login.microsoftonline.com/7ef988bf-xxxx-51af-01ab-2d7fd011db47'     
            },
    
  3. theURL 変数を、すでにコピーしたトークン エンドポイント URL に設定します。 例:

    (async function main() {
    
        var theURL = "https://1c0.0.environment.api.powerplatform.com/powervirtualagents/bots/5a099fd/directline/token?api-version=2022-03-01-preview"
    
  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. 変更を保存。

Web ページを使用してコパイロットをテストする

  1. ブラウザで Web ページを開きます。

  2. ログインを選択します。

    検証コードを使用したログインのスクリーンショット

    Note

    ブラウザーがポップアップをブロックしている場合、またはシークレットまたはプライベートブラウザー ウィンドウを使用している場合は、ログインするよう求められます。 それ以外の場合、ログインは検証コードを使用して完了します。

    新しいブラウザー タブが開きます。

  3. 新しいタブに切り替えて、検証コードをコピーします。

  4. コパイロットのあるタブに戻り、コパイロットの会話に検証コードを貼り付けます。