【Copilot】Copilot Studioで作るカスタムCopilotの権限境界設定とセキュリティ設計

【Copilot】Copilot Studioで作るカスタムCopilotの権限境界設定とセキュリティ設計
🛡️ 超解決

Copilot Studioで作成したカスタムCopilotに、特定のデータや機能へのアクセス権限を設定したい場合があります。

これは、機密情報への不適切なアクセスを防ぎ、コンプライアンスを維持するために重要です。

本記事では、Copilot Studioにおける権限境界設定の考え方と具体的な設定方法を解説します。

【要点】Copilot StudioでカスタムCopilotの権限境界を設定する

  • Copilot Studioの概要: カスタムCopilotを開発・展開するためのプラットフォームであることを理解する。
  • 権限境界設定の必要性: 機密データ保護やコンプライアンス遵守のために権限管理が不可欠であることを認識する。
  • データソースのアクセス制御: Copilotが利用するデータソース(SharePoint、Dataverseなど)ごとにアクセス権限を設定する。
  • プラグインとAPIの権限管理: Copilotが呼び出すプラグインやAPIの実行権限を制御する。

ADVERTISEMENT

Copilot Studioにおける権限境界設定の概念

Copilot Studioは、Microsoft Power Platformの一部として、ローコード/ノーコードでカスタムCopilotを開発できるツールです。作成したCopilotは、Webサイト、Teams、Power Virtual Agentsなど、様々なチャネルで展開できます。

カスタムCopilotが組織内のデータにアクセスする場合、そのアクセス権限を適切に管理することが極めて重要です。権限境界を設定することで、Copilotが意図しないデータにアクセスしたり、不正な操作を実行したりすることを防ぎます。

権限境界設定は、主にCopilotが参照するデータソースと、Copilotが利用するプラグインやAPIの実行権限の2つの側面から考慮されます。

カスタムCopilotのデータソースへのアクセス制御

Copilot Studioで作成したカスタムCopilotが、SharePoint、Dataverse、SQL Serverなどのデータソースにアクセスする場合、Copilot自体に直接権限を与えるのではなく、Copilotが利用する環境や接続するデータソース側の権限設定が重要になります。

Copilot Studioは、Power Automateフローやコネクタを通じてデータソースに接続します。そのため、Copilotが利用するPower Automateフローやコネクタに、適切なアクセス権限を持つユーザーまたはサービスプリンシパルが紐づいている必要があります。

Power Automateフローにおける権限設定

Copilot Studioから呼び出されるPower Automateフローは、フローを実行するユーザーの権限に基づいてデータソースにアクセスします。Copilot Studioでフローを呼び出す際、どのユーザーの権限で実行するかを考慮する必要があります。

  1. Copilot Studioでフローを呼び出す設定を確認する
    Copilot Studioのトピック内で、Power Automateフローを呼び出すアクションを設定します。
  2. Power Automateフローの実行権限を理解する
    フローは、作成者または共有されたユーザーの権限で実行されます。Copilotから呼び出すフローは、アクセスさせたいデータソースへの適切な権限を持つユーザーによって作成・共有されている必要があります。
  3. Dataverse環境の権限設定
    Dataverseをデータソースとして利用する場合、Copilotが接続するPower Platform環境のセキュリティロール設定が重要です。Copilotが参照するデータテーブルに対する最小権限のセキュリティロールを割り当てます。

コネクタの権限設定

Copilot Studioは、SharePoint、Outlook、Teamsなどの様々なサービスと連携するためのコネクタを提供しています。これらのコネクタを利用する際も、接続するサービスに対する適切な認証と権限が必要です。

  1. コネクタの接続設定を確認する
    Copilot Studioでコネクタを利用する際、接続情報(認証情報)を設定します。
  2. サービス側の権限を確認する
    例えば、SharePointコネクタを利用する場合、Copilotが接続するSharePointサイトへの読み取り権限などが、接続に使用するアカウントに付与されている必要があります。

プラグインとAPIの実行権限管理

Copilot Studioでは、カスタムプラグインや外部APIを呼び出すことで、Copilotの機能を拡張できます。これらのプラグインやAPIの実行権限も、権限境界設定の重要な要素です。

カスタムプラグインの権限

カスタムプラグインを登録してCopilotから呼び出す場合、そのプラグインが実行されるコンテキスト(実行ユーザー)の権限が適用されます。

  1. プラグインの登録と設定
    Copilot Studioでカスタムプラグインを登録する際、そのプラグインがどのDataverse環境で動作するかなどを指定します。
  2. プラグイン実行時の権限
    プラグインは、Copilotを呼び出したユーザーの権限で実行されるか、または特定のサービスアカウントの権限で実行されるように設定できます。機密性の高い処理を行うプラグインは、最小権限を持つサービスアカウントで実行するように構成します。

外部APIの呼び出し権限

Copilot Studioから外部APIを呼び出す場合、APIキーやOAuth認証などを利用してAPIへのアクセスを保護します。Copilot StudioでAPIを呼び出すためのカスタムコネクタを作成・設定します。

  1. カスタムコネクタの作成
    Copilot Studioで外部APIを呼び出すためのカスタムコネクタを作成します。
  2. 認証情報の安全な管理
    APIキーやクライアントシークレットなどの認証情報は、Copilot Studioの接続設定で安全に管理します。これらの情報は、Copilot Studioの環境変数などに格納することを推奨します。
  3. API側のアクセス許可設定
    呼び出し元のIPアドレス制限や、特定のAPIキーのみを許可するなど、APIゲートウェイ側でアクセス制御を行うことも有効です。

ADVERTISEMENT

権限境界設定のベストプラクティス

カスタムCopilotの権限境界を設定する際には、以下のベストプラクティスを参考にしてください。

最小権限の原則の適用

Copilotが必要とする最低限の権限のみを付与します。例えば、データの読み取りだけが必要な場合は、書き込み権限は付与しません。

環境分離の活用

開発環境、テスト環境、本番環境を分離し、それぞれの環境で適切な権限設定を行います。本番環境では、より厳格な権限管理を実施します。

定期的な権限の見直し

Copilotの機能追加や組織のセキュリティポリシー変更に合わせて、定期的に権限設定を見直し、不要な権限は削除します。

監査ログの活用

Copilotのアクセスログや操作ログを監視し、不正なアクセスや操作がないかを確認します。Copilot StudioやPower Platformの監査ログ機能を利用します。

まとめ

Copilot Studioで作成したカスタムCopilotの権限境界を設定することで、組織のデータセキュリティとコンプライアンスを強化できます。

データソースへのアクセス制御、プラグイン・APIの実行権限管理を適切に行うことが、安全なCopilot活用の鍵となります。

今後は、Microsoft Entra ID(旧Azure AD)との連携による、より高度な認証・認可メカニズムの活用も検討していくと良いでしょう。

ADVERTISEMENT

この記事の監修者
✍️

超解決 第一編集部

疑問解決ポータル「超解決」の編集チーム。正確な検証と、現場視点での伝わりやすい解説を心がけています。