Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Чтобы использовать SharePoint Embedded, приложение должно использовать Microsoft Graph. Дополнительные сведения о проверке подлинности и авторизации Microsoft Graph. Узнайте больше об архитектуре SharePoint Embedded.
Обзор
Ниже приведены некоторые основные принципы проверки подлинности и авторизации SharePoint Embedded.
- Приложения взаимодействуют с SharePoint Embedded через Microsoft Graph.
- Приложениям типа контейнера требуются разрешения приложения типа контейнера для доступа к контейнерам этого типа.
- Приложения могут получать доступ только к контейнерам, членом которым является пользователь, при использовании доступа от имени пользователя.
- Приложения могут получать доступ ко всем контейнерам, включенным разрешениями приложения типа контейнера при использовании доступа без пользователя.
- Приложения используют доступ от имени пользователей, когда это возможно для повышения безопасности и подотчетности.
Необходимые условия
- Регистрация приложения Microsoft Entra ID. См. раздел Регистрация приложения.
- У вашего клиента Microsoft Entra ID есть подписка На Microsoft 365
Авторизация
Операции SharePoint Embedded предоставляются через Microsoft Graph. SharePoint Embedded поддерживает доступ от имени пользователя , а также доступ без пользователя.
Важно!
Разрешения Microsoft Graph, предоставленные приложению, позволяют ему вызывать конечные точки SharePoint Embedded. Однако приложению необходимо предоставить разрешение на использование типа контейнера , прежде чем оно получит доступ к контейнерам этого типа.
Разрешения приложений
Для работы с SharePoint Embedded приложениям SharePoint Embedded необходимо запросить следующие разрешения Microsoft Graph в манифесте приложения:
- FileStorageContainerType.Manage.All , чтобы разрешить приложению создавать типы контейнеров и управлять ими в арендаторе-владельце. Это разрешение требуется только для арендатора,в котором создается тип контейнера.
- FileStorageContainerTypeReg.Selected , чтобы разрешить приложению регистрировать тип контейнера для потребляющих клиентов.
- FileStorageContainer.Selected , чтобы разрешить приложению доступ к контейнерам заданного типа при использовании клиентов.
Доступ от имени пользователя
Для операций SharePoint Embedded от имени пользователя требуется, чтобы приложения получали согласие на делегированное разрешение Microsoft Graph FileStorageContainer.Selected . Для этого разрешения требуется согласие администратора на потребляющем клиенте, прежде чем любой пользователь из клиента сможет согласиться на него.
В дополнение к тому, что приложение получает согласие FileStorageContainer.Selected на использование клиента, пользователь, от имени пользователя, от имени которому оно действует, должен иметь разрешения контейнера. Действующие разрешения, имеющиеся у приложения, являются пересечением разрешений приложения и разрешений пользователя при действии от имени пользователя.
Важно!
Рекомендуется использовать SharePoint Embedded от имени пользователя. Этот тип доступа повышает безопасность приложения. Это также повышает возможность аудита действий, выполняемых приложением.
Доступ без пользователя
Для операций SharePoint Embedded без пользователя требуется, чтобы приложения получали согласие на разрешение приложения Microsoft Graph FileStorageContainer.Selected . Для этого разрешения требуется согласие администратора для используемого клиента.
Примечание.
Администратор потребляющего клиента должен согласиться на запрос вашего приложения на разрешения. Подробнее здесь.
Исключительные шаблоны доступа
В настоящее время существует два типа операций с исключительными шаблонами доступа:
- Операции, не предоставляемые через Microsoft Graph
- Операции с поиском содержимого SharePoint Embedded
- Операции, для которых требуется лицензия пользователя
Важно!
Рассмотрите последствия этих исключительных шаблонов доступа к тому, как ваше приложение и другие приложения могут получить доступ к содержимому SharePoint Embedded в вашем типе контейнера.
Операции, не предоставляемые через Microsoft Graph
Существует один сценарий, который сейчас недоступен через Microsoft Graph:
- Агент SharePoint Embedded предоставляется с помощью разрешений REST API SharePoint версии 2.
Чтобы использовать интерфейс агента SharePoint Embedded (на этапе предварительной версии) в приложении, вам потребуется Container.Selected разрешение на Office 365 SharePoint Online ресурс:
| Имя области | Идентификатор области | Тип | Operation |
|---|---|---|---|
| Container.Selected | 19766c1b-905b-43af-8756-06526ab42875 | Приложение | В контексте SharePoint Embedded включает регистрацию типов контейнеров в используемом клиенте. |
Примечание.
Разрешение Container.Selected является скрытым и не отображается в интерфейсе согласия администратора Microsoft Entra. Дополнительные сведения см. в разделе Предоставление согласия администратора для скрытых разрешений .
Предоставление согласия администратора для скрытых разрешений
Предоставление согласия администратора приложениям, запрашивающим скрытое разрешение, должно выполняться с помощью URL-адреса согласия администратора. Предоставьте URL-адрес согласия администратору каталога Microsoft Entra и убедитесь, что он подтверждает успешный ответ. URL-адрес согласия может выглядеть следующим образом:
https://login.microsoftonline.com/{tenant}/v2.0/adminconsent?client_id={client_id}&redirect_uri={redirect_uri}&scope={tenant_root_site_url}/.default
Важно!
Не используйте панель Регистрация приложений в портал Azure для предоставления согласия администратора приложениям, запрашивающим скрытые разрешения. Панель Регистрация приложений не сможет проверить запрошенные скрытые разрешения и удалит их из манифеста. Вы можете использовать область Корпоративные приложения в портал Azure для просмотра предоставленных скрытых разрешений после предоставления согласия администратора через URL-адрес согласия администратора.
Операции с поиском содержимого SharePoint Embedded
Этот раздел относится только к сценариям поиска в содержимом поиска, но не к сценариям перечисления.
Чтобы использовать поиск (Майкрософт ) для содержимого SharePoint Embedded, необходимо запросить делегированное Files.Read.All разрешение Microsoft Graph поверх , обычно используемого FileStorageContainer.Selectedдля доступа к SharePoint Embedded. На этапе предварительной версии этой функции Files.Read.All разрешение приложения предоставляет приложениям доступ к возможностям поиска по всему содержимому SharePoint Embedded.
Примечание.
Поддержка поиска (Майкрософт) для содержимого SharePoint Embedded доступна в предварительной версии и может быть изменена. Требования к доступу к содержимому Поиска (Майкрософт) в SharePoint Embedded в будущем будут соответствовать модели авторизации SharePoint Embedded. Следите за новостями.
Операции, для которых требуется лицензия пользователя
SharePoint Embedded предназначен для работы без назначения конечным пользователям каких-либо лицензий на продукты Microsoft 365. Однако существуют определенные операции, которые еще не соответствуют этому принципу.
Вывод списка контейнеров
Операция Перечисление контейнеров возвращает 403 Forbidden код ответа, если он вызывается от имени пользователя, у которого нет OneDrive. В ближайшее время планируется удалить эту зависимость. Эта зависимость не применяется к операции перечисления контейнеров при вызове без контекста пользователя (режим только для приложений).
Упоминание пользователей в документах Office
Общий интерфейс Office включает просмотр документов и добавление комментариев к этим документам. Чтобы пользователи отображались в элементе @mentions выбора людей, им должна быть назначена лицензия Microsoft 365.
Разрешения приложения типа контейнера
Приложениям SharePoint Embedded необходимо предоставить разрешения приложения типа контейнера от приложения-владельца, прежде чем они смогут получить доступ к контейнерам заданного типа контейнера. Разрешения приложения типа контейнера предоставляются приложениям через регистрацию типа контейнера.
| Разрешение | Описание |
|---|---|
| Нет | Не имеет разрешений на контейнеры или содержимое этого типа. |
| ReadContent | Может считывать содержимое контейнеров этого типа. |
| WriteContent | Может записывать содержимое в контейнеры для этого типа контейнеров. Это невозможно предоставить без разрешения ReadContent. |
| Создание | Может создавать контейнеры этого типа. |
| Удалить | Может удалять контейнеры этого типа. |
| Чтение | Может считывать метаданные контейнеров этого типа. |
| Запись | Может обновлять метаданные контейнеров этого типа. |
| EnumeratePermissions | Может перечислять члены контейнера и их роли для контейнеров этого типа. |
| AddPermissions | Можно добавлять члены в контейнер для контейнеров этого типа. |
| UpdatePermissions | Может обновлять (изменять роли) существующего членства в контейнере для контейнеров этого типа. |
| DeletePermissions | Может удалять другие члены (но не самостоятельно) из контейнера для контейнеров этого типа. |
| DeleteOwnPermissions | Может удалить собственное членство в контейнере для контейнеров этого типа. |
| ManagePermissions | Может добавлять, удалять (включая самостоятельно) или обновлять члены в ролях контейнеров для контейнеров этого типа. |
| ManageContent | Может управлять содержимым контейнера |
| Full | Имеет все разрешения для контейнеров этого типа. |
Примечание.
Сочетание разрешений Microsoft Graph и разрешений приложения типа контейнера включает авторизацию клиента для приложений.
Разрешения контейнера
Любой пользователь, обращаюющийся к контейнеру, должен быть членом контейнера. Членство в контейнере предоставляет пользователям разрешения контейнера. Эти разрешения определяют уровень доступа пользователей к заданному контейнеру. Разрешения контейнера применяются только к доступу от имени пользователя, но не к доступу без пользователя. Приложение SharePoint Embedded, обращающееся к контейнерам без пользователя, получает полный доступ, определенный в разрешениях приложения типа контейнера .
Важно!
Вызывающий пользователь, создающий новый контейнер с помощью делегированных вызовов, автоматически назначается роль владельца.
| Разрешение | Описание |
|---|---|
| Читатель | Эта роль позволяет пользователю считывать свойства и содержимое контейнера. |
| Писатель | Эта роль имеет все разрешения читателя, а также разрешение на создание, обновление и удаление содержимого в контейнере, а также на обновление применимых свойств контейнера. |
| Директор | Эта роль имеет все разрешения, которые имеет модуль записи, а также разрешение на управление членством в контейнере. |
| Владелец | Эта роль имеет все разрешения, которые имеет диспетчер, а также разрешение на удаление контейнеров. |
Что дальше
Ниже приведены некоторые действия, которые можно выполнить следующим образом:
- Настройте манифест приложения SharePoint Embedded (можно использовать Microsoft Entra PowerShell или интерфейс командной строки Azure) для запроса необходимых разрешений в вашем собственном клиенте:
- Microsoft Graph (resourceAppId:
00000003-0000-0000-c000-000000000000)- Добавление:
FileStorageContainerType.Manage.All(тип:Role, идентификатор:8e6ec84c-5fcd-4cc7-ac8a-2296efc0ed9b) для создания типов контейнеров в арендаторе-владельце.
- Добавление:
- Microsoft Graph (resourceAppId:
- Предоставление согласия администратора приложению в вашем собственном клиенте
- Создайте новый тип контейнера в арендаторе-владельце .
- Перенастройте манифест приложения SharePoint Embedded, чтобы запросить только необходимые разрешения на использование клиентов:
- Microsoft Graph (resourceAppId:
00000003-0000-0000-c000-000000000000)- Удалить:
FileStorageContainerType.Manage.All(тип:Role, идентификатор:8e6ec84c-5fcd-4cc7-ac8a-2296efc0ed9b), так как это необходимо только для создания типа контейнера в арендаторе-владельце.Примечание.
После создания типа контейнера в арендаторе-владельце следует удалить
FileStorageContainerType.Manage.Allразрешение из манифеста приложения. Для создания типа контейнера приложение не нуждается в этом при использовании клиентов, только в арендаторе-владельце . Сбой удаления этого разрешения из манифеста приложения приведет к тому, что ваши клиенты будут обеспокоены чрезмерными разрешениями, запрошенными приложением. - Добавление:
FileStorageContainerTypeReg.Selected(тип:Role, идентификатор:2dcc6599-bd30-442b-8f11-90f88ad441dc) для регистрации типа контейнера в потребляющих клиентах. - Добавить:
FileStorageContainer.Selected(тип:Scope, идентификатор:085ca537-6565-41c2-aca7-db852babc212) для доступа к контейнерам в потребляющих клиентах от имени пользователей. - При необходимости добавьте:
FileStorageContainer.Selected(тип :Role, идентификатор:40dc41bc-0f7e-42ff-89bd-d9516947e474) для доступа к контейнеру в потребляющих клиентах без пользователя.
- Удалить:
- Office 365 SharePoint Online (resourceAppId:
00000003-0000-0ff1-ce00-000000000000)-
Container.Selected(тип:Role, идентификатор:19766c1b-905b-43af-8756-06526ab42875) для использования агента SharePoint Embedded
-
- Microsoft Graph (resourceAppId:
- Предоставьте приложению согласие администратора в используемом клиенте (который может совпадать с клиентом-владельцем).
- Зарегистрируйте тип контейнера в используемом клиенте .
- Создание контейнера в потребляемом клиенте