Поделиться через


Проверка подлинности и авторизация SharePoint Embedded

Чтобы использовать SharePoint Embedded, приложению необходимо использовать Microsoft Graph. Дополнительные сведения о проверке подлинности и авторизации Microsoft Graph. Узнайте больше об архитектуре SharePoint Embedded.

Обзор

Ниже приведены некоторые ключевые принципы проверки подлинности и авторизации SharePoint Embedded.

  • Приложения взаимодействуют с SharePoint Embedded через Microsoft Graph.
  • Приложениям типа контейнера требуются разрешения приложения типа контейнера для доступа к контейнерам этого типа.
  • При использовании доступа от имени пользователя приложения могут обращаться только к контейнерам, членом которым является пользователь.
  • При использовании доступа без пользователя приложения могут обращаться к контейнерам, включенным разрешениями приложения типа контейнера, предоставленными им.
  • Приложения используют доступ от имени пользователей, когда это возможно для повышения безопасности и слышимости

Необходимые условия

Авторизация

Операции SharePoint Embedded предоставляются через Microsoft Graph. SharePoint Embedded поддерживает доступ от имени пользователя , а также доступ без пользователя.

Важно!

Разрешения Microsoft Graph, предоставленные приложению, позволяют ему вызывать конечные точки SharePoint Embedded. Однако приложению необходимо предоставить разрешение на использование типа контейнера , прежде чем оно получит доступ к контейнерам этого типа.

Доступ от имени пользователя

Для операций SharePoint Embedded от имени пользователя требуется, чтобы приложения получали согласие на делегированное разрешение Microsoft Graph FileStorageContainer.Selected . Для этого разрешения требуется согласие администратора на потребляющем клиенте, прежде чем любой пользователь из клиента сможет согласиться на него.

В дополнение к тому, что приложение получает согласие FileStorageContainer.Selected на использование клиента, пользователь, от имени пользователя, от имени которому оно действует, должен иметь разрешения контейнера. Действующие разрешения, имеющиеся у приложения, являются пересечением разрешений приложения и разрешений пользователя при действии от имени пользователя.

Важно!

Рекомендуется использовать SharePoint Embedded от имени пользователя. Этот тип доступа повышает безопасность приложения. Это также повышает возможность аудита действий, выполняемых приложением.

Доступ без пользователя

Для операций SharePoint Embedded без пользователя требуется, чтобы приложения получали согласие на разрешение приложения Microsoft Graph FileStorageContainer.Selected . Для этого разрешения требуется согласие администратора для используемого клиента.

Примечание.

Администратор потребляющего клиента должен согласиться на запрос вашего приложения на разрешения. Подробнее здесь.

Исключительные шаблоны доступа

В настоящее время существует два типа операций, которые недоступны через Microsoft Graph:

Для выполнения операций управления типами контейнеров необходимо быть администратором SharePoint Embedded или глобальным администратором.

Чтобы зарегистрировать тип контейнера, необходимо запросить Container.Selected разрешение на Office 365 SharePoint Online ресурс.

Имя области Идентификатор области Тип Operation
Container.Selected 19766c1b-905b-43af-8756-06526ab42875 Приложение В контексте SharePoint Embedded включает регистрацию типов контейнеров в используемом клиенте.

Примечание.

Управление типами контейнеров для владельцев клиентов и регистрация в потребляющих клиентах скоро станут операциями Microsoft Graph, и этот шаг больше не потребуется. Следите за новостями.

Разрешения приложения типа контейнера

Приложениям SharePoint Embedded необходимо предоставить разрешения приложения типа контейнера от приложения-владельца, прежде чем они смогут получить доступ к контейнерам заданного типа контейнера. Разрешения приложения типа контейнера предоставляются приложениям через регистрацию типа контейнера.

Разрешение Описание
Нет Не имеет разрешений на контейнеры или содержимое этого типа.
ReadContent Может считывать содержимое контейнеров этого типа.
WriteContent Может записывать содержимое в контейнеры для этого типа контейнеров. Это невозможно предоставить без разрешения ReadContent.
Создание Может создавать контейнеры этого типа.
Удалить Может удалять контейнеры этого типа.
Чтение Может считывать метаданные контейнеров этого типа.
Запись Может обновлять метаданные контейнеров этого типа.
EnumeratePermissions Может перечислять члены контейнера и их роли для контейнеров этого типа.
AddPermissions Можно добавлять члены в контейнер для контейнеров этого типа.
UpdatePermissions Может обновлять (изменять роли) существующего членства в контейнере для контейнеров этого типа.
DeletePermissions Может удалять другие члены (но не самостоятельно) из контейнера для контейнеров этого типа.
DeleteOwnPermissions Может удалить собственное членство в контейнере для контейнеров этого типа.
ManagePermissions Может добавлять, удалять (включая самостоятельно) или обновлять члены в ролях контейнеров для контейнеров этого типа.
ManageContent Может управлять содержимым контейнера
Full Имеет все разрешения для контейнеров этого типа.

Примечание.

Сочетание разрешений Microsoft Graph и разрешений приложений типа контейнера включает авторизацию клиента для приложений.

Разрешения контейнера

Любой пользователь, обращаюющийся к контейнеру, должен быть членом контейнера. Членство в контейнере предоставляет пользователям разрешения контейнера. Эти разрешения определяют уровень доступа пользователей к заданному контейнеру. Разрешения контейнера применяются только к доступу от имени пользователя, но не к доступу без пользователя. Приложение SharePoint Embedded, обращающееся к контейнерам без пользователя, получает полный доступ, определенный в разрешениях приложения типа контейнера .

Важно!

Вызывающий пользователь, создающий новый контейнер с помощью делегированных вызовов, автоматически назначается роль владельца.

Разрешение Описание
Читатель Эта роль позволяет пользователю считывать свойства и содержимое контейнера.
Писатель Эта роль имеет все разрешения читателя, а также разрешение на создание, обновление и удаление содержимого в контейнере, а также на обновление применимых свойств контейнера.
Директор Эта роль имеет все разрешения, которые имеет модуль записи, а также разрешение на управление членством в контейнере.
Владелец Эта роль имеет все разрешения, которые имеет диспетчер, а также разрешение на удаление контейнеров.

Что дальше

Ниже приведены некоторые действия, которые можно выполнить следующим образом:

  1. Настройте манифест приложения SharePoint Embedded (вы можете использовать Entra PowerShell или Azure CLI) для запроса необходимых разрешений:
    • Microsoft Graph (resourceAppId: 00000003-0000-0000-c000-000000000000)
      • FileStorageContainer.Selected (тип: Scope, идентификатор: 085ca537-6565-41c2-aca7-db852babc212) для доступа к контейнерам в потребляющих клиентах
    • Office 365 SharePoint Online (resourceAppId: 00000003-0000-0ff1-ce00-000000000000)
      • Container.Selected (тип: Role, идентификатор: 19766c1b-905b-43af-8756-06526ab42875) для регистрации контейнера в потребляющих клиентах
  2. Предоставьте приложению согласие администратора на владение и использование клиентов (которые могут быть одного и того же клиента).
  3. Создайте новый тип контейнера в арендаторе-владельце.
  4. Зарегистрируйте тип контейнера в используемом клиенте.
  5. Создание контейнера