コンテンツにスキップ

Microsoft 365 Copilotのアーキテクチャ

Microsoft 365 Copilotは、通常のパターンに従えない唯一の統合です。コーディングエージェントにはサーバーのアドレスを渡して認証するよう指示できますが、Copilotにはそれができません。Copilotは、Microsoft 365テナントに公開されたエージェントとしか通信せず、サインインは固定のリダイレクトアドレスに対してMicrosoftに戻されます。

この制約が、このページの内容すべてを方向づけています。クリック単位のインストール手順については、Microsoft 365 Copilotを参照してください。このページでは、それらの手順が実際に何を行っているかを説明します。

TeamsまたはOutlookのユーザーが、Microsoft 365テナントに公開されたPlaidCloudの宣言型エージェントに質問します。MicrosoftがサインインをPlaidCloud専用のOAuthクライアントに仲介します。その後、リクエストはキュレーション済みのMCPサーバーに到達し、デフォルト拒否のアクセスレベルとユーザー本人の権限がすべての呼び出しを制御します。認証情報、ID、アクセス制御のツールには一切アクセスできません。
Microsoftが課す制約 PlaidCloudの対応
CopilotはM365アプリカタログに公開されたエージェントしか実行しない コントロールプレーンからダウンロードし、Teams管理者がアップロードする宣言型エージェントパッケージ(.zip)を提供する
サインインは固定のMicrosoftリダイレクトアドレスに戻る必要がある そのアドレスを事前登録した専用のコンフィデンシャルOAuthクライアントをテナントごとにプロビジョニングする
カスタムアプリはデフォルトでブロックされる カスタムアプリのアップロードセットアップポリシーを有効にする必要がある。これはグローバル管理者であることとは別の設定
Copilotは独自のスケジュールで再認証する 更新ウィンドウを延長し、サインインが数日ではなくおよそ1か月続くようにする

パッケージはワークスペースごとに用意され、そのワークスペースの名前が付けられます。パッケージをインストールすることは、アクセスを許可することとは異なります。アクセスの許可は次のセクションで説明します。ここでつまずくユーザーが多くいます。

エージェントをインストールしてサインインに成功したユーザーでも、管理者がアクセスレベルを割り当てるまでデータは取得できません。エージェントは接続して認証を行い、「アクセスが許可されていません」と応答します。これはシステムが正しく動作している状態であり、エラーではありません。

レベルは、受信したトークンの主張ではなく、管理者が行った割り当てからサーバー側で解決されます。トークンによって、より高いレベルを獲得することはできません。

レベル エージェントができること 主な用途
読み取り専用 プロジェクトとテーブルの一覧表示と説明、テーブルデータの読み取り、ディメンションメンバーの一覧表示、配賦の説明 ほとんどのユーザー。安全なデフォルト
読み取り/書き込み 上記に加えて、そのユーザーにすでに許可されている書き込み データを管理するアナリスト
完全 (非推奨:2027年1月15日に削除) 書き込みを行う生のSQLを含む、そのユーザーのすべてのツール パワーユーザーとビルダー

これに加えて、2つのルールがあります。

  • 最も許可の広いものが優先されます。 何らかの理由で複数のレベルを持っている場合は、最も高いレベルが適用されます。
  • レベルは上限であり、付与ではありません。 その範囲内でも、ユーザー自身のPlaidCloudのロールとACLが引き続き適用されるため、エージェントは、ユーザー自身がまだ開けないデータを表示することはできません。

レベルやユーザー自身の権限にかかわらず、Copilotは次の対象には一切アクセスできません。

  • 接続と認証情報の設定、接続の所有者やアクセス権を持つユーザー、ドキュメントアカウントの認証情報とアクセス制御
  • メンバー管理、グループとロールの割り当て、配布リスト、パスワードのリセット
  • プロジェクトのアクセス制御、プロジェクトのERP転記モード、公開
  • ユーザー定義関数のコードとアプリのデプロイ

これらは元に戻せない操作、または認証情報を扱う操作であり、プロンプトインジェクションによる誤動作が大きな損害につながります。また、分析作業の一部になることはまれです。これらは人間専用のままです。

  1. ユーザーが、Teams、Outlook、またはMicrosoft 365チャットでエージェントに質問します。

  2. Copilotがエージェントを呼び出します。エージェントにはPlaidCloudのIDが必要なため、初回の利用時にはMicrosoft自身のウィンドウでサインインを求め、その結果を保存します。

  3. リクエストは、そのユーザーのトークンを携えてPlaidCloudのMCPエンドポイントに到達します。

  4. サーバーは、管理者が割り当てた内容からアクセスレベルを解決します。レベルがなければ、データはありません。

  5. すべてのツール呼び出しは、レベル、ユーザー自身のスコープとACL、拒否リストに照らしてチェックされます。

  6. 回答は実際のクエリから返され、推測ではなく、信頼度の指標と注意事項が添えられます。

レベルはリクエストのたびにリアルタイムでチェックされるため、アクセスの付与はそのユーザーの次のメッセージから即座に有効になります。サインアウトや再インストールは不要です。

Copilotとコーディングエージェントの比較

Section titled “Copilotとコーディングエージェントの比較”

どちらも同じMCPサーバーに接続し、同じ適用ルールに従いますが、想定している利用者が異なります。

Microsoft 365 Copilot AIコーディングエージェント
対象 チーム全体、非技術者 アナリストと開発者
場所 Teams、Outlook、M365チャット IDEまたはデスクトップクライアント
セットアップ 管理者がパッケージを一度公開する 各ユーザーが自分のクライアントを接続する
アクセスモデル 割り当てられたレベル、デフォルト拒否 ユーザー自身の権限