次の方法で共有


Copilot Studio Kit テスト用のMicrosoft認証を設定する

この記事では、エージェント テスト ランナー Power Apps Component Framework (PCF) を使用してエージェントCopilot StudioエージェントをテストするためのMicrosoft認証を設定するためのエージェント テスト フレームワークの概要と手順について説明します。

Architecture

Microsoft認証は、テスト シナリオ用に最適化された、ブラウザーとAgent SDKを結ぶ合理化されたアーキテクチャを提供します。 この方法により、追加の認証インフラストラクチャを必要とせずに、テスト環境とCopilot Studio エージェント間の安全な通信が可能になります。

フロー アーキテクチャ

次のシーケンス図は、認証とテストの実行フローを示しています。

認証とテスト用のブラウザーからエージェントへの SDK アーキテクチャを示す図。

コンポーネント アーキテクチャ

次の図は、エージェント テスト ランナーのMicrosoft認証フローに関連する主要なコンポーネントを示しています。

ブラウザー環境、Power Platform サービス、認証サービスなど、テスト フローに関連する主要なコンポーネントを示す図。

Microsoft認証を設定する

セットアップ プロセスでは、Azure ポータルでアプリケーションを登録し、Copilot Studioからエージェント識別子を取得し、Dataverse で構成レコードを作成します。

Azure ポータル

Azure ポータルで、アプリの登録を作成し、リダイレクト URL を追加して、API のアクセス許可を構成します。

テナント管理権限がある場合は、API のアクセス許可を構成できます。 それ以外の場合は、テナント管理者に依頼する必要があります。

  1. Azure ポータルでアプリの登録を作成します。

    アプリケーション (クライアント) IDディレクトリ (テナント) ID の両方をコピーしてください。 これらの値は 、[概要 ] ページから取得できます。

  2. Azure ポータルで API アクセス許可を構成します。

    1. アプリの登録で、 API のアクセス許可に移動します。

    2. [アクセス許可の追加] を選択します。

    3. [所属する組織で使用している API] タブを選択します。

    4. Power Platform API を検索します。

      一覧に Power Platform API が表示されない場合は、テナントに API を追加する必要があります。 Power Platform API 認証手順 2 の手順に従います。

    5. [委任されたアクセス許可] を選択します。

    6. [CopilotStudio] で、[CopilotStudio.Copilots.Invoke] を選択します。

    7. アクセス許可の追加 を選択します。

    8. あなたの組織に対して管理者同意を付与する<を選択します>。 ボタンが使用できない場合は、テナント管理者に依頼する必要があります。

  3. Azure ポータルでリダイレクト URL を追加し、トークン設定を構成します。

    1. アプリの登録で [認証 ] に移動します。

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

    3. シングル ページ アプリケーションを選択します。

    4. 次の形式で環境 URL を入力します。 https://[your-org].crm.dynamics.com

    5. アクセス トークン (暗黙的フローに使用)ID トークン (暗黙的フローとハイブリッド フローに使用) の両方を選択します。

    6. 設定を選択します。

    7. [サポートされているアカウントの種類] がこの組織ディレクトリの [アカウント] にのみ設定されていることを確認します。

Copilot Studioと Dataverse

Copilot Studioで、エージェントの環境 ID とエージェント識別子を取得して、Dataverse にエージェント構成レコードを作成します。

  1. Copilot Studioで次の手順を実行します。

    1. 正しい環境にあることを確認します。

    2. テストするエージェントを選択し、発行されていることを確認します。

    3. [設定] で、[詳細設定>Metadata] を選択します。

    4. [環境 ID] と [スキーマ名] の値をコピーします。 スキーマ名は エージェント識別子 であり、 cr123_agentname形式を使用します。

  2. 前の手順の値を使用して、Dataverse に エージェント構成 レコードを作成します。

    フィールド 価値 Example
    ユーザー認証 Microsoft認証
    クライアント ID 手順 1 のアプリケーション (クライアント) ID (Azure ポータル 00001111-aaaa-2222-bbbb-3333cccc4444
    テナント ID 手順 1 のディレクトリ (テナント) ID (Azure ポータル 11112222-bbbb-3333-cccc-4444dddd5555
    環境 ID 前の手順の環境 ID。 11111111-2222-3333-4444-555555555555
    エージェント識別子 前の手順のスキーマ名。 cr123_testagent

トラブルシューティング

このセクションでは、発生する可能性がある一般的なエラーのトラブルシューティング手順について説明します。

認証エラー

エラー: "AADSTS50011: 要求で指定された応答 URL が一致しません"

  • 原因: アプリの登録におけるリダイレクト URI の不一致。

  • 解決策:

    1. Azure ポータルで、アプリの登録 に移動し、Manage>Authentication を選択します。
    2. リダイレクト URI が環境 URL と正確に一致していることを確認します。
    3. 次の形式を使用します。 https://[your-org].crm.dynamics.com

エラー: "AADSTS65001: ユーザーまたは管理者が同意していません"

  • 原因: API のアクセス許可または管理者の同意がありません。

  • 解決策:

    1. Azure ポータルで、アプリの登録 に移動し、Manage>API アクセス許可 を選択します。
    2. CopilotStudio.Copilots.Invoke アクセス許可が追加されていることを確認します。
    3. 管理者の同意を許可する を選択します。

サインイン ポップアップが毎回表示される

  • 原因: アカウントがキャッシュされていないか、ブラウザーの設定によってトークンストレージが妨げられます。

  • 解決策:

    1. ブラウザーでDynamics ドメインのポップアップ ウィンドウが許可されていることを確認します。
    2. ブラウザーがシークレット モードまたはプライベート モードであることを確認します。
    3. ブラウザーがサードパーティの Cookie をブロックしていないことを確認します。
    4. ブラウザーのキャッシュをクリアして、もう一度やり直してください。
    5. 組織のポリシーによって再認証が強制されているかどうかを確認します。

エラー: ブラウザーコンソール内の「InteractionRequiredAuthError」

  • 原因: サイレント認証が失敗し、対話型サインインがトリガーされた場合の通常の動作。

  • 想定される動作:

    • このエラーは、サイレント認証が失敗したときに発生します。
    • サインイン ポップアップが自動的に表示されます。
  • アクションが必要: なし。

エージェント SDK エラー

エラー: "404 Not Found - Agent not found" (404 が見つかりません - エージェントが見つかりません)

  • 原因: エージェント ID または環境 ID が正しくありません。

  • 解決策:

    1. Settings > Advanced > Metadata の下のCopilot Studioのエージェント識別子 (スキーマ名) を確認します。
    2. 環境 ID が、エージェントが発行されている環境と一致していることを確認します。
    3. エージェントが公開されており、アクセス可能であることを確認します。

エラー: "401 Unauthorized"

  • 原因: 認証トークンの問題。

  • 解決策:

    1. ユーザーがCopilot Studio環境にアクセスできるかどうかを確認します。
    2. アプリ登録のアクセス許可を確認します。
    3. ブラウザーのキャッシュをクリアし、認証を再試行します。

エラー: "403 Forbidden"

  • 原因: エージェントにアクセスするためのアクセス許可が不十分です。

  • 解決策:

    1. ユーザーが Dataverse で適切なセキュリティ ロールを持っていることを確認します。
    2. エージェントでユーザーのセキュリティ ロールが許可されているかどうかを確認します。
    3. 環境のアクセス許可を確認します。

エージェント テストランナー コントロールエラー

エラー: "認証サービスの初期化に失敗しました"

  • 原因: エージェント構成レコードの構成が無効です。

  • 解決策:

    1. 4 つの構成値がすべて正しいことを確認します。
      • クライアントID
      • テナント ID
      • 環境 ID
      • エージェント識別子
    2. 余分なスペースまたは無効な文字がないか確認します。

エラー: "外部サービス呼び出しがブロックされました"

  • 原因: 外部サービスの使用が不足しています。

  • 解決策:

    • モデル駆動型アプリのエンド ユーザーの場合:
      • このエラーは、通常、デプロイまたは構成の問題を示します。
      • システム管理者または開発者に問い合わせてください。
      • 管理者または開発者の介入が必要であるため、この問題を解決できるユーザー アクションはありません。
    • システム管理者の場合:
      • 組織のセキュリティ ポリシーによって外部呼び出しがブロックされているかどうかを確認します。
      • ファイアウォールとプロキシの設定で、必要なMicrosoft ドメインへの接続が許可されていることを確認します。

ネットワークと CORS のエラー

エラー: "CORS ポリシー: 'Access-Control-Allow-Origin' ヘッダーがありません"

  • 原因: クロスオリジン要求がブロックされました。

  • 解決策:

    1. Azureのリダイレクト URI が正確なドメインと一致していることを確認します。
    2. すべての URL に HTTPS を使用します。
    3. 混合コンテンツ (HTTP/HTTPS) の問題がないことを確認します。

エラー: "フェッチに失敗しました"

  • 原因: ネットワーク接続またはファイアウォールの問題。

  • 解決策:

    1. ネットワークの接続状態を次に対して確認してください。
      • login.microsoftonline.com
      • api.powerplatform.com
    2. ファイアウォールで送信 HTTPS トラフィックが許可されていることを確認します。
    3. 該当する場合は、プロキシ設定を確認します。

テスト実行エラー

エラー: "テスト実行タイムアウト"

  • 原因: エージェントの応答に時間がかかりすぎます。

  • 解決策:

    1. Copilot Studioでエージェントのパフォーマンスを確認します。
    2. エージェントが公開されていて正常に動作していることを確認します。

エラー: "会話の作成に失敗しました"

  • 原因: エージェント SDK の初期化に失敗しました。

  • 解決策:

    1. エージェントが公開されていることを確認します。
    2. Copilot Studioでエージェントの構成を確認します。
    3. エージェントがテスト シナリオをサポートしていることを確認します。

デバッグのヒント

  1. ブラウザー開発者ツールを有効にする:

    • F12 キーを押して開発者ツールを開きます。
    • JavaScript エラーの [コンソール] タブを確認します。
    • [ネットワーク] タブで失敗した要求を確認します。
  2. 認証フローを確認します。

    • サインイン中に [ネットワーク] タブを監視します。
    • login.microsoftonline.comから 200 件の応答を探します。
    • コンソール ログでトークンの取得を確認します。
  3. 構成を検証します。

    • すべての GUID と識別子を確認します。
    • 余分なスペースや特殊文字がないことを確認します。
    • 環境とエージェントのアクセシビリティを確認します。
  4. 分離してテストする:

    • Copilot Studioでエージェントを直接試します。