次の方法で共有


Copilot Studio カスタムエージェントの外部脅威の検出と保護を有効化する (プレビュー)

[この記事はプレリリース ドキュメントであり、変更されることがあります。]

Copilot Studio で作成されたカスタムエージェントは既定で保護されています。 これには、ユーザー プロンプトインジェクション攻撃 (UPIA) やクロスドメイン プロンプト インジェクション攻撃 (XPIA) など、さまざまな脅威に対する組み込みの保護が含まれます。 実行時に、エージェントはこれらの種類の攻撃をブロックし、データ流出のリスクを軽減します。

Copilot Studio では、カスタム エージェントの監視機能とセキュリティをさらに強化するために、組織は監視を強化するために 外部の脅威検出システム を構成できます。 これらのツールはエージェントの実行中に動作し、エージェントの活動を継続的に評価します。 システムが不審なツールやアクションを検出した場合は、その実行を阻止するために介入することができます。 この脅威検出機能により、リアルタイムの保護とコンプライアンスの強化が実現します。

Important

外部脅威検知は、生成オーケストレーションを使用する生成エージェントにのみ呼び出されます。 従来のエージェントでは、外部脅威の検知はスキップされます。

動作方法

外部の脅威検出システムは Web サービスとして設定され、脅威検出エンドポイントを使用して REST API が公開されます。 セキュリティで保護された接続は、エージェントとエンドポイントの間で構成されます。 オーケストレーターは、実行時にツールの呼び出しを検討するたびに、提案されたツールの使用に関する関連データを脅威検出エンドポイントに送信して評価します。 脅威検出システムはデータを分析し、ツールの呼び出しを許可またはブロックする決定を返します。

エージェントの動作中に脅威検知システムがセキュリティ上の問題を検知した場合、エージェントは直ちに処理を停止し、メッセージがブロックされたことをユーザーに通知します。 一方、システムが操作を承認すると、エージェントはシームレスに続行され、ユーザーに対して目に見える影響や中断はありません。

Important

この記事には、Microsoft Copilot Studio のプレビュー ドキュメントが含まれており、変更される可能性があります。

プレビュー機能は運用環境向けではなく、機能が制限されている可能性があります。 これらの機能は公式リリースの前に利用できるため、早期にアクセスして フィードバックを提供できます。

運用対応エージェントを構築する場合は、 Microsoft Copilot Studio の概要を参照してください。

外部脅威検出を設定するためのオプション

Copilot Studio は、柔軟な「Bring Your Own Protection」 のアプローチをサポートしています。 組織は、独自の要件に最適なセキュリティ ソリューションを自由に統合できます。

オプションは次のとおりです。

  • 独自のカスタム監視ツールを開発するか、他のユーザーに開発してもらう。 エージェントが接続できるようにシステム エンドポイントを設定する方法の詳細については、Copilot Studio エージェント用のランタイム脅威検出システムの構築に関するページを参照してください。
  • Microsoft Defender による堅牢なエンタープライズ ソリューションの適用
  • 他の信頼できるセキュリティ プロバイダーの製品を使用する

脅威検知プロバイダーと共有されるデータは何ですか?

脅威検出システムへの接続を構成すると、エージェントは実行中に外部セキュリティ プロバイダーとデータを共有します。 エージェントは、ツールの呼び出しを検討するたびにサービスと通信します。 このデータ共有により、エージェントのユーザーのエクスペリエンスを低下させることなく、構成システムによる効率的な意思決定が保証されます。

システムと共有されるハイレベルなデータには、以下のようなものがあります:

  • ユーザーの最近のプロンプトと、エージェントとユーザー間で交換されたチャットメッセージの最新の履歴。
  • エージェントが過去に使用したツールの出力。
  • 会話メタデータ: エージェントの ID、エージェントと対話するユーザー、ユーザーのテナント、およびトリガーをトリガーしたトリガー (該当する場合)。
  • エージェントが呼び出そうとしているツール(このツールが選択された理由についてのエージェントによる生成理由、提案された入力や値など)。

Important

  • プロバイダーのデータ処理ポリシーは、Microsoft が使用するポリシーとは異なる可能性があります。 違いには、地理的リージョン外でのデータの処理と格納が含まれる場合があります。
  • プロバイダーと条件が標準を満たし、組織のデータを保護するために必要な規制に準拠していることを確認する必要があります。
  • 脅威検出サービスとのデータ共有をブロックする場合は、いつでも統合を切断できます。

[前提条件]

開始する前に、次のものが必要です。

  • エージェント ツールの使用要求を評価するように設定された外部脅威検出サービス。 サービスは、REST API エンドポイントを公開する必要があります。 統合の Copilot Studio 側でのセットアップには、セキュリティ プロバイダー Web サービスの ベース URL が 必要です。 この記事では、この URL をエンドポイントとして参照 します。 エージェントは、このベース URL で API に脅威検出の要求を送信します。 この URL は、セキュリティ プロバイダーから受け取ります。
  • エージェントと脅威検出サービスの間で認証用のアプリケーションを登録できる Microsoft Entra テナント。
  • 個々の環境レベルと環境グループ レベルの両方について、エージェントと外部脅威検出システム間の接続を構成する Power Platform 管理者ロールを持つユーザー。

外部脅威検知システムの構成

エージェントに外部脅威検知システムを構成するプロセスには、2 つのステップがあります:

  1. Microsoft Entra アプリケーションを作成する。
  2. Power Platform 管理センターで脅威検出を構成します。

手順 1: Microsoft Entra アプリケーションを構成する

Microsoft Entra アプリケーションを構成するには、次の 2 つのパスを使用できます。

  • オプション A: PowerShell スクリプトを使用して構成する (推奨)
  • オプション B: Azure portal を使用して手動で構成する

提供されている PowerShell スクリプトを使用して、Microsoft Entra アプリケーションの作成と構成を自動化できます。

PowerShell の構成の前提条件

  • Windows PowerShell 5.1 以降
  • Microsoft Entra テナントにおいてアプリケーション登録の作成に十分な権限
  • 脅威検出 Web サービスのベース URL。 URL は、後に続くスクリプト パラメーターの Endpoint と呼ばれます。 この URL は、セキュリティ プロバイダーから受け取ります。
  • 組織の Microsoft Entra テナント ID。 テナント ID は、次のスクリプト パラメーターの TenantId と呼ばれます。

スクリプトをダウンロードして準備する

Create-CopilotWebhookApp.ps1 スクリプトのダウンロード。

スクリプト パラメーター

このスクリプトは、次のパラメーターを受け取ります:

Parameter タイプ 必須 説明
TenantId String イエス GUID 形式の Microsoft Entra テナント ID (たとえば、 12345678-1234-1234-1234-123456789012)。
エンドポイント String イエス 外部脅威検出サービスのベース URL (セキュリティ プロバイダーによって提供されます)。 セキュリティ プロバイダーとして Microsoft Defender を使用している場合は、 Defender ポータルからエンドポイントを取得できます。
DisplayName String イエス アプリケーションの登録に指定する一意の表示名。 1 ~ 120 文字です。
FICName String イエス フェデレーション ID 資格情報に指定する一意の名前。 1 ~ 120 文字です。
DryRun Switch いいえ 省略可能なフラグ。 -DryRun フラグが指定されると、スクリプトはリソースを作成せずに検証の実行を実行します。

スクリプトの実行

アプリケーションを作成する方法:

  1. 管理者として Windows PowerShell を開きます。

  2. スクリプトが含まれているディレクトリに移動します。

  3. 次のスクリプトを実行し、 TenantIdEndpointDisplayNameFICName のプレースホルダー値を独自のパラメーターに置き換えます。

    .\Create-CopilotWebhookApp.ps1 `
    -TenantId "11111111-2222-3333-4444-555555555555" `
    -Endpoint "https://provider.example.com/threat_detection/copilot" `
    -DisplayName "Copilot Security Integration - Production" `
    -FICName "ProductionFIC"
    

対話型スクリプトはコマンド ラインで実行されます。 このスクリプトは、作成された Microsoft Entra アプリケーションのアプリ ID を出力します。 後で Power Platform 管理センターで脅威検出を構成するときに、アプリ ID が必要になります。

オプション B: Azure portal を使用して手動で構成する

手動構成の前提条件

  • 組織の Microsoft Entra テナント ID。 テナント ID は、次の手順で tenantId と呼ばれます。
  • Microsoft Entra テナントでアプリケーション登録を作成するための十分なアクセス許可。
  • 使用している脅威検出 Web サービスのベース URL。 これは、次の手順で エンドポイント と呼ばれます。 この URL は、セキュリティ プロバイダーから受け取ります。

Microsoft Entra アプリケーションを登録する

Microsoft Entra アプリケーションの登録を作成するには、次の手順に従います。 アプリケーションは、エージェントと脅威検出 Web サービスの間の認証をセキュリティで保護するために使用されます。 このようなアプリを作成する方法については、Microsoft Entra ID にアプリケーションを登録する を参照してください。

  1. Azure portal にサインインし、Microsoft Entra ID のページに移動します。
  2. アプリの登録で、新しい登録を選択します。
  3. サポートされているアカウントの種類として、名前を指定し、この組織のディレクトリ内のアカウントのみ (シングル テナント)を選択します。
  4. アプリを登録します。
  5. アプリが作成されたら、アプリ ID をコピーします。 後で Power Platform 管理センターで脅威検出を構成するときに、アプリ ID が必要になります。

選択したプロバイダで Microsoft Entra アプリケーションを認証する

エージェントは、セキュリティで保護されたシークレットのない認証方法としてフェデレーション ID 資格情報 (FIC) を使用して、脅威検出システム プロバイダーとデータを交換します。 Microsoft Entra アプリケーションの FIC を構成するには、次の手順に従います。 詳細については、「 外部 ID プロバイダーを信頼するようにユーザー割り当てマネージド ID を構成する」を参照してください。

  1. Azure portal を開き、[ アプリの登録] に移動します。 上記の手順 1 で作成したアプリケーションを選択します。

  2. サイドバーで、管理>認証 &シークレット>フェデレーション資格情報を選択します。

  3. 資格情報の追加を選択します。

  4. フェデレーション資格情報のシナリオのドロップダウンで、その他の発行者を選択します。

  5. 次の手順に従ってフィールドに入力します:

    • 発行者: 次の URL を入力し、 {tenantId} を組織の Microsoft Entra テナント ID に置き換えます。 https://login.microsoftonline.com/{tenantId}/v2.0

    • : 明示的なサブジェクト識別子を選択します。

    • : 次のように構造化された文字列を入力します。 /eid1/c/pub/t/{base 64 encoded tenantId}/a/m1WPnYRZpEaQKq1Cceg--g/{base 64 encoded endpoint}

      組織の Microsoft Entra テナント ID と脅威検出 Web サービスのベース URL に対して base64 エンコードを実行します。 プレースホルダー {base 64 encoded tenantId} をテナント ID の base64 でエンコードされた値に置き換え、プレースホルダー {base 64 encoded endpoint} を base64 でエンコードされたベース URL に置き換えます。

      テナント ID とエンドポイント URL の base64 エンコードを取得するには、次の PowerShell スクリプトを使用します。 プレースホルダーの値 "11111111-2222-3333-4444-555555555555" と "https://provider.example.com/threat_detection/copilot"" をテナント ID およびエンドポイント URL の実際の値に置き換えます。

      # Encoding tenant ID
      $tenantId = [Guid]::Parse("11111111-2222-3333-4444-555555555555")
      $base64EncodedTenantId = [Convert]::ToBase64String($tenantId.ToByteArray()).Replace('+','-').Replace('/','_').TrimEnd('=')
      Write-Output $base64EncodedTenantId
      
      # Encoding the endpoint
      $endpointURL = "https://provider.example.com/threat_detection/copilot"
      $base64EncodedEndpointURL = [Convert]::ToBase64String([Text.Encoding]::UTF8.GetBytes($endpointURL)).Replace('+','-').Replace('/','_').TrimEnd('=')
      Write-Output $base64EncodedEndpointURL
      
    • 名前: わかりやすい名前を選択します。

  6. [追加] ボタンを選びます。

手順 2: 脅威検出システムを構成する

次に、Power Platform 管理センターで脅威検出システムを構成して、エージェントを外部セキュリティ プロバイダーに接続する必要があります。

Power Platform 管理センターで脅威検出を構成するための前提条件

  • 前の手順で作成した Microsoft Entra アプリケーションのアプリ ID。
  • 外部監視システムのプロバイダーによって提供されるエンドポイント リンク。 エンドポイント リンクは、Microsoft Entra アプリケーションを構成するときに使用するのと同じベース URL エンドポイントです。
  • 接続を構成するための Power Platform 管理者ロールを持つユーザー。
  • 登録されているアプリケーションを承認するためにセキュリティ プロバイダーに必要なその他の手順を実行します。 特定のオンボードと承認の手順については、プロバイダーのドキュメント (該当する場合) を参照する必要があります。

Power Platform 管理センターで脅威検出システムを構成するには、次の手順に従います。

  1. Power Platform 管理センターにサインインします。
  2. サイド ナビゲーションで、[ セキュリティ ] を選択し、[ 脅威の検出] を選択します。 [ 脅威検出 ] ページが開きます。
  3. [ 追加の脅威検出] を選択します。 ウィンドウが開きます。
  4. エージェント保護を強化する環境を選択し、[ セットアップ] を選択します。 ウィンドウが開きます。
  5. [ Copilot Studio で脅威検出プロバイダーとデータを共有できるようにする] を選択します
  6. [ Azure Entra アプリ ID] に、前に作成した Microsoft Entra アプリケーションのアプリ ID を入力します。
  7. 外部監視システムのプロバイダーによって提供される [エンドポイント] リンク を入力します。 エンドポイント リンクは、Microsoft Entra アプリケーションを構成するときに使用するのと同じベース URL エンドポイントです。
  8. [ エラー動作の設定] で、脅威検出システムが時間内に応答しない場合やエラーで応答する場合のシステムの既定の動作を定義します。 既定では、これは エージェントの応答を許可するように設定されていますが、[ クエリをブロック する] オプションを選択してリスクをさらに軽減することもできます。
  9. 保存 を選択します。

Important

Microsoft Entra アプリが Microsoft Entra で適切に構成されていない場合、または選択したプロバイダーに対して適切に承認されていない場合、保存は失敗します。

構成が完了すると、脅威検出システムはエージェントによるツール呼び出しの前にトリガーされます。 エージェントが 1 秒以内にシステム (許可またはブロック) から決定を受け取らない場合は、計画どおりにツールの実行が 許可 されます。

トラブルシューティング

発生する可能性がある問題とその処理方法に関する情報を次に示します。

Power Platform 管理センターの脅威検出の構成に関する問題

次の表は、前述のステップで保存を選択した際に発生する可能性のある一般的なエラーと、これらのエラーの対処方法について説明したものです:

エラー 処理方法
設定の保存中に問題が発生しました。 もう一度保存をお試しください。それでも問題が解決しない場合は、管理者に問い合わせてください。 構成の保存に関する一般的な問題。 やり直してください。 それでも問題が解決しない場合は、Copilot Studio のサポートに問い合わせてください。
保護プロバイダーに接続する際に問題が発生しました。 プロバイダーに問い合わせてください。 このエラーは、提供されたエンドポイントへの呼び出しがタイムアウトまたは失敗した場合に表示されます。 プロバイダーに問い合わせ、サービスに問題がないことを確認してください。
保護プロバイダーに接続する際に問題が発生しました。 エンドポイント リンクを確認してください。 それでも問題が解決しない場合は、保護プロバイダーにお問い合わせください。 このエラーは、提供されたエンドポイントへの呼び出しが失敗した場合に表示されます。 指定されたエンドポイント リンクを確認し、それが機能しない場合は、脅威検出サービス プロバイダーに問い合わせて、サービスに問題がないことを確認します。
保護プロバイダーに接続する際に問題が発生しました。 もう一度やり直してください。それでも問題が解決しない場合は、保護プロバイダーにお問い合わせください。 このエラーは、提供されたエンドポイントへの呼び出しが失敗した場合に表示されます。 もう一度やり直してください。それでも問題が解決しない場合は、プロバイダーに問い合わせて、サービスに問題がないことを確認してください。
構成に問題が発生しました。 入力した詳細と Microsoft Entra の構成を確認してみてください。 それでも問題が解決しない場合は、管理者に問い合わせてください。 トークンの取得に失敗しました。 Microsoft Entra アプリケーション構成とフェデレーション ID 資格情報を確認します。 特定の問題の詳細については、[エラー情報のコピー] を選択した後で確認できます。
構成を変更するには、Power Platform の管理者権限を持っていることを確認してください。 必要な権限を持つユーザーがいること

エラーの詳細については、[ エラー情報のコピー] を選択します。

Microsoft Entra と認証に関する一般的な問題

Microsoft Entra アプリと認証で発生する可能性のあるその他の一般的な問題を次に示します。

Microsoft Entra アプリケーションが存在しない

: トークンの取得に失敗しました: AADSTS700016: 識別子 『55ed00f8-faac-4a22-9183-9b113bc53dd4』 を持つアプリケーションがディレクトリ 『Contoso』 に見つかりませんでした。 これは、アプリケーションがテナントの管理者によってインストールされていないか、テナントのユーザーによって同意されていない場合に発生する可能性があります。 認証要求を間違ったテナントに送信した可能性があります。

処理方法: 指定されたアプリケーション ID が正しいこと、Azure に存在することを確認します。

アプリで FIC が構成されていない

例: トークンの取得に失敗しました: 構成の問題によって認証が妨げられます。詳細については、サーバーからのエラー メッセージを確認してください。 構成は、アプリケーション登録ポータルで変更できます。 詳細については、https://aka.ms/msal-net-invalid-client を参照してください。 元の例外: AADSTS70025: クライアント '57342d48-0227-47cd-863b-1f4376224c21'(Webhooks テスト) にフェデレーション ID 資格情報が構成されていません。

処理方法: 指定されたアプリに FIC が構成されていません。 ドキュメントに従い、それに応じて FIC を構成します。

無効な FIC 発行者

例: トークンの取得に失敗しました: 構成の問題によって認証が妨げられます。詳細については、サーバーからのエラー メッセージを確認してください。 構成は、アプリケーション登録ポータルで変更できます。 詳細については、https://aka.ms/msal-net-invalid-client を参照してください。 元の例外: AADSTS7002111: 提示されたアサーション発行者 「https://login.microsoftonline.com/262d6d26-0e00-40b3-9c2f-31501d4dcbd1/v2.0」 に一致するフェデレーション ID レコードが見つかりません。 フェデレーション ID 資格情報発行者が 「https://login.microsoftonline.com/{tenantId}/v2.0」 であることを確認してください。

処理方法: アプリで予想される発行者を持つ FIC が見つかりませんでした。 FIC 構成を開き、発行者を https://login.microsoftonline.com/{tenantId}/v2.0 に設定します (テナント ID を入力します)。

FIC サブジェクトが無効です

例: トークンの取得に失敗しました: 構成の問題によって認証が妨げられます。詳細については、サーバーからのエラー メッセージを確認してください。 構成は、アプリケーション登録ポータルで変更できます。 詳細については、https://aka.ms/msal-net-invalid-client を参照してください。 元の例外: AADSTS7002137: 提示されたアサーション サブジェクト '/eid1/c/pub/t/Jm0tJgAOs0CcLzFQHU3L0Q/a/iDQPIrayM0GBBVzmyXgucw/aHR0cHM6Ly9jb250b3NvLnByb3ZpZGVyLmNvbeKAiw' に一致するフェデレーション ID レコードが見つかりません。 フェデレーション ID 資格情報サブジェクトが '/eid1/c/pub/t/{tenantId}/a/iDQPIrayM0GBBVzmyXgucw/aHR0cHM6Ly9jb250b3NvLnByb3ZpZGVyLmNvbeKAiw' であることを確認します。

処理方法: アプリで予想されるサブジェクトを持つ FIC が見つかりませんでした。 FIC 構成を開き、エラーで推奨される値 (テナント ID を入力) にサブジェクトを設定します。 件名フィールドに余分な空白や空白行がないことを確認します。

アプリがプロバイダーで許可リストに登録されていない (Microsoft Defender 固有)

例: 認証トークン内のアプリケーション ID が、Webhook アクセス用に登録されているアプリケーションと一致しません。 正しいアプリケーション資格情報を使用していることを確認します。

処理方法: アプリケーションがプロバイダーに許可リストに登録されていません。 アプリの Webhook アクセスを許可するには、プロバイダーのドキュメントを参照してください。

脅威検知システムによる保護の切断

脅威検出システムでエージェントを監視する必要がなくなった場合は、次の手順に従います。

  1. Power Platform 管理センターにサインインします。
  2. サイド ナビゲーションで、[ セキュリティ ] を選択し、[ 脅威の検出] を選択します。 [ 脅威検出 ] ページが開きます。
  3. [ 追加の脅威検出] を選択します。 ウィンドウが開きます。
  4. 拡張エージェント保護をオフにする環境を選択し、[ セットアップ] を選択します。 ウィンドウが開きます。
  5. [ Copilot Studio が選択したプロバイダーとデータを共有することを許可する] の選択を解除します。
  6. 保存 を選択します。