みなさん、こんにちは。マイクロソフトの佐々木です。
本日は、Copilot Studio / Copilot からGoogle DriveのファイルをRAGする方法についてご紹介します。
はじめに
もちろんマイクロソフトの人間としてはマイクロソフトに企業のデータが存在していた方がうれしいですが、
ほとんどの企業ではマルチクラウドが採用されており、なんらかの事情でCopilotが取り扱いやすいSharePointやOneDriveに対象のデータがなく、Google Drive上に主なデータが存在する場合もあるかと思います。
そういった場合のアプローチについて簡単にご紹介します。
結論は Google Drive Microsoft 365 Copilot コネクタ を利用します。
今回は Google Drive Microsoft 365 Copilot コネクタの紹介となるため、
AtoAやマルチエージェントでのアプローチを含めていません
Copilot コネクタとは
Microsoft 365 Copilot コネクタ(Copilot connectors) は、Microsoft 365 外部のデータソース(外部SaaS / 業務システム等)を Microsoft 365 に取り込み、Microsoft 365 Copilot / Microsoft Search から検索・参照できるようにする仕組みです。
Copilot コネクタはMicrosoft 365 管理センター上で構成、作成する必要があり、作成されたコネクタはCopilot Studioでも利用することができます。
Copilot コネクタとPower Platformコネクタの違いについて
どちらもエンタープライズレベルのデータをエージェントの入出力に利用するという目的においては同じですが、以前のブログでもまとめたとおり、それぞれ役割や用途が異なります。
詳しくはLearnを参照ください。
-
Copilot コネクタ = 検索 & インデックス(index-then-answer)
外部コンテンツを Microsoft Graph にコピーしてインデックス化し、セマンティック検索→回答生成(引用付き)に使う -
Power Platform コネクタ = ライブ API(リアルタイム)
実行時に API を呼び出してデータを取得/更新する(データ複製なしで最新のファクトやトランザクション向き)
| 観点 | Copilot コネクタ | Power Platform コネクタ |
|---|---|---|
| 主目的 | 外部コンテンツを Graph に取り込み&インデックス化して検索に強くする | リアルタイム API で取得/更新/トリガー(最新のデータに強い) |
| 存在する場所 | Microsoft Graph(セマンティック インデックス) | Power Platform の接続(環境ごと) |
| エージェントでの使い方 | ナレッジ ソースとして追加(回答は引用付きで合成されやすい) | ツール/アクションとして呼ぶ、または(プレビュー)リアルタイム ナレッジとして使う |
| データ移動 | あり(Graph にコピーされインデックス化) | なし(実行時に呼び出し) |
| 認証・実行主体 | 取り込み時にソース接続+ACL適用(検索時はトリミング) | 標準のコネクタ呼び出しは 実行時にユーザーの接続/ID で動く |
| レイテンシ | 低(インデックスから提供される) | ターゲット API 次第(リアルタイム往復) |
| 引用 | 得意(Copilot の回答下部に参照が出やすい) | 固有機能ではない(返却値はあるが “引用” は実装次第) |
| 最適な用途 | FAQ/規程/KB/Wiki/チケット等の「大量コンテンツ検索」 | 「今の状態」確認や登録/更新など トランザクション |
Google Drive Microsoft 365 Copilot コネクタの概要
Google Drive コネクタは、Google Drive のコンテンツを クロールしてインデックス化 し、Copilot / Copilot Studio / Search で利用できるようにします。
Google Drive コネクタでは、このコンテンツを Microsoft 365 に取り込み、ユーザーは次の操作を行うことができます。
- Microsoft 365 Copilotと Microsoft 365 Search から Google Drive ファイルを直接検索します
- 既存の Google Drive アクセス制御 (ACL) を維持します
- カスタマイズ可能なクロール頻度: 増分クロールとフル クロールを構成して、データを最新の状態に保ちます
- Google Drive コンテンツとMicrosoft Copilot Studio プラグインを統合することで、より豊富なワークフローを実現できます
そのほかの機能や制限についてはLearnをご確認ください。
アクセス制御
重要なのはデータに対するアクセス制御となりますが、Google Drive 側の ACL(アクセス制御) を前提に、Microsoft 365 側で セキュリティトリミング(そのユーザーが見えるものだけ検索結果に出す)する設計となっております。
管理センターで Google Drive コネクタを構成する際に、検索での公開範囲を選べます。
-
Only people with access to this data source(推奨)
ACL を尊重して「見える人だけに見せる」 -
Everyone
インデックスされたデータが「全ユーザーの検索結果に出る」設定になり得る
セットアップ手順
全体像はこの順番です。
- Google 側:サービスアカウント作成、API 有効化、(必要に応じて)ドメイン全体の委任、スコープ付与、JSON キー取得
- Microsoft 365 側:管理センターで Google Drive コネクタを作成・デプロイ(ロールアウト/アクセス許可/IDマッピング)
- Copilot Studio:ナレッジ ソースとしてコネクタを追加
Google側のセットアップ手順
Microsoft Learn の手順(要約)です。
私自身Googleの操作はほとんど経験がなかったので、詳細手順はLearnやGoogle側のドキュメントをご確認ください。
0) 前提
セットアップ手順を完了するには、Google ワークスペースのスーパー管理者であるか、Google Workspace スーパー管理者からアクセス権が付与されているか、管理者権限を持つユーザーである必要があります。
1) Google Cloud プロジェクトを作成(または既存利用)
- Google Cloud Console でプロジェクト作成
- 以降の設定をこのプロジェクトに紐付ける
2) 必要な API を有効化
- Google Drive API
- Admin SDK API
3) サービスアカウント作成 → JSON キー発行
- サービスアカウントを作成
- サービスアカウントキー(JSON) を作成して控える
4)ドメイン全体の委任(Domain-wide delegation)+ OAuth スコープ付与
- Google Workspace 管理で、サービスアカウントに対してドメイン全体の委任を許可
- コネクタが必要とする OAuth スコープを付与
※Google 側で「ドメイン全体の委任(Domain-wide delegation)」を設定する際に、サービスアカウントへ付与するスコープ例
https://www.googleapis.com/auth/admin.directory.user.readonlyhttps://www.googleapis.com/auth/admin.directory.group.readonlyhttps://www.googleapis.com/auth/drive.readonlyhttps://www.googleapis.com/auth/admin.reports.audit.readonly
Microsoft 365 側のセットアップ手順
こちの手順からはMicrosoft テナント側の設定となります。
Microsoft 管理センターにアクセスしてください。
1) Google Drive コネクタを作成(デプロイ)
Microsoft 365 管理センター(Copilot / Search 管理)で Google Drive コネクタを追加し、以下を設定します。
- コネクタ名(表示名)
- Google Workspace ドメイン
- 管理者メール
- サービスアカウントキー(JSON)
※前の手順でダウンロードしたJSON形式のキーとなります
2) ロールアウト
- コネクタの利用範囲を 限定ユーザー/限定グループにロールアウトすることができます
3) ユーザーのアクセス許可
[カスタムセットアップ]をクリックして、ユーザーのアクセス許可の構成や対象とするデータやクロールのタイミングも制御することができます
Google Drive コネクタでは、検索結果に表示する範囲を次の 2 つから選べます。
- すべてのユーザー
- このデータ ソースにアクセスできるユーザーのみ(推奨)
ユーザー ID のマッピング方式
このデータ ソースにアクセスできるユーザーのみを選択した場合、以下のオプションからアクセス制御をおこなうことができます。
-
Microsoft Entra ID
- Google Drive のメールアドレスが Entra ID の UPN と一致する場合に使用します
- Google のメール ID を Entra ID の UPN プロパティにマップします
-
非 Entra ID
- Google Drive のメールアドレスが UPN と一致しない場合に使用します
- 正規表現ベースのマッピングで対応付けます
4)カスタムセッティング
そのほかにも対象とするデータやクロールのタイミングも制御することができます。
詳しくはLearnをご確認ください。
作成後、クロール(インデックス作成)が開始されます。
Copilot Studioでの利用
Copilot Studioにおいては、作成されたコネクタをナレッジで利用するだけなので、手順はシンプルです。
1) ナレッジソースとして追加
Copilot Studio では、管理者がデプロイした Copilot コネクタを ナレッジ ソースとして追加できます。
- エージェント設定 → ナレッジ追加 → Copilot connectors を選択 → Google Drive コネクタを追加
2) テストする
問題なく、ナレッジの検索ができ、Google Drive側のドキュメントも引用されました。
おわりに
Googleの既存データをCopilotコネクタを利用して、RAGする手順についてご紹介しました。
Copilot コネクタ**は、Microsoft 365 外部のコンテンツを Microsoft Graph に取り込み・インデックス化し、Microsoft 365 Copilot / Microsoft 365 Search / Copilot Studio から検索・参照できるようにする強力な仕組みですので、ぜひお使いください。
















