---
title: "Разрешения Microsoft Graph, необходимые для Employee Directory"
description: "Какие разрешения Microsoft Graph запрашивает решение Vitextra Employee Directory — Directory.Read.All, User.Read.All, Presence.Read.All, Calendars.Read и People.Read, — для чего используется каждое из них, каким веб-частям оно нужно, что видят пользователи, если разрешение не утверждено, и как утвердить и проверить разрешения в Центре администрирования SharePoint."
url: https://vitextra.com/ru/support/kb/10463
language: ru
published: 2026-11-04
modified: 2026-11-03
products:
  - "Employee Directory"
author: "Līga Ozola"
tags: ["разрешения Employee Directory", "разрешения Microsoft Graph", "Directory.Read.All", "User.Read.All", "Presence.Read.All", "Calendars.Read", "People.Read", "делегированные разрешения", "доступ к API Центр администрирования SharePoint", "утвердить разрешения API", "разрешения веб-части SPFx", "проверка безопасности Employee Directory", "Vitextra Employee Directory"]
---

# Разрешения Microsoft Graph, необходимые для Employee Directory

Какие разрешения Microsoft Graph запрашивает решение Vitextra Employee Directory — Directory.Read.All, User.Read.All, Presence.Read.All, Calendars.Read и People.Read, — для чего используется каждое из них, каким веб-частям оно нужно, что видят пользователи, если разрешение не утверждено, и как утвердить и проверить разрешения в Центре администрирования SharePoint.

## Введение

Решение Vitextra [Employee Directory](https://vitextra.com/ru/products/employee-directory) не ведёт собственную базу данных сотрудников. Люди, атрибуты профилей, фотографии, руководители, присутствие в Teams и сведения о занятости считываются из Microsoft 365 во время работы через ::Microsoft Graph API::. Для этого пакет решения запрашивает пять разрешений Microsoft Graph, которые администратор клиента утверждает один раз.

В этой статье перечислены эти разрешения, объяснено, для чего используется каждое из них и какой веб-части оно нужно, точно описано, что видят пользователи, если разрешение не утверждено, и показано, как утвердить разрешения и проверить их состояние. Статья предназначена для администраторов SharePoint и Microsoft 365, а также для специалистов по безопасности, которые оценивают продукт перед развёртыванием.

## Разрешения

Пакет **Vitextra Employee Directory** содержит три веб-части — **Employee Directory**, **Employee Directory (Entra ID)** и **New Employees** — и запрашивает для них один общий набор разрешений. Все пять — делегированные разрешения Microsoft Graph:

|Разрешение|Для чего используется|Где нужно|Если не утверждено|
|:---|:---|:---|:---|
|`Directory.Read.All`|Чтение участников ролей каталога Microsoft Entra для условия **Роли пользователей** в редакторе фильтров. Вместе с `User.Read.All` оно также позволяет читать учётные записи пользователей|Employee Directory (Entra ID), New Employees — только если в фильтре есть условие **Роли пользователей**|Условие работает так, как будто выбранных ролей нет ни у кого. Ошибка не отображается|
|`User.Read.All`|Чтение и поиск учётных записей пользователей и атрибутов их профилей, руководителя и прямых подчинённых человека, команды текущего пользователя, а также фотографий сотрудников|Все три веб-части; в веб-части **Employee Directory** с источником **Профили пользователей** — только панель сведений и быстрые фильтры|Список людей не загружается, и отображается ошибка (см. [ниже](#missing-permission))|
|`Presence.Read.All`|Индикатор присутствия Microsoft Teams на карточках, столбец **Состояние** и сообщение **Нет на месте** в панели сведений|Все три веб-части|Люди отображаются без присутствия; в столбце **Состояние** указано **Не в сети**|
|`Calendars.Read`|Расписание занятости человека и текущего пользователя на сегодня вместе с часовым поясом и рабочими часами человека|Employee Directory, Employee Directory (Entra ID) — панель сведений|Раздел **Местное время**, **Рабочие часы** и **Доступность** не отображается|
|`People.Read`|Список людей, с которыми текущий пользователь работает чаще всего|Employee Directory, Employee Directory (Entra ID) — быстрый фильтр **Люди, с которыми я работаю**|Вкладка **Люди, с которыми я работаю** не отображается|

📝 **Заметка**  
Разрешения `Directory.Read.All` и `User.Read.All` пересекаются: для чтения учётных записей пользователей Microsoft Graph принимает любое из них. Поэтому ошибка, описанная в строке `User.Read.All`, возникает, когда не утверждено ни одно из них, — это обычное состояние сразу после развёртывания, пока все пять запросов ещё ожидают утверждения. Утвердите оба разрешения, как того требует пакет.

Employee Directory только **читает** данные. Решение ничего не создаёт, не изменяет и не удаляет в Microsoft Entra ID, Exchange Online, Teams или SharePoint и не запрашивает ни одного разрешения со словом *Write* в названии.

## Делегированные, а не разрешения приложения

Все пять разрешений — **делегированные**: каждый вызов Microsoft Graph выполняется из браузера вошедшего пользователя с маркером, выданным этому пользователю. У веб-частей нет разрешений приложения (app-only), нет служебной учётной записи и нет собственного серверного компонента, который читал бы ваш каталог.

Для читателя страницы это означает простое правило: **в Employee Directory пользователь никогда не видит больше, чем он и так может увидеть в Microsoft 365**. Microsoft Graph применяет собственные права пользователя поверх делегированной области, поэтому веб-часть лишь представляет каталог, присутствие и сведения о занятости в более удобном виде. Кроме того, веб-части исключают гостевые учётные записи из своих списков.

📝 **Заметка**  
Разрешения предоставляются не самому пакету Employee Directory. SharePoint предоставляет их одному приложению Microsoft Entra ID, которое используется для всех решений SPFx в клиенте, — *SharePoint Online Web Client Extensibility* (ранее: *SharePoint Online Client Extensibility Web Application Principal*). Если разрешение уже утверждено для другого решения, например для Vitextra Organizational Chart, используется то же самое предоставление, и запрос больше не появляется как ожидающий. То же утверждение действует и тогда, когда веб-части работают в Microsoft Teams.

## Источник «Профили пользователей» и поиск SharePoint

Веб-часть **Employee Directory** может получать людей из двух источников, которые выбираются в её параметрах:

- **Entra ID (Azure AD)** — список, поиск и разбиение на страницы работают через Microsoft Graph и зависят от перечисленных выше разрешений.
- **Профили пользователей** — список, поиск, уточнения и сортировка берутся из **поиска SharePoint** (результаты по людям службы поиска SharePoint), а не из Microsoft Graph. Они работают с собственными правами пользователя на поиск SharePoint с обычным отсечением по правам доступа и не требуют ни одного разрешения Microsoft Graph. Раздел **Последние документы** в панели сведений также использует поиск SharePoint.

Даже с источником **Профили пользователей** некоторые части веб-части по-прежнему обращаются к Microsoft Graph: фотографии, присутствие и сообщение **Нет на месте**, разделы **Руководитель** и **Прямые подчинённые** и раздел **Местное время**, **Рабочие часы** и **Доступность** в панели сведений, а также быстрые фильтры **Моя команда** и **Люди, с которыми я работаю**. Они зависят от тех же разрешений, что и в режиме **Entra ID (Azure AD)**.

Веб-части **Employee Directory (Entra ID)** и **New Employees** всегда используют Microsoft Graph.

💡 **Совет**  
О различиях между двумя веб-частями каталога и их источниками см. статью [KB10310. Employee Directory или Employee Directory (Entra ID): какую веб-часть выбрать](https://vitextra.com/ru/support/kb/10310).

## Что видят пользователи, если разрешения нет

Веб-части устроены так, что отсутствие необязательного разрешения отключает только зависящую от него функцию. Точное поведение в текущей версии:

|Веб-часть / режим|Отсутствующее разрешение|Что видят пользователи|
|:---|:---|:---|
|Employee Directory (Entra ID)|`User.Read.All` (и `Directory.Read.All`)|Вместо списка — значок ошибки с текстом ошибки, который вернул Microsoft Graph; если текста нет — сообщение *К сожалению, произошла непредвиденная ошибка. Обновите страницу и повторите попытку.*|
|Employee Directory, источник **Entra ID (Azure AD)**|`User.Read.All` (и `Directory.Read.All`)|Та же ошибка вместо результатов поиска|
|Employee Directory, источник **Профили пользователей**|`User.Read.All` (и `Directory.Read.All`)|Список, поиск и уточнения продолжают работать. В панели сведений не отображаются разделы **Руководитель** и **Прямые подчинённые**, а фотографии берутся из SharePoint, а не из Microsoft Graph|
|New Employees|`User.Read.All` (и `Directory.Read.All`)|Значок ошибки с сообщением *К сожалению, произошла непредвиденная ошибка. Обновите страницу и повторите попытку.*, за которым следует текст ошибки, возвращённый Microsoft Graph|
|Employee Directory (Entra ID), New Employees|`Directory.Read.All`|Условию **Роли пользователей** с оператором **Содержит** не соответствует никто, а условию с оператором **Не содержит** — все. Ошибка не отображается|
|Все веб-части|`Presence.Read.All`|На карточках нет индикатора присутствия, в столбце **Состояние** у всех указано **Не в сети**, а в панели сведений нет сообщения **Нет на месте**|
|Employee Directory, Employee Directory (Entra ID)|`Calendars.Read`|Раздел **Местное время**, **Рабочие часы** и **Доступность** в панели сведений не отображается. Ошибка не отображается|
|Employee Directory, Employee Directory (Entra ID)|`People.Read`|Вкладка **Люди, с которыми я работаю** скрыта на панели быстрых фильтров. Остальные вкладки продолжают работать|

❗ **Важно**  
Веб-часть **Employee Directory (Entra ID)** хранит копию загруженного списка в браузере и показывает её при следующем посещении. Если разрешение отозвано после того, как пользователи уже открывали веб-часть, их браузеры продолжают показывать список из кэша, пока копия не станет старше 24 часов или пока пользователь не нажмёт **Обновить**; после этого появляется ошибка. Проверяя изменение разрешений, очистите данные сайта в браузере или используйте приватное окно.

📝 **Заметка**  
Для присутствия и сведений о занятости одного разрешения недостаточно: чтобы у человека было состояние присутствия, он должен пользоваться Microsoft Teams, а чтобы было расписание занятости — иметь почтовый ящик Exchange Online. Подробнее о разделе доступности см. статью [KB10317. Employee Directory: местное время, рабочие часы и доступность](https://vitextra.com/ru/support/kb/10317), о быстрых фильтрах — статью [KB10214. Быстрые фильтры Employee Directory: мой отдел, моя команда, люди, с которыми я работаю, избранное](https://vitextra.com/ru/support/kb/10214).

## Утверждение разрешений

Запросы разрешений создаются автоматически, когда пакет Employee Directory развёртывается в каталоге приложений клиента. Их утверждает **Администратор SharePoint** или **Глобальный администратор**:

1. Откройте **Центр администрирования SharePoint**.
2. В области навигации слева разверните раздел **Дополнительно** и выберите **Доступ к API**.
3. На вкладке **Ожидающие запросы** найдите запросы пакета **Vitextra Employee Directory** к **Microsoft Graph** — `Directory.Read.All`, `User.Read.All`, `Presence.Read.All`, `Calendars.Read` и `People.Read`.
4. Выберите каждый запрос, нажмите **Утвердить** и подтвердите.

Пользователи не видят запроса на согласие: после утверждения веб-части работают у всех в клиенте. Если через несколько минут после утверждения веб-часть всё ещё показывает ошибку, обновите страницу.

💡 **Совет**  
Полная процедура, включая утверждение с помощью PowerShell, частичное утверждение и отзыв разрешений, описана в статье [KB10360. Как одобрить разрешения Microsoft Graph API для решений Vitextra в Центре администрирования SharePoint](https://vitextra.com/ru/support/kb/10360).

## Проверка состояния разрешений

Чтобы проверить, какие разрешения действуют, откройте **Дополнительно** › **Доступ к API** в Центре администрирования SharePoint:

- На вкладке **Утвержденные запросы** должны быть перечислены все пять разрешений Microsoft Graph. Поскольку предоставления действуют на весь клиент, разрешение может быть указано там под другим пакетом, который запросил его первым, — этого достаточно.
- Любое разрешение, которое всё ещё указано на вкладке **Ожидающие запросы**, пока не действует; функции, которые от него зависят, ведут себя так, как описано в разделе [Что видят пользователи, если разрешения нет](#missing-permission).

При обновлении Employee Directory ранее утверждённые разрешения остаются утверждёнными. Если новая версия запрашивает дополнительное разрешение, оно появляется на вкладке **Ожидающие запросы**, и его нужно утвердить тем же способом.

## Заметки для проверки безопасности

Для проверки безопасности обычно важны следующие моменты:

- Все пять разрешений делегированные и предназначены только для чтения. Employee Directory никогда ничего не записывает в Microsoft 365.
- Данные каталога, фотографии, присутствие и сведения календаря запрашиваются браузером пользователя напрямую из Microsoft Graph и SharePoint и не передаются ни Vitextra, ни третьим лицам.
- Источник **Профили пользователей** читает людей через поиск SharePoint с правами самого пользователя, и для самого списка ему не нужно ни одного разрешения Microsoft Graph.
- Избранное, кэшированный список сотрудников и конфигурация по умолчанию для личного приложения Teams хранятся вне Microsoft Graph; где именно и какие данные читают веб-части, описано в статье [KB10469. Employee Directory: какие данные читает веб-часть и где хранятся избранное и параметры](https://vitextra.com/ru/support/kb/10469).
- Единственные запросы к службам Vitextra — проверка лицензии и телеметрия использования с техническими идентификаторами; см. статью [KB10363. Где продукты Vitextra хранят ваши данные: конфиденциальность, расположение данных и GDPR](https://vitextra.com/ru/support/kb/10363).

💡 **Совет**  
Об установке решения см. статью [KB10035. Как установить продукт Vitextra в SharePoint Online](https://vitextra.com/ru/support/kb/10035). О добавлении веб-части на страницу см. статью [KB10309. Как добавить и настроить веб-часть Employee Directory](https://vitextra.com/ru/support/kb/10309).
