企業の IT セキュリティチームや最高情報セキュリティ責任者(CISO)が Cohere Coral などの生成 AI アシスタントの導入を評価する際、最大の懸念事項となるのが権限昇格と機密情報の漏洩です。「Microsoft SharePoint や Google Drive などの社内リポジトリを接続した場合、一般社員がチャットを通じて役員報酬、未公開の M&A 計画、機密人事情報などのアクセス権を持たない文書を不正に引き出してしまうのではないか」という不安です。
結論から述べると、Cohere Coral は大規模言語モデル(LLM)のプロンプト指示や倫理ガードレールに依存するのではなく、データ検索インフラ層においてドキュメントレベルのアクセス制御リスト(ACL)およびロールベースのアクセス制御(RBAC)を決定論的に適用します。Coral は**ユーザー委託認証(OAuth 2.0 / On-Behalf-Of フロー)**を採用し、**ランタイム・セキュリティトリミング(Security Trimming)**とメタデータの事前フィルタリングを実行することで、質問した社員自身がアクセス権限を持つファイルのみを検索対象とします。
もしある社員が SharePoint や Google Drive 上の機密ファイルに対する閲覧権限を持っていなければ、Coral のコネクタはそのファイルを検索候補から完全に除外します。未承認のテキストは LLM のコンテキストウィンドウに一切入力されないため、生成 AI が権限外の機密情報を要約・回答することは物理的に不可能です。
脅威モデル:安易なエンタープライズ RAG がセキュリティ監査に落ちる理由
初期の検索拡張生成(RAG)実装において、開発者が単一の「特権サービスアカウント(いわゆる God モード)」を用いて全社のファイルを包括的にベクトル化し、権限境界のない共有ベクトルデータベースに格納してしまうケースが散見されます。
この設計には致命的な脆弱性があります:
- インジェスト(取り込み)時に元のファイルシステムが持つアクセス制御リスト(ACL)が消失する。
- 検索エンジンが全社横断のベクトル空間で無差別に類似度検索を実行する。
- システムプロンプト(例:「ユーザーが人事責任者でない限り給与情報を回答してはならない」)でアクセス制限を行おうとする。
セキュリティエンジニアが指摘するように、LLM は本質的に確率モデルであり、プロンプトインジェクションやジェイルブレイク攻撃に対して脆弱です。プロンプトによる指示だけでは、巧妙な質問によって防御を容易に突破されるリスクを排除できません。
Cohere Coral は、セキュリティを「確率的なモデルの出力制御」ではなく「確定的なデータプレーンの境界制御」として実装することで、この根本的課題を解決しています。
3 層構造による権限制御アーキテクチャ
Cohere Coral のエンタープライズセキュリティは、アイデンティティ伝播、検索層のセキュリティトリミング、および引用根拠付けの 3 つの階層で構成されています。
+-----------------------------------------------------------------------+
| 第 1 層:アイデンティティ連携と委託認証 |
| 企業 IdP(Microsoft Entra ID、Okta、Google Workspace など) |
| ユーザーのログイン -> スコープ制限された OAuth 2.0 委任トークン発行 |
+-----------------------------------------------------------------------+
|
v
+-----------------------------------------------------------------------+
| 第 2 層:検索エンジンとコネクタのセキュリティトリミング |
| - 直接 API コネクタ:Microsoft Graph や Google Drive API をユーザー |
| 権限で呼び出し、データソース側の ACL エンジンで未承認文書を除外 |
| - 索引型エンタープライズ検索:所属グループ SID と文書 ACL メタデータ |
| による検索前の厳格な論理フィルター処理 |
| * 権限のない文書は LLM 入力前に完全に排除される * |
+-----------------------------------------------------------------------+
|
v
+-----------------------------------------------------------------------+
| 第 3 層:モデルの根拠付けと検証可能な引用(Command R / R+) |
| - コンテキストに入力された承認済みテキスト断片のみに基づいて回答生成 |
| - すべての主張に対して検証可能なソース引用を付与 |
| - 検索結果が 0 件の場合、推測せず安全に回答不可を明示 |
+-----------------------------------------------------------------------+
1. アイデンティティの伝播とユーザー委任(第 1 層)
Coral は、SAML 2.0 や OpenID Connect(OIDC)に基づくシングルサインオン(SSO)を介して、Microsoft Entra ID(旧 Azure AD)、Okta、Google Workspace などの企業アイデンティティプロバイダー(IdP)と連携します。
ユーザーが Coral で検索を実行する際のプロセス:
- 共有管理者トークンの不使用:Coral は、すべてのユーザーの代理として全権を持つ固定管理者トークンを使用しません。
- On-Behalf-Of(OBO)トークン転送:Coral のコネクタは OAuth 2.0 の認可コードフローと委任アクセストークンを使用します。クエリ発行時、現在ログインしている社員固有のアクセストークンが下位 API に転送されます。
- ディレクトリとの即時連動:社員が退職、休職、またはグループから外された場合、企業 IdP 側の変更がコネクタのアクセス権限に即座に反映されます。
2. 検索層でのセキュリティトリミングと ACL 継承(第 2 層)
情報漏洩を防ぐ中核技術が**セキュリティトリミング(Security Trimming)**です。検索候補がリランキングや LLM プロンプトに送られる前に、アクセス権のないリソースを完全に切り捨てます。
Coral は、システムの構成に応じて 2 つのアプローチをサポートします:
A. ダイレクト API コネクタ(実行時クエリ)
リアルタイム API 経由でデータソースにアクセスする場合(SharePoint や Google Drive への直接検索など):
- コネクタはユーザーの OAuth トークンを添えて、データソースの検索エンドポイント(Microsoft Graph API
/v1.0/search/queryや Google Drive APIfiles.list)を呼び出します。 - データソース側のネイティブ権限エンジンが動作します。SharePoint や Google Workspace は、呼び出し元の身元、所属グループ、個別共有設定を検証した上で検索結果を生成します。
- ユーザーが通常の UI 上で閲覧可能な文書のみが Coral に返却されます。権限のない文書は、API のレスポンス自体に含まれません。
B. インデックス型エンタープライズ検索(ACL メタデータ取り込み+事前フィルタリング)
大量の文書をベクトル化して社内検索データベース(Cohere Toolkit や OpenSearch など)に事前格納する高性能アーキテクチャの場合:
- ACL メタデータの取り込み:インジェストパイプラインにおいて、文書テキストとベクトルだけでなく、所有者 ID、許可ユーザーリスト、グループセキュリティ識別子(SID)、継承フラグなどの完全なセキュリティメタデータを抽出・格納します。
- 実行時のユーザー所属解決:クエリ受信時、システムは SCIM やディレクトリ API を通じてユーザーの有効な所属セキュリティグループを即座に特定します。
- ベクトル類似度計算前のプレフィルタリング:ベクトルデータベースは、近傍探索やキーワード照合を行う前に、ユーザーの ID および所属グループが文書の ACL に合致するか論理フィルターで確認します。権限のない文書ベクトルは類似度計算から事前に除外され、その後の Cohere Rerank 処理にも送られません。
3. グラウンデッド・ジェネレーションと引用検証(第 3 層)
Cohere の Command モデルファミリー(Command R および Command R+)は、厳格な**根拠付け(Grounded Generation)**を行うようファインチューニングされています:
- 文脈への厳格な固定:モデルは、コンテキストウィンドウに実際に渡された検索結果のパッセージのみを参照して回答を組み立て、文ごとに正確なインライン引用を付与します。
- アクセス権不在時の安全な拒否:セキュリティトリミングによって権限外のファイルがすべて除外され、有効なパッセージが 0 件となった場合、モデルは一般知識からの推測やハルシネーションを行わず、「参照可能な権限内の情報が見つかりませんでした」と安全に応答を終了します。
主要データソースの権限メカニズム比較:SharePoint と Google Drive
エンタープライズファイル基盤はそれぞれ固有の権限モデルを持っています。Coral のコネクタはこれらの仕様にネイティブ対応します:
| 比較項目 | Microsoft SharePoint / OneDrive (Microsoft 365) | Google Drive (Google Workspace) |
|---|---|---|
| 権限の階層構造 | テナント -> サイトコレクション -> サブサイト -> ドキュメントライブラリ -> フォルダ -> ファイル ACL | 共有ドライブ、マイドライブ、フォルダ共有、ファイル単位 ACL |
| グループ解決 | Microsoft 365 グループ、Entra ID セキュリティグループ、SharePoint 固有グループ | Google グループ、組織部門(OU)、個別メール共有 |
| 連携プロトコル | Microsoft Graph API(OAuth 2.0 委任スコープ) | Google Drive API v3(OAuth 2.0 ユーザースコープ) |
| トリミング実行点 | Graph API 検索エンジンによる直接除外、ベクトル検索前のグループ SID 突合 | Drive API クエリエンジンによる直接除外、ベクトル検索前のユーザー/グループ ID 突合 |
| 権限継承の解除 | フォルダやファイル単位での「権限継承の中断」と一意のアクセス制御を忠実に遵守 | 共有ドライブのメンバー役割および親フォルダ権限を継承し、個別明示設定を優先 |
SharePoint における権限処理の詳細
SharePoint では、共有ドキュメントライブラリ内で特定の機密フォルダのみ「継承を解除(Stop Inheriting Permissions)」し、役員のみに閲覧権限を与える運用が一般的です。
Coral を介した処理フロー:
- ユーザーが質問すると、そのユーザー固有の Graph 委任トークンを用いて検索が行われます。
- Graph API は、SharePoint のセキュリティトークンサービス(STS)に基づき、有効なアクセス権を評価します。
- 財務ライブラリ内の機密フォルダに一般社員のアクセス権がない場合、Graph API の応答には該当フォルダ内のファイルが 1 件も含まれません。モデルは文書の存在そのものを認識できません。
Google Drive における権限処理の詳細
Google Workspace では、個人領域の「マイドライブ」と組織管理の「共有ドライブ(旧チームドライブ)」が存在し、閲覧者、閲覧者(コメント可)、投稿者、コンテンツ管理者、管理者のロールが付与されます。
Coral を介した処理フロー:
- Coral は、ユーザーのアカウントスコープ内で読み取り専用アクセスを要求する OAuth 認証を実行します。
- Google Drive API は、呼び出し元のアカウントと所属グループに基づいてファイルをフィルタリングします。
- 社員がメンバーに追加されていない法務や人事の機密共有ドライブは、API の探索対象から完全に遮断されます。
Cohere プラットフォームレベルのガバナンスと RBAC 管理
外部データソースのドキュメント ACL を継承するだけでなく、Cohere プラットフォーム自体にも組織統制のための制御機能が備わっています:
プラットフォームロール:管理者(Owner)と一般ユーザー(User)
Cohere の管理コンソールは、管理責任とアシスタント利用を明確に分離します:
- Owner(管理者):ワークスペースメンバーの招待・削除、全社共通データコネクタの作成、本番 API キーの発行・失効、SSO 連携の設定、監査ログの確認および請求管理を行います。
- User(一般ユーザー):チャット画面での対話、個人 OAuth トークンの連携、利用履歴の閲覧のみが可能であり、システム全体の設定やコネクタ構成の変更権限は持ちません。
コネクタのスコープ制限(部署別アクセス制御)
IT 管理者は、組織の部署ごとに利用可能なコネクタを制限できます:
- Salesforce コネクタ:営業およびカスタマーサクセス部門のユーザーグループのみに限定。
- 社内 Wiki コネクタ:全社ユーザーに開放。
- 財務 ERP コネクタ:経理財務部門および経営企画室のみに限定。
この階層的な防御により、個別のファイル ACL を照合する以前に、無関係な基幹業務データへのアクセス導線自体が組織単位で遮断されます。
監査ログと SIEM 連携
コンプライアンス要件を満たすため、Cohere Coral は詳細なアクティビティログを出力し、企業の SIEM システム(Splunk、Datadog、Microsoft Sentinel など)と連携可能です:
- 実行ユーザーの識別子とタイムスタンプ。
- クエリ実行時に呼び出されたコネクタおよびツール名。
- 検索によって取得された文書 ID およびソース URL。
- 最終回答に埋め込まれた引用元リスト。
セキュリティチームは、不自然な高頻度検索や機密キーワードの探索試行をリアルタイムで検知できます。
デプロイ環境の境界:プライベート VPC とデータ非保持保証
厳格な規制要件(SOC 2 Type II、ISO 27001、GDPR、HIPAA など)を遵守するため、データ通信とインフラの分離が不可欠です:
- VPC およびオンプレミス展開:Cohere のモデルおよびアシスタント環境は、企業のプライベートクラウド環境(AWS、Azure、Google Cloud、Oracle Cloud Infrastructure)や完全隔離されたオンプレミス環境に直接デプロイ可能です。
- ゼロデータ保持(Zero Data Retention):企業の入力プロンプト、検索された社内文書、生成された回答が外部サーバーに永続化されることはなく、公開基盤モデルの再学習に使用されることもありません。
- 転送時および保存時の暗号化:コネクタ間の通信は TLS 1.3 で暗号化され、インデックスデータは顧客管理暗号鍵(CMEK)による AES-256 で保護されます。
潜在的な落とし穴:データソース側の「過剰共有(Over-Sharing)」問題
Cohere Coral のセキュリティ機能が正しく動作していても、IT セキュリティチームが留意すべき重要な運用課題があります。**「生成 AI は権限を破ることはないが、既存の権限設定ミス(過剰共有)を劇的に可視化してしまう」**という点です。
例えば、財務担当者が「リンクを知っている組織内の全員が閲覧可能」という権限設定で役員給与ファイルを共有していた場合、過去のファイル検索ではパスが深いため見つからなかったものが、Coral に「全社の給与体系を要約して」と尋ねると、正常な権限を持つファイルとして抽出されてしまいます。
CISO および IT チーム向けの事前チェックリスト
Coral のコネクタを全社展開する前に、以下の準備を実施することを強く推奨します:
- データソース側の共有設定監査:Microsoft Purview や Google Workspace の監査機能を用い、「ドメイン全体に共有」「外部を除く全員」に設定されている機密ファイルを棚卸しする。
- 委任型 OAuth 認証の徹底:コネクタ設定において、管理者特権アカウントではなく、必ずユーザー個別の OAuth トークンによる委任フローが設定されているか検証する。
- 部署ごとのコネクタ分離:機密性の高い部署(法務、人事、経営戦略)向けには専用のコネクタを用意し、IdP 側で厳密にアクセス制御を行う。
- トークンの有効期限ポリシー整合:OAuth のリフレッシュトークン期限を社内のセッション管理基準と同期させ、人事異動や退職時の権限無効化を即座に機能させる。
- SIEM 監視ルールの設定:短時間に大量の文書を横断検索する行為や、不審な探索クエリに対するアラートを設定する。
まとめ
Cohere Coral は、ゼロトラストの原則に基づいて設計されたエンタープライズ向け生成 AI アシスタントです。ユーザー委託認証によるアイデンティティ伝播、データソースおよびインデックス層での厳格なセキュリティトリミング、そして Command モデルによる検証可能な引用メカニズムを組み合わせることで、企業のドキュメントレベル ACL と RBAC の境界を完全に維持しながら、安全な生成 AI 活用を実現します。
参考文献
- An Overview of Cohere's RAG Connectors | Cohere
- GitHub - cohere-ai/cohere-toolkit: Cohere Toolkit is a collection of prebuilt components enabling users to quickly build and deploy RAG applications.
- GitHub - cohere-ai/quick-start-connectors: This open-source repository offers reference code for integrating workplace datastores with Cohere's LLMs, enabling developers and businesses to perform seamless retrieval-augmented generation (RAG) on their own data.
- AI Security and Data Protection | Cohere