Claude CodeのMicrosoft 365コネクタが繋がらない|「日本以外からのアクセスをブロック」ポリシーがある環境では現時点で利用不可

当ページのリンクには広告が含まれています。

こんにちは、ふぅたこです。

Claude Codeに新しく追加されたMicrosoft 365コネクタを会社の組織アカウントで使おうとしたところ、かなりハマってしまいました。

結論から言うと、場所ベースの条件付きアクセスポリシー(日本以外からのアクセスをブロック)で「すべてのリソース」をブロックしている環境では、現時点でこのコネクタは利用できません。

同じ環境の方に同じ時間を使わせたくないので、調査の全過程と断念した理由を記録しておきます。

ふぅたこ

Anthropicが日本のIPアドレスでMCPサーバーを立ててくれれば・・・

目次

状況

Claude CodeのMicrosoft 365コネクタをセットアップしようとしました。設定画面からMicrosoftアカウントでログインすると、ログイン自体は完了するのに、その後こんなエラーが表示されます。

Authorization with the MCP server failed. You can check your credentials and permissions. If this persists, share this reference with support: “ofid_XXXXXXXXXXXXXXXX”

何度試しても同じエラー。ログインはできているのに、なぜ?という状態でした。

最初に疑ったこと(管理者の同意)

会社の組織アカウントでサードパーティアプリを使う場合、Entraの管理者が「このアプリを使っていいよ」という許可(Admin Consent)を与える必要があります。

Microsoft Entra管理センターのエンタープライズアプリケーションを確認したところ、Claude関連のアプリが2つ登録されていました。

  • M365 MCP Client for Claude
  • M365 MCP Server for Claude

両方のアプリの「アクセス許可」画面から「管理者の同意を与える」を実行しました。

これで解決か?と思いきや、同じエラーが続きます。

ログを読む

次にMicrosoft Entra管理センターのサインインログをダウンロードして分析しました。

インタラクティブサインイン(ブラウザからのログイン)は errorCode: 0、つまり成功していました。問題は非インタラクティブサインイン(サービス間通信)の方でした。

errorCode: 53003
failureReason: Access has been blocked by Conditional Access policies.
適用ポリシー: 「日本以外からのアクセスをブロック」→ result: "failure"
IPアドレス: 160.79.106.35(San Francisco, California, US)
userAgent: python-httpx/0.28.1

何が起きていたか

Claude CodeのMicrosoft 365コネクタは、仕組みとしてこう動いています。

  1. ユーザーが日本からMicrosoftにログイン → 成功(日本のIPなのでCAポリシーをパス)
  2. AnthropicのMCPサーバー(米国サンフランシスコ)がAPIを呼び出す → ブロック!

実際にMicrosoft Graph APIを叩くのはAnthropicのサーバー(アメリカ)です。うちの会社には「日本以外からのアクセスをブロック」という条件付きアクセスポリシーがあるため、米国IPからのアクセスはすべて弾かれてしまっていたんです。

条件付きアクセスポリシーはリクエストの送信元IPで判定するため、ユーザー本人が日本にいても、トークン更新はサーバーのIPで評価されます。

試みた回避策と断念した理由

❌ 試み1:ポリシーの「対象外リソース」に両アプリを登録

Entra管理センターで「日本以外からのアクセスをブロック」ポリシーを開き、「対象外」→「リソースの選択」に両アプリを追加しました。

除外済み:
- M365 MCP Client for Claude(08ad6f98)
- M365 MCP Server for Claude(07c030f6)

しかし効果なし。サインインログを確認するとポリシーは依然として result: "failure" です。

なぜ効かないのか:

CAポリシーの「対象外リソース」は「このアプリへのアクセス時はポリシーをスキップ」という意味です。しかし、MCPサーバーがアクセスしているのは Microsoft Graph(resourceId: 00000003-0000-0000-c000-000000000000)です。除外リストに入っているのはMCPアプリ自身であり、実際のアクセス先(Graph)は除外されていないため、ポリシーは有効のままになります。

❌ 試み2:対象ユーザーをポリシーから除外

特定ユーザーをポリシーの対象外にすれば技術的には解決できます。しかし、そのアカウントへの位置制限が完全に外れてしまいます。国外からの不正アクセスがあっても検知・ブロックされなくなるため、セキュリティ上のリスクとして採用しませんでした。

❌ 試み3:AnthropicサーバーのIPをネームドロケーションで許可

AnthropicのサーバーIP(160.79.106.39など)を「ネームドロケーション」として登録し、ポリシーの対象外場所にする方法を検討しました。しかし以下の理由で断念しました。

  • AnthropicのMCPサーバーはGCP(Google Cloud Platform)上で動いており、IPは固定されていない
  • Anthropicがインスタンスを変更した場合、IPが変わって再びブロックされる
  • Anthropicは現時点でMCPインフラのIPレンジを公開していない

結論

「すべてのリソース(または Microsoft Graph を含む広い範囲)」に対して場所ベースのブロックポリシーを適用している環境では、Claude Code の Microsoft 365 コネクタは現時点で利用できません。

回避策結果理由
対象外リソースにアプリ登録❌ 効果なし実際のアクセス先(Graph)は除外されない
ユーザーをポリシーから除外❌ 採用見送りセキュリティリスク
IPをネームドロケーションで許可❌ 採用見送りAnthropicのIPが不安定・非公開

AnthropicがMCPインフラを日本リージョンで提供するか、固定IPレンジを公開してくれると解決の余地が生まれますが、現時点ではそのような情報はありません。同じポリシーで詰まっている方の参考になれば幸いです。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

目次