環境のための Microsoft 365 の設定
独自の Microsoft Entra アプリを使用すると、組織は Microsoft でのサインイン と Outlook、Teams、SharePoint の両方に同じアプリを利用できます。どの統合や書き込み操作が利用可能かを中央で管理します。ユーザーはその後、設定 → ツール → 連携 で個別に連携のオン・オフを切り替えます。
個人用統合はOpenAI、Claude、Gemini、Mistralの対応モデルで動作します。選択したモデルはツールを使用可能である必要があります。個人用連携ではアクセスはサインインしたMicrosoftユーザーの権限に従います。組織同意はすべての従業員を自動的にサインインさせず、AIにすべてのメールボックスへの独立したアクセスを与えません。中央SharePointナレッジベースは別個のアプリ権限と既存のナレッジベース権限を使用し、本記事後半で説明しています。
必要なもの
- Microsoft Entra ID と必要なサービスへのアクセス権を持つアカウントがある Microsoft 365 組織。
- アプリを登録し、選択した Microsoft Graph 権限に対する組織の同意を付与できる管理者。Azure サブスクリプションの役割だけでは不十分で、Entra の役割でこの同意が許可されている必要があります。
- 統合を利用可能にするための適切な AI 環境の管理権限。
- Google Cloud Identity Platform でこの AI 環境の Microsoft Identity Provider を設定できるプラットフォーム管理者。
- 独自の Microsoft ディレクトリに登録されたアプリ、クライアントシークレット、および該当ブランドの 2 つのリダイレクト URL。
Microsoft でのサインインと Microsoft データへのアクセスは別々の機能です。Microsoft ログインが機能していても、Outlook、Teams、SharePoint が設定されているとは限りません。
1. 組織用アプリを 1 つ登録する
Microsoft Entra 管理センター を開き、アプリ登録 → 新規登録 に進みます。わかりやすい名前(例:AI-Public – 組織名)を使用します。独自組織の場合は この組織ディレクトリ内のアカウントのみ(シングルテナント) を選択します。
概要 から以下の情報を保存します:
| 項目 | 用途 |
|---|---|
| ディレクトリ (テナント) ID | 組織の Microsoft ディレクトリ。AI 環境の Microsoft ID フィールドに入力します。 |
| アプリケーション (クライアント) ID | 登録したアプリ。Microsoft Identity Provider に入力します。 |
これら 2 つの ID は異なります。Microsoft ID にはクライアント ID や Firebase テナント ID を入力しないでください。
2. 正しいリダイレクト URL を設定する
認証 → プラットフォームの追加 → Web に進みます。ブランドごとに以下の 2 つの URL を正確に追加します。1 つ目はサインイン処理用、2 つ目はワークアカウント統合の同意処理用です。
| ブランド | Microsoft でのサインイン | ワークアカウント統合 |
|---|---|---|
| AI-School | https://ai-school-pro.firebaseapp.com/__/auth/handler | https://europe-west1-ai-school-pro.cloudfunctions.net/completeConnectorOAuth |
| AI-Corporate | https://ai-corporate.firebaseapp.com/__/auth/handler | https://europe-west1-ai-corporate.cloudfunctions.net/completeConnectorOAuth |
| AI-Public | https://ai-public-pro.firebaseapp.com/__/auth/handler | https://europe-west1-ai-public-pro.cloudfunctions.net/completeConnectorOAuth |
環境が動作しているブランドの URL を使用してください。組織名やテナント ID を URL に入れる必要はありません。ウェブサイト URL、ダッシュボード URL、.web.app URL はこれらのコールバックを置き換えません。ブラウザからの統合でも Web として登録してください。暗黙的なトークン発行やパブリッククライアントフローを有効にする必要はありません。
3. クライアントシークレットを作成し権限を付与する
証明書とシークレット → クライアントシークレット → 新しいクライアントシークレット に進みます。適切な有効期限を選び、表示されたら 値 を安全に保存します。プラットフォーム管理者に合意された安全なチャネルで値を渡してください。シークレット ID はクライアントシークレットではありません。有効期限を管理し、期限前にシークレットを更新し、Identity Provider でも更新してください。
次に API のアクセス許可 → アクセス許可の追加 → Microsoft Graph → 委任されたアクセス許可 に進みます。組織が提供する統合と操作に必要な権限のみを追加します。
| 統合 | 読み取り権限 | 書き込みの追加権限 |
|---|---|---|
| プロフィール / 基本 | User.Read。サインインフローでは openid、profile、email、offline_access も要求されます | なし |
| Outlook メール | Mail.Read | 下書き: Mail.ReadWrite。送信: Mail.Send |
| Outlook カレンダー | Calendars.Read | 書き込み: Calendars.ReadWrite |
| Microsoft Teams | Chat.Read、ChannelMessage.Read.All | 投稿: Team.ReadBasic.All、Channel.ReadBasic.All、ChannelMessage.Send |
| SharePoint / OneDrive | Sites.Read.All、Files.Read.All | このワークアカウント統合では書き込み操作はありません |
Mail.ReadWrite は送信権限を含みません。送信には別途 Mail.Send が必要です。Teams の投稿は選択したチャネルへのテキストメッセージであり、プライベートチャットメッセージではありません。この統合では 委任されたアクセス許可 を使用し、アプリケーションアクセス許可 は使いません。All が名前に含まれていても、委任されたアクセスはユーザーのアクセス権に制限されます。
組織の管理者同意を付与 をクリックし、選択した権限が付与済みと表示されることを確認してください。これにより従業員は組織の権限を自分で付与せずに承認済みのアクセスを利用できます。Microsoft はポリシーに応じてサインイン、MFA、再同意を求める場合があります。
4. AI 環境の 2 箇所でアプリを連携させる
プラットフォーム管理者に適切な環境を選択して以下の設定を行ってもらいます:
- 管理 → 環境 → テナント でログイン方法 Microsoft を有効にし、Microsoft ID に ディレクトリ (テナント) ID を入力。
- Google Cloud → Identity Platform → 該当テナント → Identity providers → Microsoft でプロバイダーを有効にし、同じ Entra アプリの アプリケーション (クライアント) ID とクライアントシークレットの 値 を入力。
Identity Provider は AI 環境の Firebase/Identity Platform テナントに属し、他の組織や一般管理環境のものではありません。ワークアカウント統合はこのプロバイダーのアプリを再利用します。クライアントシークレットはユーザー設定、チャットメッセージ、通常の環境変数に含めてはいけません。
プラットフォーム管理者には組織名、ブランド、ディレクトリ ID、クライアント ID、シークレット値(安全なチャネル経由)、有効期限、必要な統合・権限を提供してください。アプリ ID だけでは不十分です。
5. 統合と書き込み操作を有効にする
組織の管理環境 → ツール → MCP を開きます。スイートショートカットで Microsoft 365 統合をオンにします。Microsoft の行が表示されます。スイート全体がオフの場合はこれらの行は非表示のままです。
統合ごとに利用可能かを選択します。書き込み操作の列では個別に選択します:
- Outlook メール → 下書き: 下書きの作成・変更。
- Outlook メール → 送信: 既存の下書きを実際に送信。
- Outlook カレンダー → 書き込み: 予定の作成・変更。
- Microsoft Teams → 投稿: 選択した Teams チャネルにテキストメッセージを投稿。
保存 をクリックします。書き込み操作は統合と対応する管理権限がオンで、Microsoft が必要な権限を付与し、ユーザーが個別に連携をオンにしている場合にのみ機能します。ユーザーに追加の書き込み権限フォームはありません。
設定はブランドのバックエンドでもサポートされている必要があります。この書き込み拡張は 2026 年 10 月 7 日に教育サポート向けに AI-Corporate で公開・テストされました。これは AI-Public、AI-Public、その他の環境で同じ拡張がすでに利用可能であることを意味しません。書き込み操作がない場合はプラットフォーム管理者に確認してください。
6. 設定を確認する
ユーザーに適切な AI 環境でサインインし、Microsoft 統合の使用 に従って希望の統合をオンにしてもらいます。Microsoft が独自の Entra アプリ名を表示していることを確認してください。
まず認識しやすい下書きと参加者なしの予定をテストします。Outlook に保存されたアイテムを確認してください。次にテスト受信者への送信と、テストチャネルへの Teams 投稿を試します。参加者ありの予定は招待や更新を送信する場合があります。送信が承認されても配信が確定したわけではありません。
権限を拡張すると連携はトークンの更新を試みます。Microsoft が再サインインや同意を要求する場合、ユーザーは既存の連携を再接続してください。2 つ目のアプリや別のユーザー設定は不要です。
トラブルシューティング
| 問題 | 確認事項 |
|---|---|
AADSTS50011 / リダイレクト不一致 | 両方のコールバックが正確に Web として登録されているか、正しいブランドか |
| 別のアプリ名が同意画面に表示される | 正しい AI 環境、ディレクトリ ID、テナント固有の Microsoft Identity Provider を使用し、再接続する |
| ログインはできるが統合が動作しない | コネクターコールバック、Graph 権限、組織の同意を確認する |
| 読み取りはできるが書き込みはできない | 管理権限、対応する委任された Graph 権限、付与済み同意、バックエンドの利用可能性を確認する |
| クライアントシークレットが無効または期限切れ | 値(Value)であることを確認し、新しいシークレットを Identity Provider にも更新する |
| ユーザーに統合が表示されない | ツールの利用可能性、ユーザーの連携権限、選択された AI 環境を確認する |
参考情報
中央SharePointナレッジベース:Microsoftの設定
中央連携フォルダーは組織アプリを介して動作し、各従業員が個別のSharePoint連携を有効にする必要はありません。これには2つの別々の権限が必要です:管理者同意付きのアプリケーション権限Sites.Selectedと、選択したSharePointサイトへのread権限の付与です。有効なMicrosoftログインまたは管理者同意のみでは不十分です。
1. 組織アプリを確認する
AI環境でのMicrosoftサインインに使用しているのと同じシングルテナントアプリ登録を使用します。既存のアプリを拡張可能で、2つ目の統合アプリは不要です。Microsoft Entra → アプリ登録 → 対象アプリ → 概要でディレクトリ(テナント)IDとアプリケーション(クライアント)IDを確認してください。以下ではクライアントIDを使用し、オブジェクトIDは使用しません。
ディレクトリIDは管理 → 環境 → テナント → Microsoft IDに登録されている必要があります。クライアントIDと有効なクライアントシークレットの値は、正確にそのAI環境のMicrosoft Identity Providerに登録されている必要があります。この設定はプラットフォーム管理者が管理します。期限切れのシークレットは中央インポートも妨げるため、有効期限を管理してください。
中央サーバー接続はclient_credentialsを使用し、追加のリダイレクトURLは不要です。サインインや個人用ワークアカウント統合の既存のWebリダイレクトは引き続き必要であり、本記事の前半の表にあるブランド固有のURLを使用してください。
2. アプリケーション権限を追加し、管理者同意を付与する
- API permissions → Add a permission → Microsoft Graph → Application permissionsを開きます。
- Sites.Selectedを検索し、この権限を選択してAdd permissionsをクリックします。
- 権限のあるEntra管理者にGrant admin consent for your organizationを実行してもらいます。
- Sites.SelectedがApplicationタイプで付与済みと表示されていることを確認します。
個人用Outlook、Teams、SharePoint連携の委任権限は同じアプリに残しておけます。これらは中央ナレッジベース用のアプリケーション権限を置き換えません。中央インポートにはSites.Read.All、Sites.ReadWrite.All、Sites.FullControl.Allのアプリケーション権限は不要です。
3. アプリにサイトの個別読み取りアクセス権を付与する
この管理操作はMicrosoft Graph Explorerで行えます。同じMicrosoftディレクトリの管理アカウントを使用し、SharePoint管理者またはそれ以上の適切な管理者ロールと対象サイトへのアクセス権が必要です。Azureサブスクリプションロールやアプリの所有者権限のみでは不十分です。
- 管理アカウントでGraph Explorerにサインインし、表示されている組織を確認します。
- プロフィールメニュー → Consent to permissions を開き、Sites.FullControl.All を検索して Consent を選択し、この管理コンテキストで Graph Explorer に必要な権限を付与します。いくつかのクエリでは、Modify Permissions → Open the permissions panel から完全な権限パネルを開くこともできます。これはサイト権限を管理するための delegated 管理権限であり、ナレッジベースアプリに広範なアプリケーション権限として追加しないでください。すべてのユーザーに対する組織の同意が不要な場合は、アカウントに紐づく権限を使用してください。
- 以下のGETでサイトIDを検索します。例のホスト名とサイトパスを自組織のものに置き換えてください。URLに
/teams/が含まれる場合は/sites/の代わりにそのパスを使用します。
GET https://graph.microsoft.com/v1.0/sites/uworganisatie.sharepoint.com:/sites/uwsite?$select=id,displayName,webUrl
応答のidの値が完全なサイトIDで、ホスト名と2つのGUIDを含みます。displayNameとwebUrlも確認し、付与する権限が実際にフォルダーが存在するサイトに対してであることを確認してください。
- まず以下のGETで既存の権限付与を確認します。クライアントIDが
readロールで既に存在する場合は新たな権限付与は不要です。既存のより広範なまたは異なる権限はMicrosoft管理者に評価してもらってください。
GET https://graph.microsoft.com/v1.0/sites/SITE-ID/permissions
- 権限付与がない場合はPOSTを選択し、同じURLを使い、Request Bodyに以下のJSONを入力します。2つの例の値を置き換えてください。
CLIENT-ID-VAN-UW-APPは統合アプリのアプリケーション(クライアント)IDであり、Graph Explorerアプリのものではありません。
{
"roles": ["read"],
"grantedToIdentities": [
{
"application": {
"id": "CLIENT-ID-VAN-UW-APP",
"displayName": "NAAM-VAN-UW-INTEGRATIE-APP"
}
}
]
}
- Run queryを選択します。追加が成功すると201 Createdが返ります。応答で
readロールとクライアントIDを確認してください。GraphはgrantedToIdentitiesV2に表示することがあります。再度GETで確認し、管理や後の取り消しのためにpermission IDを保存してください。 - 中央ナレッジベースに意図的に連携したい他のサイトごとにこの操作を繰り返します。
Microsoftの権限付与はアプリに選択されたサイト全体の読み取りアクセスを与えます。AI環境は選択したフォルダーとそのサブフォルダーのみをインポートします。中央共有ナレッジには別のサイトを使用することを推奨します。既存のナレッジベース権限がインポートされたドキュメントの利用者を決定し、個別のSharePoint権限は引き継がれません。
4. フォルダーを連携し、結果を確認する
管理 → ナレッジベース → 追加 → SharePointフォルダー → フォルダーを連携を開き、招待リンクやOneDriveの概要URLではなく実際のフォルダーURLを使用します。範囲、対象者、公開ステータスはナレッジベースマニュアルに従って選択してください。中央ソースはユーザー設定の個人用コネクターを必要としません。
更新でドキュメントがエラーなく処理されたか確認し、今すぐ同期で再チェックします。その後、インポート済みドキュメントに関する具体的なチャット質問をして、回答に正しい中央ナレッジソースが含まれているか確認してください。
| 問題 | Microsoft側の確認事項 |
|---|---|
| ログインは成功するが中央フォルダーが機能しない | Sites.SelectedはApplicationタイプで管理者同意済みであること、かつ個別のサイト権限付与を確認してください。 |
フォルダーアクセスで403 Forbiddenが発生 | 正しいMicrosoftディレクトリ、サイトID、クライアントID、read権限付与があるか。管理者同意だけではサイトアクセスは付与されません。 |
Graph Explorerでの管理操作で403が発生 | 委任されたSites.FullControl.All権限の付与、管理者ロール、対象サイトへのアクセス権を確認。統合アプリに広範な権限を追加しないでください。 |
| サイトは機能するがフォルダーが見つからない | 実際のフォルダーURL、ドキュメントライブラリ、サイトパスを確認。OneDriveのショートカットは別サイトを指すことがあります。 |
| シークレットが期限切れまたは無効 | プラットフォーム管理者に新しいシークレットの値を正しいMicrosoft Identity Providerに更新してもらってください。 |
OnderwijsSupportのAI-Corporate向け中央連携は2026年10月14日に公開・テスト済みです。AI-School、AI-Public、その他環境での利用可否はプラットフォーム管理者に確認してください。
Microsoftドキュメント:Selected permissions、サイト権限付与の追加、サイト権限付与の確認