Claude Microsoft 365をサードパーティ製品と併用する設定
Claude for Microsoft 365のOfficeアドインを、Bedrock・Vertex AI・Azure AI Foundry・LLMゲートウェイ経由で個人のClaudeアカウントなしに配布する手順です。
はじめに
Claude for Microsoft 365は、Excel・PowerPoint・Word・OutlookにClaudeを組み込むOfficeアドインです。既定の接続先はAnthropicのClaudeアカウントです。ただしAmazon Bedrock・Google Cloud Vertex AI・Azure AI Foundry・自社LLMゲートウェイのいずれかをすでに使っている組織は、ユーザー1人ずつにClaudeアカウントを発行せずにアドインを配布できます。プロンプトと応答は自社のインフラ内にとどまり、Microsoft Entra IDでの職場アカウントサインインだけで動きます。Outlook単体での受信トレイ整理や返信作成の使い方はClaude for Outlookの使い方にまとめています。
これはCoworkのMicrosoft 365コネクタ(Outlook・OneDrive・SharePoint・Teamsを横断検索する機能)とは別物です。コネクタ側の連携手順はClaude Cowork×Microsoft 365連携にまとめています。本記事が扱うのは、Excel・PowerPoint・Word・Outlookの中で直接動くアドインを、どの推論基盤に接続するかという管理者向けの設定です。
4つの接続経路
管理者はデプロイ時に接続経路を1つ選びます。エンドユーザーから見える画面はどの経路でも同じです。
| 経路 | 仕組み | 向く組織 |
|---|---|---|
| LLMゲートウェイ | 仕組みLiteLLM・Portkey・Kongなどの自社ゲートウェイ経由で任意のプロバイダーへ転送。Claude Codeと同じパターン | 向く組織複数プロバイダーを一元管理したい組織 |
| Bedrock direct | 仕組みMicrosoft Entra IDで認証し、仲介なしでAmazon Bedrockを直接呼ぶ | 向く組織すでにBedrockでClaudeモデルを有効化済みの組織 |
| Vertex AI direct | 仕組みGoogle OAuthで認証し、Vertex AIを直接呼ぶ | 向く組織Google Cloudを主基盤にしている組織 |
| Foundry direct | 仕組みAzure AI Foundryリソースを直接呼ぶ。ユーザーごとのEntra IDトークン(キーレス)またはリソースのAPIキーで認証 | 向く組織Azure中心でMACC消化を進めたい組織 |
いずれの経路でも、pivot.claude.aiとclaude.ai/api/はアドインの画面表示と機能フラグ評価のためだけに使われ、プロンプトや応答は通りません。
前提条件
全経路で共通して必要なもの:
- Microsoft AppSource経由、または管理者によるテナント配布でインストール済みのClaude for Excel・PowerPoint・Word・Outlook
- Entra IDが有効なMicrosoft 365テナント(admin consent(管理者による一括同意)とトークン発行に使う)
- Outlookを使う場合は
Mail.ReadWrite・Calendars.Read・User.Read・offline_accessに対するMicrosoft Graphのadmin consent
経路ごとに追加で必要なものは次のとおりです。
| 経路 | 追加要件 |
|---|---|
| LLMゲートウェイ | 追加要件IT部門が発行するゲートウェイURLとAPIトークン |
| Bedrock direct | 追加要件対象リージョンでClaudeモデルを有効化したAWSアカウント。Entra IDトークンを信頼するIAM OIDCアイデンティティプロバイダーとロール |
| Vertex AI direct | 追加要件Vertex AI APIとClaudeモデルアクセスを有効化したGoogle Cloudプロジェクト。アドインのリダイレクトURIを設定したGoogle OAuthクライアント |
| Foundry direct | 追加要件Claudeモデルを1つ以上デプロイ済みのAzure AI Foundryリソース(デプロイ名はclaude-opus-4-6のようなデフォルトモデルIDのみ、カスタム名は不可)。加えてキーレス認証用のEntraアプリ登録、またはAzure Portalのリソースキーのどちらか |
これらのリソースは組織のIT部門が管理する対象です。Anthropicが代わりに払い出したりリセットしたりすることはありません。Claude Code側で先にBedrockやVertex AIの接続を済ませている組織は、Claude Code Bedrockセットアップの手順で作ったIAMロールやプロジェクト設定をそのまま流用できる場合があります。ただしOfficeアドインは認証情報の保存場所が異なるため、後述の違いは必ず確認してください。
ネットワーク許可リスト
アクセスを許可するドメインは、Anthropic API直結(1P)かサードパーティ経由(3P)かで変わります。どちらの構成でも、プロンプトと応答が届くのは選んだ推論プロバイダーだけで、pivot.claude.aiのようなAnthropic向けドメインはアドインの画面と運用テレメトリしか扱いません。
3P構成(Entra IDでサインインし、推論はゲートウェイ・Bedrock・Vertex AI・Foundryへ向かう)で許可が必要なドメインは次のとおりです。
| ドメイン | 必要な条件 | 用途 |
|---|---|---|
pivot.claude.ai | 必要な条件常時 | 用途タスクペインUIの表示、分析、テレメトリ |
claude.ai/api/ | 必要な条件常時 | 用途サインイン不要の機能フラグ評価 |
appsforoffice.microsoft.com | 必要な条件常時 | 用途Microsoft Office.jsランタイム |
login.microsoftonline.com | 必要な条件常時 | 用途Nested App Auth経由のEntra IDサインイン、管理設定の読み取り |
| 自社ゲートウェイURL | 必要な条件ゲートウェイ利用時 | 用途推論の転送先 |
sts.amazonaws.com | 必要な条件Bedrock direct利用時 | 用途Entra IDトークンを一時的なBedrock認証情報に交換 |
bedrock-runtime.<region>.amazonaws.com | 必要な条件Bedrock direct利用時 | 用途Bedrock推論エンドポイント |
accounts.google.com / oauth2.googleapis.com | 必要な条件Vertex AI direct利用時 | 用途Google OAuthの同意画面とトークン交換 |
<region>-aiplatform.googleapis.com | 必要な条件Vertex AI direct利用時 | 用途Vertex AIリージョナル推論エンドポイント |
<resource>.services.ai.azure.com | 必要な条件Foundry direct利用時 | 用途Azure AI Foundry推論エンドポイント |
graph.microsoft.com | 必要な条件Outlook利用時 | 用途メールボックス・カレンダーAPI |
管理者側のデプロイ手順
配布にはclaude-for-msft-365-installプラグインを使います。クラウドリソースのプロビジョニング、マニフェスト生成、admin consentの取得を1つのウィザードにまとめたものです。
claude plugin marketplace add anthropics/financial-services
claude plugin install claude-for-msft-365-install@claude-for-financial-servicesデプロイのたびにプラグインが最新か確認します。古ければ更新してからセットアップに進みます。
claude plugin update claude-for-msft-365-install@claude-for-financial-servicesインストール後、Claude内からセットアップウィザードを実行します。
/claude-for-msft-365-install:setupウィザードは選んだ経路に応じて次の作業をガイドし、最後にマニフェストとAzure admin consentの案内を出します。
- Bedrock direct: IAM OIDCアイデンティティプロバイダーとロールを作成します
- Vertex AI direct: Google OAuthクライアントの作成をガイドします
- Foundry direct: リソース名とAPIキーを取得します
- LLMゲートウェイ: リソース作成が不要で、URLとトークンの入力だけでマニフェストが生成されます
BedrockとVertex AIの経路はマニフェスト生成にNode.jsを使うため、未インストールならウィザードが導入を促します。
プラグインが提供するコマンドは次のとおりです。
| コマンド | 機能 |
|---|---|
/claude-for-msft-365-install:setup | 機能対話式ウィザード本体 |
/claude-for-msft-365-install:manifest | 機能アドインのマニフェストXMLを生成 |
/claude-for-msft-365-install:consent | 機能Azure admin consent用URLを生成 |
/claude-for-msft-365-install:update-user-attrs | 機能ユーザーごとの設定をMicrosoft Graph拡張属性に書き込む |
/claude-for-msft-365-install:debug | 機能接続失敗・サインインループ・古い設定などの診断 |
/claude-for-msft-365-install:export-data | 機能端末入れ替え前にチャット履歴・スキル・コネクタ登録を読み取り専用でコピー |
接続やサインインで想定外の挙動があれば、まず/claude-for-msft-365-install:debugを実行します。接続失敗画面の「Copy error details」を貼り付けると、症状から原因を切り分けてくれます。
Outlookは別マニフェスト
Outlookはメールアプリ向けの別スキーマを使うため、Excel・PowerPoint・Wordとは別のマニフェストファイル(manifest-outlook.xml)が生成されます。Microsoft 365管理センターへは、それぞれを別のカスタムアプリとしてアップロードします。OutlookのメールボックスアクセスはMicrosoft Graphを通るため、どの推論基盤を選んでもGlobal Administratorによる一度きりのGraph admin consentが必要です。サードパーティ基盤経由のOutlookはClaude Opus 4.7以降とClaude Sonnet 5以降のみに対応し、それより前のモデル世代は使えません。
組織のポリシーでAnthropicが発行するマルチテナントアプリへの同意が認められない場合は、同じ委任権限を持つ自社のシングルテナントEntraアプリを登録し、そのクライアントIDをウィザードにgraph_client_idとして渡します。
Microsoft 365への配布
- Microsoft 365管理センターの「設定」→「統合されたアプリ」→「カスタムアプリのアップロード」で、アプリの種類に「Officeアドイン」を選び
manifest.xmlをアップロードします。Outlookも配布するなら、manifest-outlook.xmlを別アプリとして追加します - 全社共通設定なら「組織全体」、ユーザーごとに設定を書いた場合は「特定のユーザー/グループ」を選びます。対象外のユーザーは設定なしでアドインを開くことになるため、範囲は正確に合わせます
- 権限を承諾してデプロイを完了します
反映まで最大24時間かかりますが、通常はもっと早く終わります。デプロイ後はWindowsなら「ホーム」→「アドイン」、Macなら「ツール」→「アドイン」からExcel・PowerPoint・Wordで使えるようになります。Outlookはメールを開いたときのリボンに表示されます。まずパイロットグループで動作確認してから対象を広げるのが安全です。範囲は再デプロイなしで後から変更できます。
機能を個別に無効化する
disabled_featuresキーを使うと、ユーザーごと・組織全体で個別機能を止められます。
| スラグ | 効果 |
|---|---|
skills.authoring | 効果スキルの作成・編集・アップロードを禁止(管理者が用意したスキルの実行は可能) |
thumbs | 効果フィードバック(高評価・低評価)を無効化 |
addin.access | 効果アドイン自体を停止するキルスイッチ |
file.upload | 効果ファイル添付を禁止 |
web_search | 効果組み込みのWeb検索・Web取得ツールを削除(コード実行は対象外) |
web_searchを無効化しつつmcp_serversキーで自社の検索ツールを接続すれば、検索クエリを自社インフラ内に留められます。
エンドユーザーの接続手順
LLMゲートウェイの場合は、アドインのサインイン画面で「Cloud provider or gateway」を選び、ゲートウェイのURLとAPIトークンを入力します。既定ではトークンをx-api-keyヘッダーで送りますが、管理者がマニフェストでgateway_auth_header: authorizationを指定していればAuthorization: Bearer形式になります。認証情報はブラウザのlocalStorage内(アドインのサンドボックス化されたiframe)に保存され、Anthropicのサーバーには同期されません。Claude Codeと違ってOSのキーチェーンは使えないため、入力するのはゲートウェイが発行したトークンに限ります。クラウドプロバイダーの生の認証情報は入力しません。
Bedrock・Vertex AI・Foundryのdirect接続では、経路ごとに接続の流れが異なります。
- Bedrock: ユーザーが自分のMicrosoft職場アカウントでサインインすると、Entra IDトークンでAWSロールを引き受けます
- Vertex AI: 管理者が作成したGoogle OAuthクライアント経由でGoogleアカウントサインインを行います
- Foundry: リソース名とAPIキーが事前設定されていれば自動接続します。キーレス設定なら職場アカウントのサインインだけで接続します
FoundryのAPIキーなし接続
共有のリソースキーの代わりに、ユーザーごとのMicrosoft Entra IDトークンで認証する構成も選べます。トークンはOffice内のNested App Authenticationで取得され、<resource>.services.ai.azure.comへAuthorization: Bearerとして送られます。期限が切れる前に自動更新され、端末にキーは保存されません。設定には、Entraアプリ登録へのuser_impersonation委任権限の付与と、対象ユーザーへのCognitive Services Userロール付与の両方が必要です。
Claude Codeのゲートウェイ設定との違い
すでにClaude Codeをゲートウェイ経由で運用しているチームにとって、Officeアドインの設定は次の点が異なります。
| 観点 | Claude Code | Officeアドイン |
|---|---|---|
| 認証情報の保存先 | Claude CodeOSキーチェーンまたは環境変数 | OfficeアドインブラウザのlocalStorage(サンドボックス化されたiframe内) |
| 認証設定 | Claude Code環境変数・設定ファイル・ヘルパースクリプト | OfficeアドインアドインUIへの手入力(ゲートウェイ)、Entra ID・Google OAuth・Azure APIキー(direct接続) |
| トークン更新 | Claude Codeローテーション用ヘルパースクリプトに対応 | Officeアドインゲートウェイはbootstrapエンドポイント経由で自動、direct接続はEntra IDまたはGoogle OAuthで自動。手入力したゲートウェイトークンは自動更新されず設定画面での再入力が必要 |
| カスタムモデル名 | Claude Code環境変数で設定可能 | Officeアドイン現バージョンでは非対応 |
ゲートウェイ設定がbootstrapエンドポイント経由の場合、失効の5分ほど前にアドインが自動でトークンを取り直します。手入力したトークンはこの自動更新の対象外なので、ローテーションのたびに設定画面での再入力が要ります。Claude CodeのVS Code拡張でも同じ3経路(Bedrock/Vertex/Foundry)を扱いますが、GUIアプリゆえの環境変数の引き継がれ方の違いが問題になります。詳細はVS Code拡張でサードパーティプロバイダーを使う設定にまとめています。
Claudeアカウント接続との機能差
サードパーティ基盤経由では、一部の機能がまだ使えません。
| 機能 | Claudeアカウント | サードパーティ基盤 |
|---|---|---|
| スプレッドシート・スライド・ドキュメント・メールとのチャット | Claudeアカウント○ | サードパーティ基盤○ |
| セル・スライド・数式・文書テキストの読み取りと編集 | Claudeアカウント○ | サードパーティ基盤○ |
| メールボックス・カレンダーの読み取りと検索(Outlook) | Claudeアカウント○ | サードパーティ基盤○ |
| コネクタ(S&P、FactSet等) | Claudeアカウント○ | サードパーティ基盤対応予定 |
| アプリをまたいだ作業 | Claudeアカウント○ | サードパーティ基盤非対応 |
| 音声入力 | Claudeアカウント○ | サードパーティ基盤非対応 |
| スキル | Claudeアカウント○ | サードパーティ基盤対応予定 |
| ファイルアップロード | Claudeアカウント○ | サードパーティ基盤非対応 |
| Web検索 | Claudeアカウント○ | サードパーティ基盤Vertex direct・Foundry direct、Foundry互換の上流に転送するゲートウェイのみ |
| コード実行 | Claudeアカウント○ | サードパーティ基盤Foundry direct、Foundry互換の上流に転送するゲートウェイのみ |
これらの機能が必要な場合は、Claudeアカウントでのサインインに切り替えられないか管理者に相談するのが現実的です。
よくあるつまずき
「Connection refused」やネットワークエラー: ゲートウェイURLやクラウドエンドポイントにユーザーの端末から到達できていません。URLの正しさ、サービスの稼働、ファイアウォールやVPNの制限を確認し、ネットワーク許可リストのドメインが通っているか見直します。
401 Unauthorized・「Invalid token」: 認証トークンが無効または期限切れです。ゲートウェイならIT部門にトークンを確認します。direct接続ならEntra IDアカウントが対象グループに入っているか、OIDC信頼関係やOAuthクライアントの設定を確認します。FoundryのAPIキー構成ならAzure Portalでキーを再生成し、キーレス構成ならentra_scopeがhttps://cognitiveservices.azure.com/.defaultになっているか確認します。
403 Forbidden・「Access denied」: トークンは有効でも権限が足りません。Bedrockならbedrock:InvokeModel権限を確認します。Vertex AIならプロジェクトのVertex AI Userロールを確認します。Foundryならリソースのネットワーク設定やCognitive Services Userロールを確認します。
404 Not found: ゲートウェイのURL欄にベースURLだけを入れているか確認します。/v1/messagesのようなパスまで含めると失敗します。
「No models available」: gateway_api_format: anthropicのゲートウェイがGET /v1/modelsでモデル一覧を返していない可能性があります。BedrockやVertex direct接続なら、対象リージョン・プロジェクトでClaude Sonnet 4.5以降のモデルが有効か確認します。
ストリーミング応答が止まる・返らない: ゲートウェイがServer-Sent Eventsをそのまま通しているか確認します。プロキシ設定によってはSSE接続をバッファリングしてしまい、ストリーミングが届きません。
データの扱い
Bedrock経由の課金体系は直接APIと単価やリージョン加算の扱いが異なるため、コスト試算はBedrockのClaude料金は直接APIとどう違うかで先に押さえておくと、Officeアドインの利用量が増えたときの見積もりがしやすくなります。
推論を自社インフラ経由にしても、アドインは画面表示のためにpivot.claude.ai、機能フラグ評価のためにclaude.ai/api/と通信します。ここで送られるのは使われた機能・処理時間・エラー率といった運用テレメトリだけで、プロンプトや応答は含まれません。Anthropicは顧客のAWS・Google・Microsoftインスタンス(プロンプトや出力を含む)にアクセスしません。そこからモデルを学習させることもありません。プロンプト・ツール入出力を含む完全な監査ログを自社インフラへ流したい場合は、カスタムOpenTelemetryコレクターの設定で対応します。
まとめ
Claude for Microsoft 365をサードパーティ基盤と併用する設定は、Claude Codeのゲートウェイパターンをそのままオフィス文書の中に持ち込む形です。認証情報の保存先やトークン更新の仕組みはClaude Codeと異なります。すでにBedrockやVertex AIでClaude Codeを運用しているチームでも、Officeアドイン側の設定は別物として扱う必要があります。コネクタやアプリをまたいだ作業のようにサードパーティ経由でまだ使えない機能もあるため、導入前にClaudeアカウント接続との機能差を確認してください。必要な機能次第では、Claudeアカウント接続との併存も検討する価値があります。