Налаштувати Microsoft 365 для вашого середовища
Є два способи підключити Microsoft 365 до вашого середовища AI-School. Спочатку виберіть, який шлях підходить вашій організації.
| Шлях | Коли | Що ви робите |
|---|---|---|
| Центральна програма AI-School (стандартно) | Особисті підключення до Outlook Mail, Outlook Calendar, Teams та SharePoint/OneDrive. | Адміністратор Entra надає дозвіл організації через Підключити Microsoft 365. Після цього ви вмикаєте інтеграції, як описано в кроці 5 цієї статті. Власна програма, client secret або 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 365 із Microsoft Entra ID та обліковими записами з доступом до потрібних сервісів.
- Адміністратор, який може зареєструвати програму та надати дозвіл організації для вибраних прав Microsoft Graph. Лише роль в Azure subscription для цього недостатня; ваша роль Entra має дозволяти таку згоду.
- Права адміністратора у правильному середовищі AI, щоб зробити інтеграції доступними.
- Адміністратор платформи, який може налаштувати Microsoft Identity Provider для цього середовища AI в Google Cloud Identity Platform.
- App registration у вашому власному каталозі Microsoft із client secret і двома URL перенаправлення для правильного бренду.
Вхід через Microsoft і доступ до даних Microsoft — це дві окремі функції. Лише робочий Microsoft-login ще не означає, що Outlook, Teams або SharePoint налаштовано.
1. Зареєструйте одну організаційну програму
Відкрийте центр адміністрування Microsoft Entra і перейдіть до App registrations → New registration. Використайте впізнавану назву, наприклад AI-School – назва вашої організації. Для власної організації виберіть Accounts in this organizational directory only (Single tenant).
Збережіть такі дані з Overview:
| Дані | Для чого? |
|---|---|
| Directory (tenant) ID | Каталог Microsoft вашої організації; це потрапляє в поле Microsoft ID середовища AI. |
| Application (client) ID | Зареєстрована програма; це потрапляє в Microsoft Identity Provider. |
Ці два ID різні. У полі Microsoft ID не вказуйте client ID або Firebase tenant ID.
2. Налаштуйте правильні URL перенаправлення
Перейдіть до Authentication → Add a platform → Web. Для вашого бренду додайте обидва наведені нижче URL, точно як показано. Перший обробляє вхід; другий обробляє згоду для інтеграцій робочих облікових записів.
| Бренд | Вхід через 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. Website URL, dashboard URL і .web.app URL не замінюють ці callback-адреси. Реєструйте їх як Web, навіть якщо використовуєте інтеграцію з браузера. Для цього не потрібно вмикати implicit token issuance або public-client flow.
3. Створіть client secret і призначте права
Перейдіть до Certificates & secrets → Client secrets → New client secret. Виберіть відповідний термін дії та безпечно збережіть Value, щойно вона стане видимою. Передайте значення через узгоджений захищений канал для керування платформою; Secret ID — це не client secret. Слідкуйте за датою завершення дії та замініть secret до цієї дати, зокрема і в 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 Calendar | 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 записує текстові повідомлення в обраний канал, а не приватні повідомлення чату. Для цієї інтеграції використовуйте Delegated permissions, а не Application permissions. Навіть для прав із All у назві делегований доступ усе одно обмежується правами користувача.
Натисніть Grant admin consent for your organization і перевірте, що вибрані права відображаються як granted. Так співробітники зможуть використовувати схвалений доступ без необхідності самостійно надавати організаційні права. Microsoft усе одно може попросити повторний вхід, MFA або повторну згоду залежно від вашої політики.
4. Під’єднайте програму у двох місцях до середовища AI
Нехай адміністратор платформи вибере правильне середовище та виконає ці налаштування:
- У Admin → Omgeving → Tenant: увімкніть метод входу Microsoft і в полі Microsoft ID вкажіть Directory (tenant) ID.
- У Google Cloud → Identity Platform → відповідний tenant → Identity providers → Microsoft: увімкніть провайдера і введіть Application (client) ID та client secret Value тієї самої Entra-програми.
Identity Provider належить до Firebase/Identity Platform tenant вашого середовища AI, а не до іншої організації чи загального Admin-середовища. Інтеграція робочого облікового запису повторно використовує програму з цього provider. Client secret не має бути в налаштуваннях користувача, чат-повідомленнях або звичайних полях середовища.
Передайте адміністратору платформи назву організації, бренд, Directory ID, client ID, secret value через захищений канал, дату завершення дії та потрібні інтеграції/права. Лише app ID недостатньо.
5. Надайте доступ до інтеграцій і дій запису
Відкрийте beheeromgeving van uw organisatie → Tools → MCP. У Suite-snelkoppelingen увімкніть інтеграцію Microsoft 365. Рядки Microsoft стануть видимими; коли вся suite вимкнена, ці рядки залишаються прихованими.
Для кожної інтеграції окремо виберіть, чи вона доступна. У колонці Schrijfacties окремо виберіть:
- Outlook Mail → Concepten: створювати й змінювати чернетки.
- Outlook Mail → Verzenden: фактично надсилати наявну чернетку.
- Outlook Agenda → Schrijven: створювати й змінювати зустрічі.
- Microsoft Teams → Posten: розміщувати текстові повідомлення в обраному каналі Teams.
Натисніть Opslaan. Дія запису працює лише якщо одночасно увімкнено і інтеграцію, і відповідне право керування, Microsoft надала потрібні права, а користувач особисто увімкнув підключення. Користувач не отримує для цього додаткову форму прав запису.
Налаштування також мають підтримуватися backend вашого бренду. Це розширення запису було цільово опубліковане та протестоване 7 жовтня 2026 року для OnderwijsSupport на AI-Corporate. Це не означає автоматично, що таке саме розширення вже доступне для AI-School, AI-Public або будь-якого іншого середовища. Якщо дії запису відсутні, попросіть підтвердження у platformbeheer.
6. Перевірте налаштування
Нехай користувач увійде у правильне середовище AI та увімкне потрібну інтеграцію згідно з Використовувати інтеграції Microsoft. Переконайтеся, що Microsoft показує назву вашої власної Entra-програми.
Спочатку протестуйте впізнавану чернетку та зустріч без учасників. Перевірте збережені елементи в Outlook. Потім протестуйте надсилання з узгодженим тестовим отримувачем і публікацію в Teams в узгодженому тестовому каналі. Зустріч з учасниками може надсилати запрошення або оновлення. Прийнята команда на надсилання ще не є підтвердженою доставкою.
Під час розширення прав підключення намагається оновити токени. Якщо Microsoft знову вимагає вхід або згоду, користувач має повторно підключити наявне підключення. Не потрібно створювати другу програму або окреме налаштування користувача.
Вирішення проблем
| Проблема | Перевірка |
|---|---|
AADSTS50011 / redirect mismatch | Обидва callback точно зареєстровані як Web, для правильного бренду. |
| Під час згоди відображається інша назва програми | Правильне середовище AI, Directory ID і tenant-specific Microsoft Identity Provider; після цього перепідключити. |
| Вхід працює, але інтеграція ні | Також перевірте connector callback, Graph-права та дозвіл організації. |
| Читання працює, запис ні | Перевірте право керування, відповідне делеговане Graph-права, надану згоду та доступність backend. |
| Client secret недійсний або прострочений | Оновіть Value, а не Secret ID; новий secret також потрібно оновити в Identity Provider. |
| Інтеграція відсутня у користувача | Перевірте доступність у Tools, права користувача для підключень і вибране середовище AI. |
Додаткова інформація
- Керувати Tools
- Використовувати інтеграції Microsoft
- Microsoft: зареєструвати програму
- Microsoft: URL перенаправлення
- Microsoft Graph: огляд прав
Центральна база знань SharePoint: налаштування Microsoft
Центрально під’єднана папка працює через організаційну програму, без того щоб кожен співробітник вмикав особисте підключення SharePoint. Для цього потрібні два окремі дозволи: право програми з admin consent і read-grant саме на ту папку (або сайт), яку програмі дозволено читати. Робочий Microsoft-login або лише admin consent ще не надають доступу.
Є два способи. Для кожної під’єднаної папки виберіть один спосіб; середовище AI ніколи автоматично не переходить на інший.
| Grant на папку (рекомендовано) | Grant на сайт | |
|---|---|---|
| Право програми | Files.SelectedOperations.Selected | Sites.Selected |
| Grant на | Вибрану папку в бібліотеці документів | Увесь сайт |
| Що може читати програма | Цю папку та вкладені папки, що успадковують grant | Усі бібліотеки й папки сайту |
| Наявна структура SharePoint | Залишається; окремий сайт не потрібен | Бажано окремий сайт для спільних знань |
| Наслідок у SharePoint | Успадкування прав папки переривається (див. нижче) | Не впливає на успадкування |
1. Перевірте організаційну програму
Використовуйте ту саму single-tenant app registration, що й для входу через Microsoft у вашому середовищі AI. Існуючу програму можна розширити; друга інтеграційна програма не потрібна. Перевірте в Microsoft Entra → App registrations → ваша програма → Overview Directory (tenant) ID та Application (client) ID. Нижче використовуйте client ID, а не Object ID.
Directory ID має бути в Admin → Середовище → Tenant → Microsoft ID. Client ID і Value дійсного client secret мають бути в Microsoft Identity Provider саме цього середовища AI. Цю конфігурацію підтримує адміністрування платформи. Прострочений secret також блокує центральний імпорт; стежте за датою завершення дії та вчасно замінюйте secret.
Центральне серверне з’єднання використовує client_credentials і не потребує додаткового redirect-URL. Наявні Web-redirects для входу та особистих інтеграцій робочого облікового запису все одно потрібні; використовуйте брендовані 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 your organization.
- Переконайтеся, що право, тип Application, відображається як granted.
Програмі бази знань потрібні лише права на читання. Не надавайте їй права програми 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-підключень можуть залишатися в тій самій програмі. Вони не замінюють право програми для центральної бази знань.
3. Надайте програмі доступ на читання до папки або сайту
Цю адміністративну дію можна виконати через Microsoft Graph Explorer. Використовуйте обліковий запис адміністратора в тому самому каталозі Microsoft, з роллю SharePoint Administrator або вищою відповідною адміністративною роллю та доступом до потрібного сайту. Роль Azure subscription або лише право власника програми для цього недостатні.
- Увійдіть в Graph Explorer під обліковим записом адміністратора та перевірте відображену організацію.
- Відкрийте profile menu → Consent to permissions, знайдіть Sites.FullControl.All і виберіть Consent. Це delegated адміністративне право, за допомогою якого Graph Explorer керує grants; не додавайте його як право програми до програми бази знань. Використовуйте згоду, прив’язану до облікового запису, коли загальна згода для всіх користувачів не потрібна.
- Знайдіть drive ID та item ID папки. У формі підключення в AI-School готовий запит GET з’являється, щойно введено URL папки. Ви також можете скласти його самостійно: закодуйте 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, не потрібно створювати другий 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 програми. Наявні права користувачів на папку в цей момент копіюються, але подальші зміни прав батьківського сайту чи бібліотеки більше не застосовуються до цієї папки автоматично. Тому після надання grant перевірте права користувачів на папку і надалі керуйте ними на самій папці. Враховуйте ліміт Microsoft на унікальні права для бібліотеки. Не повертайте папку до успадкованих прав: тоді зникне й grant програми.
Вкладені папки та файли з власними правами. Вкладені папки та файли, що успадковують права вибраної папки, охоплюються grant. Якщо вкладена папка або файл має власні (перервані) права без програми, програма не може їх прочитати. AI-School повністю пропускає таку вкладену папку і показує їхню кількість у списку джерел; раніше імпортовані з неї документи відкликаються. Сусідня папка чи інша бібліотека ніколи не доступні для читання.
Grant на сайт (альтернатива)
Якщо ви використовуєте Sites.Selected, знайдіть site ID через GET https://graph.microsoft.com/v1.0/sites/uworganisatie.sharepoint.com:/sites/uwsite?$select=id,displayName,webUrl, перевірте наявні grants через GET .../sites/SITE-ID/permissions і за потреби додайте grant через POST за тією самою адресою:
{
"roles": ["read"],
"grantedToIdentities": [
{
"application": {
"id": "CLIENT-ID-VAN-UW-APP",
"displayName": "NAAM-VAN-UW-INTEGRATIE-APP"
}
}
]
}
Grant на сайт надає програмі доступ на читання до всього сайту. AI-School імпортує лише вибрану папку, але цей фільтр не є межею авторизації Microsoft.
4. Під’єднайте папку і перевірте результат
Відкрийте Адміністрування → База знань → Додати → SharePoint-папки → Підключити папку. Введіть справжню URL папки з адресного рядка бібліотеки або OneDrive (не посилання-запрошення) і в полі Доступ застосунку організації до Microsoft виберіть grant на папку або grant на сайт. Для grant на папку введіть drive ID та item ID з кроку 3. Тоді AI-School читає лише цю папку і перевіряє, що URL папки відповідає ID; у разі розбіжності підключення відхиляється. Можна під’єднати й папку в OneDrive for Business, але вона належить одному працівникові: якщо цей працівник іде, папка зникає, а разом із нею і джерело знань. Для сталих знань краще використовуйте сайт SharePoint. Виберіть область, аудиторію та статус публікації відповідно до інструкції бази знань.
Перевірте через Оновити, чи документи оброблені без помилок. Використайте Синхронізувати зараз для нової перевірки, а потім поставте конкретне запитання в чаті про імпортований документ. Переконайтеся, що відповідь містить правильне центральне джерело знань.
Grant визначає, яку папку може читати програма. Які користувачі отримують імпортовані документи, визначають права бази знань в AI-School (школа, аудиторія, відділи). Індивідуальні права SharePoint не переносяться. Тому підключайте закритий вміст секції чи команди лише з так само закритою аудиторією бази знань.
5. Відкликання grant
Видаліть grant через DELETE за адресою https://graph.microsoft.com/v1.0/drives/DRIVE-ID/items/MAP-ID/permissions/PERMISSION-ID (grant на сайт: .../sites/SITE-ID/permissions/PERMISSION-ID). Відкликання admin consent блокує програму одразу для всіх grants.
Під час наступної перевірки AI-School більше не має доступу до папки. Жоден документ із цього джерела тоді більше не надається, зокрема й у відповідях чату, а список джерел показує, що Microsoft забороняє доступ. Це відбувається не одразу: автоматична перевірка запускається кожні 15 хвилин для щонайбільше 20 джерел за раунд, тож за більшої кількості джерел це триває довше. Для негайного ефекту використайте Синхронізувати зараз або Відключити. Те саме стосується переміщеної або видаленої папки.
| Проблема | Перевірка на стороні Microsoft |
|---|---|
| Вхід працює, але центральна папка ні | Право програми має бути типу Application і мати admin consent; також перевірте окремий grant на папку або сайт. |
| "Microsoft забороняє доступ до папки" | Правильний каталог Microsoft, drive ID, ID папки, client ID і read-grant; чи не було папку переміщено, видалено або повернуто до успадкованих прав? |
| Підключення відхилено, хоча grant існує | URL папки не відповідає введеним ID. Скопіюйте URL ще раз із бібліотеки та перевірте webUrl у відповіді Graph. |
| Попередження про додаткові права | Видаліть широкі права програми, а для grant на папку — також Sites.Selected разом із grant на сайт. |
| Вкладені папки пропущено | Ці вкладені папки мають власні права без програми. Дозвольте їм успадковувати права або свідомо надайте окремий read-grant. |
403 під час адміністративної дії в Graph Explorer | Delegated Sites.FullControl.All, надана згода, адміністративна роль і доступ до сайту. Не додавайте широке право до інтеграційної програми як рішення. |
| "Застосунку організації не вдалося увійти в Microsoft" | Нехай адміністрування платформи оновить нове secret Value у правильному Microsoft Identity Provider; перевірте admin consent. |
Для OnderwijsSupport на AI-Corporate центральне підключення з grant на сайт було опубліковане та протестоване 14 жовтня 2026 року. Grant на папку стане доступним, щойно буде опубліковано відповідний реліз. Доступність на AI-School, AI-Public або в іншому середовищі має підтвердити адміністрування платформи.
Документація Microsoft: Selected permissions, додати grant на папку, закодувати share-URL та додати grant на сайт.