ご利用の環境で Microsoft 365 を設定する
Microsoft 365 を AI-School 環境に接続する方法は 2 つあります。まず、どちらの方法が組織に適しているかを選んでください。
| ルート | いつ | 行うこと |
|---|---|---|
| AI-School の中央アプリ(標準) | Outlook Mail、Outlook カレンダー、Teams、SharePoint/OneDrive との個人接続。 | Entra 管理者が Microsoft 365 を接続 から組織の同意を付与します。その後、この記事のステップ 5 に従って統合を有効化します。独自アプリ、クライアントシークレット、Identity Provider は不要です。 |
| 独自の Entra アプリ | SharePoint フォルダーをナレッジベースに中央取り込みしたい、従業員がすでに独自アプリ経由で Microsoft でログインしている、またはアプリを自分で管理したい場合。 | この記事をステップ 1 から実施してください。 |
組織がすでに独自アプリで Microsoft ログインしている場合(環境の Microsoft ID フィールドが入力済み)、すべての接続はその独自アプリを使用します。その場合、中央ルートは適用されません。
独自の Entra アプリ
独自の Microsoft Entra アプリを使うと、組織は Microsoft でサインイン と Outlook、Teams、SharePoint に同じアプリを使用できます。どの統合と書き込み操作を利用可能にするかを中央で管理できます。ユーザーはその後、設定 → Tools → 接続 で個人接続をオン/オフするだけです。
個人統合は、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 ディレクトリ内の app registration、クライアントシークレット、および適切なブランドの 2 つのリダイレクト URL。
Microsoft でのサインインと Microsoft データへのアクセスは別の機能です。Microsoft ログインが動作するだけでは、Outlook、Teams、SharePoint の設定が完了したことにはなりません。
1. 1 つの組織アプリを登録する
Microsoft Entra 管理センター を開き、App registrations → New registration に進みます。分かりやすい名前、たとえば AI-School – 貴社名 を使ってください。独自組織向けには Accounts in this organizational directory only (Single tenant) を選択します。
Overview から次の情報を保存してください。
| データ | 用途 |
|---|---|
| Directory (tenant) ID | 組織の Microsoft ディレクトリ。AI 環境の Microsoft ID フィールドに入ります。 |
| Application (client) ID | 登録されたアプリ。Microsoft Identity Provider に入ります。 |
この 2 つの ID は異なります。Microsoft ID には client ID や Firebase tenant ID を入れないでください。
2. 正しいリダイレクト URL を設定する
Authentication → Add a platform → Web に進みます。ブランドごとに、以下の 両方 の 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 を使用してください。組織名や tenant ID をこれらの URL に入力する必要はありません。Web サイト URL、ダッシュボード URL、.web.app URL はこれらのコールバックの代わりにはなりません。ブラウザから統合を使う場合でも、Web として登録してください。暗黙的トークン発行や public-client-flow を有効にする必要はありません。
3. クライアントシークレットを作成し、権限を付与する
Certificates & secrets → Client secrets → New client secret に進みます。適切な有効期間を選び、表示されたら Value を安全に保存してください。値は、取り決めた安全な経路でプラットフォーム管理に提供してください。Secret ID はクライアントシークレットではありません。期限切れ日を管理し、その日より前にシークレットを更新してください。Identity Provider 側も更新が必要です。
次に API permissions → Add a permission → Microsoft Graph → Delegated permissions に進みます。組織が提供する統合と操作に必要な権限だけを追加してください。
| 統合 | 読み取り権限 | 書き込み用の追加権限 |
|---|---|---|
| プロフィール / 基本 | User.Read; サインインフローでは openid, profile, email, offline_access も要求されます | なし |
| Outlook Mail | 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 の投稿は、選択したチャネルへのテキストメッセージを書き込むもので、個人チャットメッセージではありません。この統合では Application permissions ではなく Delegated permissions を使用してください。名前に All が含まれる権限でも、委任アクセスはユーザーのアクセス権に制限されます。
Grant admin consent for uw organisatie をクリックし、選択した権限が付与済みとして表示されていることを確認してください。これにより、従業員は自分で組織権限を付与せずに、承認済みのアクセスを使用できます。Microsoft はポリシーに応じて、サインイン、MFA、再同意を求める場合があります。
4. 2 か所でアプリを AI 環境に接続する
プラットフォーム管理者に、正しい環境を選択して次の設定を実施してもらいます。
- Admin → 環境 → Tenant で、サインイン方法 Microsoft を有効にし、Microsoft ID に Directory (tenant) ID を入力します。
- Google Cloud → Identity Platform → 該当 tenant → Identity providers → Microsoft で、プロバイダーを有効にし、同じ Entra アプリの Application (client) ID と client secret Value を入力します。
Identity Provider は、別の組織や一般的な Admin 環境ではなく、AI 環境の Firebase/Identity Platform tenant に属します。職場アカウント統合は、この provider のアプリを再利用します。クライアントシークレットをユーザー設定、チャットメッセージ、通常の環境フィールドに入れてはいけません。
プラットフォーム管理には、組織名、ブランド、Directory ID、client ID、secret 値(安全な経路経由)、期限、必要な統合/権限を渡してください。アプリ ID だけでは不十分です。
5. 統合と書き込み操作を有効化する
管理環境 → Tools → MCP を開きます。Suite-snelkoppelingen で Microsoft 365 統合をオンにします。Microsoft の行が表示されます。スイート全体がオフのままだと、これらの行は非表示のままです。
統合ごとに利用可否を選択します。Schrijfacties 列では、個別に次を選びます。
- Outlook Mail → Concepten: 下書きを作成・編集する。
- Outlook Mail → Verzenden: 既存の下書きを実際に送信する。
- Outlook Agenda → Schrijven: 予定を作成・編集する。
- Microsoft Teams → Posten: 選択した Teams チャネルにテキストメッセージを投稿する。
Opslaan をクリックします。書き込み操作は、統合と対応する管理権限の両方がオンで、Microsoft が必要な権限を付与し、ユーザーが個人接続を有効にしている場合にのみ機能します。ユーザー向けの追加の書き込み権限フォームは不要です。
設定は、ブランドのバックエンドでもサポートされている必要があります。この書き込み拡張は 2026 年 10 月 7 日に OnderwijsSupport 向けに公開・テストされました。これは、同じ拡張が AI-School、AI-Public、または他の環境ですでに有効化されていることを自動的に意味しません。書き込み操作が見当たらない場合は、プラットフォーム管理に確認してください。
6. 設定を確認する
ユーザーに、正しい AI 環境へサインインし、Microsoft-integraties gebruiken に従って目的の統合を有効化してもらいます。Microsoft が独自 Entra アプリの名前を表示しているか確認してください。
まず、分かりやすい下書きと、参加者なしの予定をテストします。Outlook の保存済みアイテムを確認してください。次に、合意したテスト受信者への送信と、合意したテストチャネルへの Teams 投稿をテストします。参加者付きの予定は、招待や更新を送信する場合があります。送信要求が受理されても、配信完了の確認ではありません。
権限を拡張すると、接続はトークンの更新を試みます。Microsoft が再サインインや再同意を要求した場合は、ユーザーに既存の接続を再接続してもらってください。2 つ目のアプリや別のユーザー設定を作成する必要はありません。
トラブルシューティング
| 問題 | 確認 |
|---|---|
AADSTS50011 / redirect mismatch | 両方のコールバックが、正しいブランド向けに Web として正確に登録されているか。 |
| 同意時に別のアプリ名が表示される | 正しい AI 環境、Directory ID、tenant 固有の Microsoft Identity Provider を確認し、その後再接続する。 |
| ログインは動くが統合が動かない | connector callback、Graph 権限、組織の同意も確認する。 |
| 読み取りはできるが、書き込みはできない | 管理権限、対応する delegated Graph 権限、付与済みの同意、backend の利用可否を確認する。 |
| クライアントシークレットが無効または期限切れ | Secret ID ではなく Value を確認し、新しい secret も Identity Provider に更新する。 |
| ユーザーに統合が表示されない | Tools での利用可否、ユーザーの接続権限、選択した AI 環境を確認する。 |
詳細情報
- Tools beheren
- Microsoft-integraties gebruiken
- Microsoft: アプリを登録する
- Microsoft: リダイレクト URL
- Microsoft Graph: 権限一覧
中央 SharePoint ナレッジベース: Microsoft の設定
中央で接続されたフォルダーは、各従業員が個別の SharePoint 接続を有効にしなくても、組織アプリ経由で動作します。これには 2 つの別個の同意 が必要です。すなわち、admin consent 付きのアプリケーション権限と、アプリが読み取ってよいフォルダー (またはサイト) そのものへの read grant です。Microsoft ログインが動作していること、あるいは admin consent だけでは、まだアクセスは得られません。
方法は 2 つあります。接続するフォルダーごとにいずれか 1 つを選んでください。AI 環境が自動的にもう一方の方法に切り替えることはありません。
| フォルダー grant (推奨) | サイト grant | |
|---|---|---|
| アプリケーション権限 | Files.SelectedOperations.Selected | Sites.Selected |
| grant の対象 | ドキュメントライブラリ内の選択したフォルダー | サイト全体 |
| アプリが読み取れる範囲 | このフォルダーと、grant を継承するサブフォルダー | サイトのすべてのライブラリとフォルダー |
| 既存の SharePoint 構成 | そのまま維持。別のサイトは不要 | 共有ナレッジ用に別のサイトを推奨 |
| SharePoint への影響 | フォルダーの権限継承が解除される (下記参照) | 継承への影響なし |
1. 組織アプリを確認する
AI 環境の Microsoft サインインに使っているのと同じ single-tenant app registration を使用してください。既存のアプリを拡張できます。2 つ目の統合アプリは不要です。Microsoft Entra → App registrations → お使いの app → Overview で Directory (tenant) ID と Application (client) ID を確認してください。以下では Object ID ではなく client ID を使用します。
Directory ID は Admin → 環境 → Tenant → Microsoft ID に設定されている必要があります。client ID と、有効な client secret の Value は、まさにその AI 環境の Microsoft Identity Provider に設定されている必要があります。この構成はプラットフォーム管理で管理されます。シークレットの期限切れは中央取り込みも妨げるため、有効期限を管理し、期限前にシークレットを差し替えてください。
中央サーバー接続は client_credentials を使用し、追加の redirect URL は要求しません。サインイン用および個人の職場アカウント統合用の既存の Web リダイレクトは引き続き必要です。この記事前半の表にあるブランド別 URL を使用してください。
2. アプリケーション権限を追加し、admin consent を付与する
- API permissions → Add a permission → Microsoft Graph → Application permissions を開きます。
- Files.SelectedOperations.Selected (フォルダー grant) または Sites.Selected (サイト grant) を検索して選択し、Add permissions をクリックします。
- 権限のある Entra 管理者に Grant admin consent for uw organisatie を実行してもらいます。
- その権限が type Application として付与済みで表示されていることを確認します。
ナレッジベースアプリに必要なのは読み取り権限だけです。アプリケーション権限 Sites.Read.All、Files.Read.All、Sites.ReadWrite.All、Files.ReadWrite.All、Sites.FullControl.All は付与しないでください。こうした広範な権限は選択したフォルダー以外へのアクセスを与え、欠けている、または取り消されたフォルダー grant を覆い隠してしまいます。フォルダー grant を選ぶ場合は、以前に追加した Sites.Selected と対応するサイト grant も削除し、フォルダー grant が唯一の境界になるようにしてください。アプリにこうした追加の権限があると、AI-School のソース一覧に警告が表示されます。
個人の Outlook、Teams、SharePoint 接続の delegated 権限は、同じアプリに残しておいてかまいません。中央ナレッジベース用のアプリケーション権限の代わりにはなりません。
3. アプリにフォルダーまたはサイトへの読み取りアクセスを付与する
この管理操作は Microsoft Graph Explorer で行えます。同じ Microsoft ディレクトリの管理アカウントを使い、SharePoint Administrator もしくはそれ以上の適切な管理ロールと、該当サイトへのアクセス権が必要です。Azure サブスクリプションのロールや、アプリの所有者であるだけでは不十分です。
- 管理アカウントで Graph Explorer にサインインし、表示される organization を確認します。
- プロフィールメニュー → Consent to permissions を開き、Sites.FullControl.All を探して Consent を選びます。これは Graph Explorer で grant を管理するための delegated 管理権限です。ナレッジベースアプリにアプリケーション権限として追加しないでください。組織全体への同意が不要な場合は、アカウント単位の同意を使用します。
- フォルダーの drive ID と item ID を調べます。AI-School の接続フォームでは、フォルダー URL を入力するとすぐに、そのまま使える GET コマンドが表示されます。自分で組み立てることもできます。フォルダー URL を base64url でエンコードし (末尾の
=は付けない)、先頭にu!を付けます。
GET https://graph.microsoft.com/v1.0/shares/u!GECODEERDE-MAP-URL/driveItem?$select=id,name,webUrl,parentReference
レスポンスの id が フォルダーの item ID、parentReference.driveId がライブラリの drive ID (b! で始まる) です。name と webUrl を確認してください。共有したいフォルダーである必要があります。share コマンドが機能しない場合は、ライブラリとパスを使用します。
GET https://graph.microsoft.com/v1.0/sites/uworganisatie.sharepoint.com:/sites/uwsite:/drives?$select=id,name,webUrl
GET https://graph.microsoft.com/v1.0/drives/DRIVE-ID/root:/Pad/Naar/Map?$select=id,name,webUrl
- まず、フォルダー上の既存の grants を確認します。client ID がすでに
readロール付きで存在する場合、2 つ目の grant を作成する必要はありません。
GET https://graph.microsoft.com/v1.0/drives/DRIVE-ID/items/MAP-ID/permissions
- grant がない場合は、同じアドレスで POST を選び、Request Body に次の JSON を入力します。
CLIENT-ID-VAN-UW-APPは統合アプリの Application (client) ID であり、Graph Explorer アプリではありません。ロールはreadのみを使用してください。
{
"roles": ["read"],
"grantedToV2": {
"application": {
"id": "CLIENT-ID-VAN-UW-APP"
}
}
}
- Run query を選びます。成功すると 201 Created が返ります。レスポンスで
readロールと client ID を確認し、後の確認や取り消しに備えて permission ID (id) を保存してください。 - これは、意図して接続したい他の各フォルダーに対してのみ繰り返してください。接続するフォルダーごとに個別の grant が必要です。
Microsoft は、アプリケーション grant を設定したフォルダーの権限継承を解除します。その時点のフォルダーの既存のユーザー権限はコピーされますが、その後に上位のサイトやライブラリで権限を変更しても、このフォルダーには自動的に反映されなくなります。そのため、付与後にフォルダーのユーザー権限を確認し、以後はフォルダー自体で管理してください。ライブラリあたりの一意の権限に関する Microsoft の上限にも注意してください。フォルダーを継承した権限に戻さないでください。戻すとアプリの grant も消えます。
独自の権限を持つサブフォルダーとファイル。 選択したフォルダーの権限を継承するサブフォルダーとファイルは grant の対象になります。サブフォルダーやファイルがアプリを含まない独自の (継承が解除された) 権限を持つ場合、アプリはそれを読み取れません。AI-School はそのようなサブフォルダーを丸ごとスキップし、その数をソース一覧に表示します。そこから以前にインポートされた文書は取り下げられます。隣のフォルダーや別のライブラリが読み取れることはありません。
サイト grant (代替)
Sites.Selected を使用する場合は、GET https://graph.microsoft.com/v1.0/sites/uworganisatie.sharepoint.com:/sites/uwsite?$select=id,displayName,webUrl で site ID を検索し、GET .../sites/SITE-ID/permissions で既存の grants を確認し、必要に応じて同じアドレスへの POST で grant を追加します。
{
"roles": ["read"],
"grantedToIdentities": [
{
"application": {
"id": "CLIENT-ID-VAN-UW-APP",
"displayName": "NAAM-VAN-UW-INTEGRATIE-APP"
}
}
]
}
サイト grant は、アプリに サイト全体 への読み取りアクセスを付与します。AI-School は選択したフォルダーのみをインポートしますが、このフィルターは Microsoft の認可の境界ではありません。
4. フォルダーを接続し、結果を確認する
管理 → ナレッジベース → 追加 → SharePoint フォルダー → フォルダーを接続 を開きます。ライブラリまたは OneDrive のアドレスバーから実際のフォルダー URL (招待リンクではないもの) を入力し、組織のアプリの Microsoft アクセス でフォルダー grant またはサイト grant を選択します。フォルダー grant の場合は、手順 3 の drive ID と item ID を入力します。これにより AI-School はそのフォルダーのみを読み取り、フォルダー URL が ID と一致することを確認します。一致しない場合、接続は拒否されます。OneDrive for Business のフォルダーも接続できますが、そのフォルダーは 1 人の従業員に属します。その従業員が退職するとフォルダーが消え、ナレッジソースもなくなります。継続的に使う知識には、できるだけ SharePoint サイトを使用してください。スコープ、対象者、公開ステータスは ナレッジベースガイド に従って選択してください。
更新 で、エラーなく文書が処理されたことを確認します。新たに確認するには 今すぐ同期 を使用し、その後、取り込まれた文書について具体的なチャット質問をします。回答に正しい中央ナレッジソースが記載されていることを確認してください。
grant は、アプリ が読み取れるフォルダーを決定します。インポートされた文書をどの ユーザー が受け取るかは、AI-School のナレッジベース権限 (学校、対象者、部門) が決定します。個別の SharePoint 権限は引き継がれません。そのため、限定公開のセクションやチームのコンテンツは、同じように限定されたナレッジベースの対象者でのみ接続してください。
5. grant を取り消す
DELETE で https://graph.microsoft.com/v1.0/drives/DRIVE-ID/items/MAP-ID/permissions/PERMISSION-ID に対して grant を削除します (サイト grant: .../sites/SITE-ID/permissions/PERMISSION-ID)。admin consent を取り消すと、すべての grant についてアプリが一度にブロックされます。
次回のチェック時に、AI-School はフォルダーにアクセスできなくなります。その時点でそのソースのすべての文書は提供されなくなり、チャットの回答にも使われません。ソース一覧には Microsoft がアクセスを拒否していることが表示されます。これは即時ではありません。自動チェックは 15 分ごとに 1 回あたり最大 20 ソースを対象に実行されるため、ソースが多いほど時間がかかります。すぐに反映させるには 今すぐ同期 または 切断 を使用してください。移動または削除されたフォルダーも同様です。
| 問題 | Microsoft 側の確認 |
|---|---|
| ログインは動くが中央フォルダーが動かない | アプリケーション権限は Application 型で admin consent が必要です。さらにフォルダーまたはサイトへの個別の grant を確認してください。 |
| 「Microsoft がフォルダーへのアクセスを拒否しています」 | 正しい Microsoft ディレクトリ、drive ID、フォルダー ID、client ID、read grant を確認してください。フォルダーが移動、削除、または継承した権限に戻されていませんか。 |
| grant があるのに接続が拒否される | フォルダー URL が入力した ID と一致していません。ライブラリから URL をコピーし直し、Graph のレスポンスの webUrl を確認してください。 |
| 追加の権限に関する警告 | 広範なアプリケーション権限を削除し、フォルダー grant の場合は Sites.Selected とサイト grant も削除してください。 |
| サブフォルダーがスキップされた | それらのサブフォルダーは、アプリを含まない独自の権限を持っています。権限を継承させるか、意図的に個別の read grant を付与してください。 |
Graph Explorer の管理操作で 403 | Delegated Sites.FullControl.All、付与済みの同意、管理者ロール、サイトへのアクセスを確認してください。解決策として統合アプリに広範な権限を追加しないでください。 |
| 「組織のアプリが Microsoft にサインインできませんでした」 | プラットフォーム管理に、新しい secret の Value を正しい Microsoft Identity Provider に更新してもらってください。admin consent も確認してください。 |
OnderwijsSupport の AI-Corporate 向けでは、サイト grant による中央接続が 2026 年 10 月 14 日に公開・テストされました。フォルダー grant は、該当するリリースが公開され次第利用できます。AI-School、AI-Public、または別の環境での利用可否は、プラットフォーム管理で確認する必要があります。
Microsoft ドキュメント: Selected permissions、フォルダーに grant を追加、共有 URL のエンコード、site grant を追加。