メインコンテンツにスキップ

Microsoft 365 コネクタ: セキュリティ ガイド

今日アップデートされました

概要

Microsoft 365 Connectorは、Anthropicがホストする統合であり、ユーザー委任権限を通じてClaudeがMicrosoft 365サービス(Outlook、SharePoint、OneDrive、Teams)に安全にアクセスできるようにします。Anthropicはマイクロソフトのパブリッシャー検証プロセスを完了し、検証済みのMicrosoft Partner Networkアカウントをこのアプリケーションに関連付けて、組織の身元を確認しています。

コネクタはセキュアプロキシとして機能し、Microsoft 365のドキュメント、メール、ファイルはテナント内に留まります。コネクタはアクティブなクエリ中にオンデマンドでデータを取得するだけで、ファイルコンテンツをキャッシュしません。認証情報はAnthropicのバックエンド基盤によって暗号化および管理されます。MCPサーバー自体はこれらの認証情報を保存または管理しません。MicrosoftのAzure SDKはGraph APIにアクセスするためのユーザーごとのOn-Behalf-Ofトークン交換とキャッシングを処理します。

アクセス制限

アクセスは完全に制限できます

コネクタは、セキュリティ要件に対応するための複数層のアクセス制御を提供します。Microsoft 365 Connectorの管理に関する詳細情報については、Microsoft 365コネクタの有効化と使用を参照してください。

1. 組織レベルのゲーティング

TeamおよびEnterpriseプランユーザーのコネクタへのアクセスには、2段階の承認プロセスが必要です。まず、所有者はClaudeの組織設定でMicrosoft 365コネクタを明示的に有効にする必要があります。組織設定→コネクタ→コネクタを参照→「Microsoft 365」を追加に移動します。この承認が与えられるまで、ユーザーはアクセスできません。

次に、所有者がコネクタを有効にした後、Microsoft Entra Global Administratorは個別の認証を完了し、チームメンバーが接続する前に組織全体に代わって同意を付与する必要があります。

2. Microsoft Entra Admin事前同意要件

ユーザーがコネクタにアクセスする前に、Microsoft Entra Adminは1回限りのセットアップを完了する必要があります。これにより以下が行われます:

  • Microsoft Entra IDに2つのサービスプリンシパルとエンタープライズアプリを追加します(M365 MCPクライアントとM365 MCPサーバー)。これにより、テナント内のMicrosoft 365 Connectorアプリのサービスレベルの身元が確立されます。

  • Microsoft 365テナントの管理者事前同意を付与します。

  • オプションで、コネクタの使用を許可されるMicrosoft Entra IDユーザーとグループを制限します。

  • オプションで、コネクタが使用を許可されるアクセス許可を制限して、どのMicrosoft 365サービスがアクセス可能かを選択的に制御します。

3. 細粒度のアクセス許可取り消し

Microsoft Entra Admin Centerを通じて特定の機能を選択的に無効にできます。例えば:

制限対象

アクション

効果

すべてのアクセス

Claudeの組織設定でコネクタを無効化

完全なシャットダウン

SharePointのみ

EntraでSites.Read.Allアクセス許可を取り消す

SharePointをブロック

メールアクセス

EntraでMail.Readアクセス許可を取り消す

Outlookをブロック

Teamsチャット

EntraでChat.Readアクセス許可を取り消す

Teamsをブロック

OneDriveファイル

Files.Readおよび/またはFiles.Read.Allを取り消す

OneDriveからのファイル読み取りをブロック

変更は組織内のすべてのユーザーに対して即座に有効になります。ユーザーは、チャットまたはセッション中にコネクタのツールを選択的にオフに切り替えることで、使用を許可されている機能を無効にすることもできます。

4. Microsoftの条件付きアクセス統合

コネクタは既存のEntra(Azure AD)ポリシーを完全にサポートします:

  • 多要素認証(MFA):コネクタアクセスにMFAを強制

  • デバイスコンプライアンス:管理対象/準拠デバイスが必要

  • IP制限:Microsoftの認証を企業ネットワークまたはVPNに制限

  • グループベースのアクセス:特定のセキュリティグループに制限

5. ユーザーレベルのアクセス許可

  • Microsoft 365 Connectorは委任アクセス許可を使用します。

  • ユーザーは既に権限を持つMicrosoft 365データのみにアクセスできます

  • SharePoint検索にはSites.Read.Allアクセス許可が必要です。サイト固有のアクセス許可(*.Selectedアクセス許可を使用)は、基盤となる検索がテナント全体であるため、サポートされていません。

  • ユーザーはSharePointの共有設定またはフォルダアクセス許可をバイパスできません

  • ユーザーは他のユーザーのプライベートファイルまたはメールにアクセスできません

  • 委任アクセス許可は本質的にMicrosoft 365データ損失防止(DLP)ポリシーを尊重します

6. トークン管理

  • リフレッシュトークンはデフォルトで90日間の非アクティブ後に期限切れになり、再認証が必要です。これはMicrosoft Entra IDのトークン有効期間ポリシーを使用してカスタマイズできます。

  • アクセストークンは通常、Microsoft Entra IDのデフォルトに従って60~90分以内に期限切れになり、自動的に更新されます

  • 管理者またはユーザーはMicrosoft Entra IDを通じていつでもアクセスを取り消すことができます

  • Microsoft 365 Connectorはパスワードを見たり保存したりすることはありません

セキュリティアーキテクチャの概要

認証フロー

  • OAuth 2.0 On-Behalf-Of(OBO):業界標準の委任認証

  • PKCE保護:パブリッククライアントは認可コード交換の証明キー(PKCE)を使用して認可コードの傍受を防止します

  • 2段階トークン交換:ユーザーはMCPサーバーのアクセストークンを取得するために認証し、MCPサーバーはOBOフローを使用して機密クライアント認証情報でそれをGraph APIアクセスと交換します。このフローでは、ユーザーやClaudeクライアントでさえOBOトークンにアクセスできません。MCPサーバーのみがトークンにアクセスしてMicrosoft Graph APIを通じてユーザーのデータへのアクセスを使用できます。

  • 認証情報の保存なし:ユーザーはMicrosoftのパスワードをAnthropicと共有することはありません

  • 暗号化されたトークンストレージ:アクセストークンとリフレッシュトークンはClaudeバックエンドによってキャッシュされている間、暗号化されます

データフロー

  • ドキュメントおよび他のコンテンツはアクティブなクエリ中にのみ取得されます

  • コネクタからのツール呼び出し結果保存されたチャットの一部である場合は保持されます

  • Claudeチャットをリクエストしたユーザーはツール呼び出し結果とデータを組み込んだClaudeの応答を見ることができます

  • チャットで共有されている他のユーザーはツール呼び出しの結果を組み込んだClaudeの応答のみを見ることができます

  • 各リクエストは新しいデータフローを作成し、応答が返された後にクリーンアップされます

マルチテナント分離

  • Microsoft Entraテナントは、共通スコープのマルチテナント構成を使用して互いに暗号的に分離されています

  • マルチテナント分離は、各ユーザーを組織のテナントにバインドするデジタル署名されたアクセストークンを通じて暗号的に強制されます

利用可能な機能

現在の機能(読み取り専用アクセス)

コネクタは以下への読み取り専用アクセスを提供します:

ツール

説明

必要なアクセス許可

sharepoint_search

SharePointドキュメントとページを検索

Sites.Read.All

sharepoint_folder_search

名前でSharePointフォルダを検索

Sites.Read.All

outlook_email_search

送信者/日付フィルタでメールを検索

Mail.Read

outlook_calendar_search

カレンダーイベントを検索

Calendars.Read

find_meeting_availability

利用可能な会議時間を検索

Calendars.Read

chat_message_search

Teamsチャットメッセージを検索

Chat.Read

read_resource

URIでファイル、メール、またはチャットを読み取る

リソースタイプによって異なる

アクセス許可リスト

基本的なアクセス許可

  • User.Read - サインインしてユーザープロフィールを読み取る(基本要件)

メールアクセス許可

  • Mail.Read - ユーザーメールを読み取る(メールツール/リソースに必要)

  • Mail.ReadBasic - ユーザーメールメタデータを読み取る(限定的な機能の代替)

  • Mail.Read.Shared - ユーザーと共有メールを読み取る

  • MailboxFolder.Read - ユーザーのメールボックスフォルダを読み取る

  • MailboxItem.Read - ユーザーのメールボックスアイテムを読み取る

カレンダーアクセス許可

  • Calendars.Read - ユーザーカレンダーとイベントを読み取る

  • Calendars.Read.Shared - ユーザーがアクセスできるカレンダー(共有を含む)を読み取る

ユーザーディレクトリ

  • User.ReadBasic.All - すべてのユーザーの基本プロフィールを読み取る(会議の可用性用)

チャットアクセス許可

  • Chat.Read - ユーザーチャットメッセージを読み取る

  • Chat.ReadBasic - ユーザーチャットメタデータを読み取る(限定的な機能の代替)

  • ChatMember.Read - チャットのメンバーを読み取る

  • ChatMessage.Read - ユーザーチャットメッセージを読み取る(Chat.Readより具体的)

チャネルアクセス許可

会議アクセス許可

ファイルアクセス許可

  • Files.Read - ユーザーファイルを読み取る

  • Files.Read.All - ユーザーがアクセスできるすべてのファイルを読み取る

サイトアクセス許可

  • Sites.Read.All - すべてのサイトコレクション内のアイテムを読み取る

  • Sites.Selected – サイトコレクションレベルでアプリケーションアクセスを管理し、特定のサイトコレクションへのアクセスを提供します

現在の制限事項

  • 書き込み機能なし:メール送信、会議スケジュール、ドキュメント作成/変更、またはTeamsメッセージ投稿はできません。

  • ユーザーレベルのアクセスのみ:サービスプリンシパル認証によるアクセスはサポートされていません。

よくある質問

Q: エンタープライズ全体のロールアウト前に小規模なパイロットグループでテストできますか?

A: はい。推奨されるアプローチは、アプリ割り当てを使用してコネクタを使用できるユーザーを制限することです:

  • 所有者がClaudeの組織設定でコネクタを有効化

  • Microsoft Entra Adminが事前同意セットアップを完了

  • Microsoft Entra Enterprise Appの割り当てを使用して、特定のユーザーまたはグループへのアクセスを制限します(例:「IT Security Test Group」のみをアプリに割り当てます)。

  • 段階的なデプロイメントのためにグループを段階的に拡張

Q: マルチテナント環境で組織間のデータ漏洩が発生しないようにするにはどうすればよいですか?

A:マルチテナント分離により完全な分離が保証されます:

  • サーバーは共通テナント構成を使用して、任意のMicrosoft Entra IDテナントからのトークンを受け入れます

  • 各ユーザーのトークンには、検証される組織のテナントID(tidクレーム)が含まれています

  • OBOを通じて取得されたGraph APIトークンは、ユーザーとそのテナントに自動的にスコープされます

  • クロステナントトークンアクセスはMicrosoft GraphのOAuth 2.0実装の設計により暗号的に防止されます。

Q: 従業員が個人用Claudeアカウントから会社データにアクセスしようとした場合はどうなりますか?

A:コネクタは認証中に身元を検証します:

  • ユーザーはコネクタが有効になっているTeam/Enterprise組織へのアクセス権を持つ必要があります

  • Microsoftログインはユーザーの Microsoft Entra ID認証情報を検証します

  • トークン検証はユーザーのテナントIDを確認します

  • Graph APIはテナント境界を強制します

  • 個人用Claudeアカウントは組織メンバーシップなし

こちらの回答で解決しましたか?