Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Применимо к: Разработчик
Используйте эту статью для планирования проверки подлинности и авторизации для приложения SharePoint Embedded.
Приложения SharePoint Embedded используют Microsoft Graph для доступа к контейнерам и содержимому.
Полный справочник по проверке подлинности см. в статье Проверка подлинности и авторизация SharePoint Embedded.
Основные принципы
Проверка подлинности и авторизация SharePoint Embedded соответствуют следующим принципам:
- Приложения взаимодействуют с SharePoint Embedded через Microsoft Graph.
- Приложениям типа контейнера требуются разрешения приложения типа контейнера для доступа к контейнерам этого типа.
- Приложения могут получать доступ только к контейнерам, членом которым является пользователь, при использовании делегированного доступа от имени пользователя.
- Приложения могут получать доступ ко всем контейнерам, включенным разрешениями приложения типа контейнера, при использовании доступа только для приложений без пользователя.
- Приложения должны по возможности использовать делегированный доступ для повышения безопасности и подотчетности.
Предварительные условия
Планируйте:
- Регистрация приложения Microsoft Entra ID.
- Подписка Microsoft 365 в клиенте Microsoft Entra ID.
- Разрешения Microsoft Graph для операций SharePoint Embedded.
- Разрешения приложения типа контейнера, предоставляемые посредством регистрации типа контейнера.
- Администратор согласие в используемом клиенте.
Уровни разрешений
Доступ к SharePoint Embedded имеет несколько уровней.
| Уровень | Назначение |
|---|---|
| Разрешение Microsoft Graph | Позволяет приложению вызывать конечные точки SharePoint Embedded. |
| Разрешение приложения типа контейнера | Позволяет приложению получать доступ к контейнерам определенного типа. |
| Разрешение контейнера | Определяет, что пользователь может делать в определенном контейнере для делегированного доступа. |
Важно!
Только разрешения Microsoft Graph не предоставляют доступ к контейнерам. Приложению также должно быть предоставлено разрешение на тип контейнера.
Делегированный доступ
Делегированный доступ означает, что приложение действует от имени пользователя.
Для операций SharePoint Embedded от имени пользователя требуется делегированное разрешение Microsoft Graph FileStorageContainer.Selected .
Для этого делегированного разрешения не требуется согласие администратора для используемого клиента.
Пользователь также должен иметь разрешения контейнера.
Действующие разрешения приложения являются пересечением:
- Разрешения приложения, предоставленные для типа контейнера.
- Разрешения пользователя на контейнер.
По возможности используйте делегированный доступ.
Делегированный доступ повышает возможность аудита, так как действия могут быть связаны с пользователем.
Доступ только для приложений
Доступ только для приложений означает, что приложение действует без пользователя.
Для операций SharePoint Embedded без пользователя требуется разрешение приложения Microsoft Graph FileStorageContainer.Selected .
Для этого разрешения требуется согласие администратора для используемого клиента.
С доступом только для приложений приложение может получить доступ ко всем контейнерам, включенным разрешениями приложения типа контейнера.
Используйте доступ только для приложений для фоновых операций, которые не могут выполняться от имени пользователя.
Примените минимальные привилегии при предоставлении разрешений приложения типа контейнера.
Согласие администратора
Администратор потребляющего клиента должен согласиться с запросом на разрешение приложения.
Администратор для разрешения приложения FileStorageContainer.Selected требуется согласие. Делегирование FileStorageContainer.Selected не требует согласия администратора.
Для регистрации типа контейнера также требуется согласие на то, чтобы владеющее приложение действовало в потребляющих клиентах.
Сведения о регистрации типа контейнера см. в разделе Регистрация разрешений приложения типа контейнера хранилища файлов.
Разрешения типа контейнера (Microsoft Graph)
Создание, управление и регистрация типов контейнеров теперь являются операциями Microsoft Graph. Запланируйте следующие разрешения:
| Разрешение | Назначение | Tenant |
|---|---|---|
FileStorageContainerType.Manage.All |
Создание типов контейнеров и управление ими в арендаторе-владельце. | Только владение |
FileStorageContainerTypeReg.Selected |
Зарегистрируйте тип контейнера для потребляющих клиентов. | Потребления |
FileStorageContainer.Selected |
Доступ к контейнерам типа контейнера при использовании клиентов. | Потребления |
FileStorageContainerType.Manage.All является делегированным разрешением и не требует согласия администратора. Любой пользователь, не являющийся гостевым, в арендаторе-владельцем может согласиться на него, использовать его для создания типа контейнера, а затем автоматически назначается в качестве владельца этого типа контейнера. (До июня 2026 г. для этого требовалась роль администратора SharePoint Embedded или глобального администратора.)
Важно!
FileStorageContainerType.Manage.All требуется только в арендаторе-владельце для создания типа контейнера. Удалите его из манифеста приложения перед распространением среди потребляющих клиентов, чтобы клиенты не запрашивали чрезмерные разрешения. При использовании клиентов запрашивайте только FileStorageContainerTypeReg.Selected и FileStorageContainer.Selected.
Разрешения приложения типа контейнера
Разрешения приложения типа контейнера предоставляются собственным приложением через регистрацию типа контейнера.
Эти разрешения определяют, что приложение может делать с контейнерами типа контейнера.
Разрешения приложения типа контейнера:
NoneReadContentWriteContentCreateDeleteReadWriteEnumeratePermissionsAddPermissionsUpdatePermissionsDeletePermissionsDeleteOwnPermissionManagePermissionsManageContentFull
Предоставьте только разрешения, необходимые приложению.
Например, не предоставляйте Full фоновому гостевму приложению доступ только на чтение для резервного копирования или анализа.
Разрешения контейнера
Разрешения контейнера применяются к пользователям.
Они применяются только к доступу от имени пользователя.
Любой пользователь, обращаюющийся к контейнеру, должен быть членом контейнера.
Членство в контейнере предоставляет пользователям разрешения для этого контейнера.
SharePoint Embedded поддерживает следующие роли контейнеров:
| Role | Сводка |
|---|---|
| Читатель | Чтение свойств и содержимого контейнера. |
| Писатель | Разрешения читателя, а также создание, обновление и удаление содержимого, а также обновление применимых свойств контейнера. |
| Директор | Разрешения записи и управление членством в контейнере. |
| Владелец | Разрешения диспетчера и удаление контейнеров. |
Когда пользователь создает новый контейнер с помощью делегированных вызовов, ему автоматически назначается роль владельца.
Владельцы типов контейнеров
Владельцы типов контейнеров отличаются от владельцев контейнеров. Они управляют самим типом контейнера в арендаторе-владельце .
- Автоматическое назначение. Пользователь, создающий тип контейнера, автоматически назначается владельцем.
-
Добавление или удаление владельцев. Используйте отношение типа
permissionsконтейнера (бета-версия) для управления до трех владельцев на тип контейнера:POST /storage/fileStorage/containerTypes/{id}/permissionsдобавляет владельца иDELETE /storage/fileStorage/containerTypes/{id}/permissions/{permissionId}удаляет определенное разрешение владельца. -
Возможности. В
FileStorageContainerType.Manage.Allделегированном режиме владельцы могут создавать, считывать, обновлять и удалять принадлежащий им тип контейнера, управлять его владельцами и создавать контейнеры этого типа (только делегированные вызовы). - Ограничения. Внешние удостоверения (гостевые пользователи) не могут быть владельцами типов контейнеров. Сведения о владельцах существуют только во владеемом клиенте и не распространяются на потребляющих клиентов при регистрации.
- Эффективный доступ: возможности владельца — это разрешения пользователя; эффективный доступ — это пересечение разрешений Graph приложения и роли владельца.
Последствия регистрации типа контейнера
Чтобы владеющее приложение действовало с потребляющим клиентом:
- В приложении-владельце должен быть установлен субъект-служба, установленный в используемом клиенте.
- Для регистрации типа контейнера у приложения-владельцев должно быть предоставлено согласие администратора.
- Только владеющее приложение типа контейнера может вызывать API регистрации в используемом клиенте.
API регистрации указывает разрешения для владеющего приложения и любых гостевых приложений.
Последний успешный вызов API регистрации определяет параметры, используемые в используемом клиенте.
Исключительные шаблоны доступа
Планируйте операции, которые не соответствуют обычному шаблону авторизации Microsoft Graph.
К исключительным шаблонам доступа относятся:
- Управление типами контейнеров при владении клиентами с помощью Microsoft Graph.
- Регистрация типа контейнера при использовании клиентов через Microsoft Graph (
FileStorageContainerTypeReg.Selected). - Операции с административными контейнерами, для которых требуется
FileStorageContainer.Manage.All, и вошедшего в систему администратора SharePoint Embedded или глобального администратора. - Сценарии поиска (Майкрософт), требующие дополнительных разрешений во время предварительной версии.
- Операции, для которых в настоящее время требуется лицензия пользователя.
Ознакомьтесь с этими функциями, прежде чем разрабатывать привилегированные функции или функции с большим объемом поиска.
Рекомендации по безопасности
- Предпочитайте делегированный доступ для операций, управляемых пользователем.
- Используйте доступ только для приложений, только если это необходимо для операций службы.
- Предоставьте минимальные привилегии на уровне типа контейнера.
- Предоставьте минимальные привилегии на уровне членства в контейнере.
- Требовать согласие администратора в правильном клиенте.
- Рассматривать регистрацию как часть адаптации клиента.
- Избегайте широкого доступа к гостевым приложениям, если это не требуется в сценарии.
- Ознакомьтесь с последствиями аудита и соответствия требованиям с администраторами клиента.
Контрольный список планирования
- Зарегистрируйте приложение Microsoft Entra ID.
- Определите, какие операции используют делегированный доступ.
- Определите, какие операции используют доступ только для приложений.
- Запрос разрешений Microsoft Graph
FileStorageContainer.Selected. - Запросите Microsoft Graph
FileStorageContainerType.Manage.All(арендатор-владельце) иFileStorageContainerTypeReg.Selected(потребляющие клиенты) для создания и регистрации типа контейнера. - Планирование согласия администратора в каждом арендаторе.
- Определение разрешений приложения типа контейнера.
- Определение ролей контейнера пользователей.
- Определите все гостевые приложения и их разрешения.
- Просмотрите шаблоны исключительного доступа.
Дальнейшие действия
Обзор ограничений масштабирования и производительности. Общие сведения об ограничениях и шаблонах вызовов.