> ## Documentation Index
> Fetch the complete documentation index at: https://docs.yahont.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# SharePoint

> Индексирование файлов и страниц с сайтов SharePoint в вашем тенанте Microsoft 365

Коннектор SharePoint индексирует сайты вашего тенанта Microsoft 365 через Microsoft Graph и может воспроизводить,
кто вправе читать каждый элемент, с помощью **Auto Sync Permissions**.
Для обнаружения пользователей и индексации их личных дисков используйте [коннектор
OneDrive](/admins/connectors/official/microsoft-365/onedrive).

Коннектор входит как приложение,
настроенное в разделе [Настройка Microsoft 365](/admins/connectors/official/microsoft-365/setup).
На этой странице перечислено, что нужно SharePoint сверх этих общих шагов.

## Что индексируется

Yahont можно настроить на индексацию всего тенанта или конкретного списка сайтов. С каждого сайта Yahont индексирует:

* **Файлы** в библиотеках документов, включая любые изображения в них.
* **Страницы**, опубликованные на сайте (`.aspx`).

Yahont раскладывает каждый документ по сайту, библиотеке и папке, откуда он получен,
поэтому можно просматривать и фильтровать на любом уровне.
После первого запуска каждое обновление получает только изменения.

### Что не индексируется

* Списки SharePoint, их элементы и вложения
* Личные сайты OneDrive, если вы явно не перечислили URL `/personal/` в **Sites**.
  Для новых настроек используйте специальный [коннектор OneDrive](/admins/connectors/official/microsoft-365/onedrive).
* Файлы с неподдерживаемым расширением и файлы больше [ограничения размера](#limits)

> **Поддерживаемые типы файлов**
>
> Yahont индексирует файлы со следующими расширениями:
>
> | Вид | Расширения |
> | - | - |
> | Документы | `.pdf`, `.docx`, `.pptx`, `.eml`, `.epub`, `.html` |
> | Таблицы | `.xlsx`, `.xlsm`, `.csv`, `.tsv` |
> | Текст | `.txt`, `.md`, `.mdx`, `.conf`, `.log`, `.json`, `.xml`, `.yml`, `.yaml`, `.sql` |
> | Изображения | `.png`, `.jpg`, `.jpeg`, `.webp` |
>
> Устаревшие форматы Office `.doc`, `.xls` и `.ppt` **не** поддерживаются. Преобразуйте старые файлы в SharePoint,
> если их нужно проиндексировать.
>
> Yahont также пропускает форматы изображений `.bmp`, `.tiff`, `.gif`, `.svg` и `.avif`.

## Перед началом

Вам нужен тенант Microsoft 365 с SharePoint Online и роли,
перечисленные в разделе [Настройка Microsoft 365](/admins/connectors/official/microsoft-365/setup#before-you-begin).

Выполните [настройку Microsoft 365](/admins/connectors/official/microsoft-365/setup)
со строками SharePoint из её [таблицы разрешений](/admins/connectors/official/microsoft-365/setup#permissions).
Для индексации нужен только **Sites.Read.All**, и для неё достаточно секрета клиента.
Остальное — для синхронизации прав,
которой нужны [учётные данные с
сертификатом](/admins/connectors/official/microsoft-365/setup#choose-an-authentication-method).

## Настройка коннектора в Yahont

**1. Откройте коннектор SharePoint**

В Yahont откройте **Панель администратора → Добавить коннектор** и выберите **SharePoint**.

**2. Выберите или создайте учётные данные**

Выберите существующие учётные данные из списка или нажмите **Create New** и введите данные из регистрации приложения
Entra,
как описано в разделе [Настройка Microsoft
365](/admins/connectors/official/microsoft-365/setup#enter-the-credential-in-onyx). Нажмите **Create**, убедитесь,
что новые учётные данные выбраны, и продолжайте.

**3. Назовите коннектор и выберите сайты**

Задайте коннектору понятное **Connector Name**.

В **Sites** добавьте по одной записи на каждый индексируемый сайт,
например `https://contoso.sharepoint.com/sites/support`. Оставьте список пустым,
чтобы индексировать каждый сайт тенанта.

**4. Настройте расширенные параметры**

Выберите **Advanced Options**, чтобы перейти к настройкам содержимого, исключений и национального облака,
описанным в разделе [Настройки коннектора](#connector-settings). По умолчанию Yahont индексирует и файлы,
и страницы сайтов из каждого указанного вами сайта.

**5. Выберите тип доступа**

**Public** показывает каждый проиндексированный документ всем пользователям Yahont.
**Private** ограничивает их выбранными группами пользователей Yahont.

**Auto Sync Permissions** воспроизводит собственные права SharePoint и требует учётных данных с сертификатом. См.
[Синхронизация прав](#permission-sync).

О значении каждого типа доступа см.
в разделе [Управление доступом к документам](/admins/connectors/overview#document-access-controls).

**6. Задайте дату начала индексации**

В **Advanced Configuration** задайте **Indexing Start Date**, если вам не нужны все файлы независимо от возраста.
Без неё первая попытка индексации читает каждый файл и страницу в каждом указанном сайте,
и тенанту с миллионами файлов требуются дни, чтобы стать доступным для поиска.
С датой начала Yahont индексирует файлы и страницы, созданные или последний раз изменённые в эту дату или позже,
и пропускает остальные. См. [Расширенная конфигурация](/admins/connectors/overview#advanced-configuration).

**7. Создайте и проверьте**

Нажмите **Create Connector**. Yahont проверяет учётные данные и URL ваших сайтов при сохранении,
поэтому большинство проблем с правами появляется здесь, а не во время индексации.

Затем откройте **Панель администратора → Существующие коннекторы**, выберите коннектор и убедитесь,
что первая попытка индексации завершилась примерно с ожидаемым числом документов.

## Настройки коннектора

| Настройка | По умолчанию | Назначение |
| - | - | - |
| Sites | пусто | Сайты для индексации. Пусто означает каждый сайт тенанта. См. [Ограничение сайтами, библиотеками и папками](#scoping-to-sites-libraries-and-folders). |
| Index Documents | вкл. | Индексировать файлы в библиотеках документов каждого сайта. |
| Index ASPX Sites | вкл. | Индексировать страницы `.aspx` каждого сайта, даже если запись сайта называет одну библиотеку или папку. |
| Treat sharing links as public | выкл. | Когда включено, Yahont считает документ, доступный по анонимной или общеорганизационной ссылке для общего доступа, публичным. Когда выключено, видеть его могут только пользователи и группы с явным доступом. Применяется только к синхронизации прав. |
| Excluded Sites | пусто | URL сайтов или шаблоны glob, которые нужно пропускать, даже если **Sites** их называет. Например, `*://*/sites/archive-*`. |
| Excluded Paths | пусто | Шаблоны glob для пропускаемых файлов. Yahont сопоставляет их с путём внутри библиотеки и только с именем файла. Например, `*.tmp`, `~$*`, `Archive/*`. |
| Authority Host | `https://login.microsoftonline.com` | Хост идентификации Microsoft. Меняйте только для [национального облака](/admins/connectors/official/microsoft-365/setup#national-clouds). |
| Graph API Host | `https://graph.microsoft.com` | Хост Microsoft Graph. Меняйте только для [национального облака](/admins/connectors/official/microsoft-365/setup#national-clouds). |
| SharePoint Domain Suffix | `sharepoint.com` | Домен, на котором находятся ваши сайты SharePoint. Меняйте только для [национального облака](/admins/connectors/official/microsoft-365/setup#national-clouds). |

### Ограничение сайтами, библиотеками и папками

Запись в **Sites** может называть сайт, библиотеку на нём или папку в этой библиотеке.
Yahont читает путь после имени сайта как библиотеку, а всё после — как папку:

| Запись | Индексируется |
| - | - |
| `https://contoso.sharepoint.com/sites/support` | Каждая библиотека и каждая страница сайта |
| `https://contoso.sharepoint.com/sites/support/Shared Documents` | Только эта библиотека и страницы сайта |
| `https://contoso.sharepoint.com/sites/support/Shared Documents/FAQ` | Только эта папка и страницы сайта |

Командные сайты (`/teams/…`) и личные сайты OneDrive (`/personal/…`) работают так же.

> [!WARNING]
>
> Указание **библиотеки** в URL работает только в тенантах на английском, немецком и испанском языках,
> потому что Yahont должен сопоставить отображаемое имя библиотеки (`Shared Documents`, `Freigegebene Dokumente`,
> `Documentos compartidos`) с именем, которое сообщает SharePoint.
> В тенанте на любом другом языке вместо этого введите чистый URL **сайта**.
> Запись уровня сайта находит каждую библиотеку независимо от её названия. Обратитесь к команде Yahont,
> если нужно добавить другой язык.

### Ограничение приложения отдельными сайтами

С **Sites.Selected** вместо **Sites.Read.All** приложение читает только те сайты, которые вы ему предоставили,
и **Sites** не может быть пустым. Предоставьте `read` для индексации и `fullcontrol` для синхронизации прав. См.
[Ограничение приложения отдельными
сайтами](/admins/connectors/official/microsoft-365/setup#limiting-the-app-to-specific-sites).

## OneDrive

> [!NOTE]
>
> Для новых настроек используйте специальный [коннектор OneDrive](/admins/connectors/official/microsoft-365/onedrive).
> Он обнаруживает пользователей, отслеживает изменения каждого диска и поддерживает синхронизацию прав OneDrive.

Существующие коннекторы SharePoint, в которых перечислены URL личных сайтов, продолжают работать.
Переносить их не обязательно,
если вам не нужны обнаружение пользователей и обновления на уровне дисков специального коннектора.

## Синхронизация прав

При включённой синхронизации прав каждый документ сохраняет свой доступ SharePoint.
Пользователь Yahont находит документ в поиске, только если может открыть его в SharePoint.

> [!NOTE]
>
> Синхронизация прав — платная функция:
> тарифы Business и Enterprise в Yahont Cloud и Enterprise Edition при самостоятельном размещении.
> Она также требует [учётных данных с сертификатом](/admins/connectors/official/microsoft-365/setup#certificate).

Yahont запускает две синхронизации по собственным расписаниям, отдельно от индексации:

| Синхронизация | Как часто | Что делает |
| - | - | - |
| Документы | 30 минут | Заново читает, у кого есть доступ к каждому сайту, библиотеке, папке и документу, и приводит Yahont в соответствие. |
| Группы | 5 минут | Заново читает группы сайтов SharePoint и группы Entra ID, раскрывая вложенные группы до отдельных участников. |

Синхронизация групп запускается сразу после создания коннектора,
а синхронизация документов — после завершения первой индексации, поэтому права готовы до того,
как что-либо станет доступным для поиска. Доступ пользователя складывается из его собственного аккаунта и групп,
в которые он входит, как групп сайтов SharePoint, так и групп безопасности Entra ID, включая вложенные.
Задайте `SHAREPOINT_PERMISSION_DOC_SYNC_FREQUENCY` и `SHAREPOINT_PERMISSION_GROUP_SYNC_FREQUENCY` (секунды),
чтобы изменить интервалы при самостоятельном размещении.

Для чего нужно каждое разрешение Graph: **GroupMember.Read.All** определяет, кто входит в группу,
включая вложенные группы. **Group.Read.All** отличает группы безопасности от групп Microsoft 365.
**Directory.Read.All** читает связи пользователей и групп между собой.
**User.Read.All** сопоставляет людей в вашем каталоге с их аккаунтами в Yahont.
**Member.Read.Hidden** читает состав групп, участники которых скрыты в Entra ID.

Yahont считает элементы, доступные по ссылке, приватными, если вы не включите **Treat sharing links as public**.
Он игнорирует пользователей и группы, у которых есть только роль SharePoint *Limited Access*,
потому что эта роль позволяет пройти через папку, но не открыть её содержимое.

## Ограничения

| Ограничение | Значение | Примечания |
| - | - | - |
| Размер файла | 20 МБ | Yahont пропускает более крупные файлы, а не индексирует их часть. При самостоятельном размещении это ограничение можно повысить с помощью `SHAREPOINT_CONNECTOR_SIZE_THRESHOLD` (байты). |
| Содержимое страницы сайта | Текст и стандартные веб-части | Yahont не читает текст из веб-частей других типов, таких как встраиваемые элементы, списки и сторонние части. |
| Пустые файлы | Пропускаются | Yahont пропускает файл, если не может прочитать из него никакой текст, за исключением PDF и изображений. |

## Устранение неполадок

Проблемы с учётными данными, согласием и сертификатом, которые может показывать каждый коннектор Microsoft 365, см.
в разделе [Настройка Microsoft 365](/admins/connectors/official/microsoft-365/setup#troubleshooting).

> **missing the required SharePoint permission to read role assignments**
>
> У приложения нет `Sites.FullControl.All`,
> согласие администратора не дано или сайту в `Sites.Selected` не предоставлен полный контроль.
> Добавьте разрешение в разделе **SharePoint**, а не Microsoft Graph.

> **missing the required Microsoft Graph permission to enumerate Azure AD group members**
>
> Добавьте **Microsoft Graph → GroupMember.Read.All** как разрешение приложения,
> затем снова дайте согласие администратора.

> **Site URLs must be full Sharepoint/OneDrive URLs**
>
> Запись в **Sites** не является полным URL `https://`, содержащим `/sites/`, `/teams/` или `/personal/`.

> **is not on this tenant's SharePoint host**
>
> Запись в **Sites** указывает на другой тенант, чем тот, которому принадлежат учётные данные.
> Один коннектор охватывает один тенант. URL OneDrive на хосте `-my` тенанта принимается.

> **At least one content type must be enabled**
>
> **Index Documents** и **Index ASPX Sites** оба выключены. Включите хотя бы один.

> **Unsupported Microsoft Graph API host или Authority host is inconsistent**
>
> **Authority Host** и **Graph API Host** описывают разные облака.
> Сопоставьте их и суффикс домена с одной строкой раздела [Национальные
> облака](/admins/connectors/official/microsoft-365/setup#national-clouds).

> **Ничего не индексируется, а Sites пуст**
>
> Для обнаружения сайтов по всему тенанту нужен `Sites.Read.All`. В режиме `Sites.Selected` перечислите сайты явно.

> **Ничего не индексируется, а Sites заполнен**
>
> В режиме `Sites.Selected` проверьте, что каждый сайт предоставлен приложению. Одно согласие ничего не предоставляет.
> См.
> [Ограничение приложения отдельными
> сайтами](/admins/connectors/official/microsoft-365/setup#limiting-the-app-to-specific-sites).

> **На здоровом запуске отсутствуют некоторые сайты**
>
> Yahont пропускает сайты, которые не может прочитать, а также заблокированные и архивные сайты,
> чтобы остальной тенант индексировался. Проверьте список ошибок коннектора на предмет затронутых URL.

> **OneDrive не индексируется**
>
> Личные сайты индексируются, только если перечислены в **Sites**. Добавьте URL личного сайта.
> В режиме `Sites.Selected` предоставьте приложению роль и на этом личном сайте.

> **Указанная библиотека не найдена**
>
> Имена библиотек распознаются только в тенантах на английском, немецком и испанском языках.
> Используйте вместо этого чистый URL сайта. См. [Ограничение сайтами,
> библиотеками и папками](#scoping-to-sites-libraries-and-folders).

> **Страница сайта индексируется только с заголовком**
>
> Макет страницы повреждён, поэтому SharePoint не возвращает её содержимое. Yahont сохраняет страницу,
> а не отбрасывает её. Открытие страницы в SharePoint и повторное сохранение обычно исправляет это.

> **Большие файлы отсутствуют**
>
> Yahont пропускает файлы больше 20 МБ. См. [Ограничения](#limits).

> **Синхронизация прав не предлагается в форме коннектора**
>
> Учётные данные используют секрет клиента или развёртывание не на платном тарифе.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.