Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Применимо к: Разработчик
Зарегистрируйте разрешения приложения типа контейнера, прежде чем приложение SharePoint Embedded создает контейнеры или обращается к содержимому в используемом клиенте.
Сначала завершите создание и настройку типа контейнера , чтобы иметь идентификатор типа контейнера и собственное приложение.
Почему требуется регистрация
Приложение SharePoint Embedded не может взаимодействовать с контейнерами в потребляемом клиенте, пока тип контейнера не будет зарегистрирован в этом клиенте.
Элементы управления регистрацией:
- Какие идентификаторы приложений могут получить доступ к типу контейнера.
- Какие делегированные разрешения имеются у каждого приложения.
- Какие разрешения только для приложений есть у каждого приложения.
- Могут ли гостевые приложения взаимодействовать с контейнерами собственного приложения.
Если регистрация отсутствует или не завершена, последующие вызовы могут завершиться ошибкой с ошибками отказа в доступе.
Сведения о том, кто может зарегистрироваться
Только владеющее приложение типа контейнера может вызывать API регистрации в используемом клиенте.
Владеющее приложение должно иметь:
- Субъект-служба, установленный в используемом клиенте.
- Администратор согласие на регистрацию в используемом клиенте.
- Разрешение
FileStorageContainerTypeReg.SelectedMicrosoft Graph (делегированное пользователем или только для приложения). - Допустимый маркер для ресурса Microsoft Graph.
Примечание.
API регистрации типа контейнера доступен в Microsoft Graph версии 1.0.
Когда владеющее приложение вызывает API регистрации от имени пользователя (делегированного), ему должна быть назначена роль администратора SharePoint Embedded или глобального администратора . При вызове без контекста пользователя (только для приложения) используется поток предоставления учетных данных клиента.
Предоставление согласия администратора
Попросите администратора потребления клиента предоставить согласие администратора для владеющего приложения.
Используйте конечную точку согласия администратора платформа удостоверений Майкрософт:
https://login.microsoftonline.com/{consuming-tenant-id}/v2.0/adminconsent?client_id={owning-app-clientid}&scope=https://graph.microsoft.com/.default&redirect_uri={spe-app-redirect-uri}
Настройте успешное выполнение и обработку ошибок для потока подключения.
Сведения о конечных точках национального облака см. в разделе платформа удостоверений Майкрософт конечных точек в национальных облаках.
Получение маркера для регистрации
Используйте делегированную проверку подлинности или проверку подлинности только для приложений для регистрации.
Для регистрации требуется:
- Разрешение
FileStorageContainerTypeReg.SelectedMicrosoft Graph. - Для вызовов только для приложений поток предоставления учетных данных клиента.
- Для делегированных вызовов вошедшего пользователя с ролью "Администратор SharePoint Embedded" или "Глобальный администратор".
Регистрация разрешений типа контейнера
Вызовите конечную точку регистрации в используемом клиенте.
PUT https://graph.microsoft.com/v1.0/storage/fileStorage/containerTypeRegistrations/{containerTypeId}
{containerTypeId} — это идентификатор типа контейнера, созданный в клиенте разработчика.
В тексте запроса укажите разрешения приложения для типа контейнера.
Предоставление разрешений приложению-владельцем
Общая первая регистрация предоставляет приложению-владельце полные разрешения для делегированных вызовов и вызовов только для приложения.
{
"applicationPermissionGrants": [
{
"appId": "71392b2f-1765-406e-86af-5907d9bdb2ab",
"delegatedPermissions": ["full"],
"applicationPermissions": ["full"]
}
]
}
Замените пример идентификатора приложения идентификатором собственного приложения.
Предостережение
Используйте минимальные привилегии для рабочей среды. Предоставление, full только если приложению требуется полный доступ к типу контейнера.
Предоставление разрешений для гостевого приложения
Владеющее приложение также может зарегистрировать разрешения для другого приложения.
Используйте этот шаблон, если гостевой приложению требуется определенная рабочая нагрузка, например резервное копирование или обработка.
{
"applicationPermissionGrants": [
{
"appId": "71392b2f-1765-406e-86af-5907d9bdb2ab",
"delegatedPermissions": ["full"],
"applicationPermissions": ["full"]
},
{
"appId": "89ea5c94-7736-4e25-95ad-3fa95f62b6cd",
"delegatedPermissions": ["read", "write"],
"applicationPermissions": ["none"]
}
]
}
Замените оба идентификатора приложений своими приложениями.
Значения разрешений
| Разрешение | Использовать |
|---|---|
none |
Не предоставляя разрешений. |
readContent |
Чтение содержимого в контейнерах этого типа. |
writeContent |
Запись содержимого в контейнеры этого типа. |
create |
Создайте контейнеры этого типа. |
delete |
Удалите контейнеры этого типа. |
read |
Чтение метаданных контейнера. |
write |
Обновление метаданных контейнера. |
enumeratePermissions |
Перечисление элементов и ролей контейнера. |
addPermissions |
Добавление элементов контейнера. |
updatePermissions |
Обновите существующие членства. |
deletePermissions |
Удалите другие члены. |
deleteOwnPermission |
Удалите собственное членство вызывающего объекта. |
managePermissions |
Управление назначениями ролей контейнера. |
manageContent |
Управление содержимым контейнеров этого типа. |
full |
Предоставьте все разрешения. |
Примечание.
writeContent Не может быть предоставлен без readContent.
Проверка регистрации
При успешной регистрации возвращается 201 Created и настроенные разрешения в тексте ответа.
После успешной регистрации:
- Убедитесь, что ответ содержит ожидаемые идентификаторы приложений.
- Убедитесь, что делегированные массивы и массивы только для приложений соответствуют предполагаемым разрешениям.
- Получение маркера Microsoft Graph с разрешениями SharePoint Embedded.
- Попробуйте операцию с низким риском, которая соответствует зарегистрированным разрешениям.
- Перейдите к статье Настройка проверки подлинности и авторизации.
Устранение неполадок с согласием
| Признак | Вероятная причина | Действие |
|---|---|---|
401 Unauthorized |
Отсутствующий или недопустимый маркер | Запросите допустимый маркер только для приложения. |
403 Forbidden |
Приложение не имеет разрешения или не является владельцем приложения | Подтвердите FileStorageContainerTypeReg.Selected, согласие и идентификатор приложения. |
404 Not Found |
Тип контейнера не существует | Проверьте идентификатор и клиент. |
| Доступ запрещен при вызовах Graph | Регистрация отсутствует или недостаточная | Повторно зарегистрируйтесь с необходимыми разрешениями. |
| Администратор не удается найти скрытое разрешение | Портал не предоставляет его | Используйте URL-адрес согласия администратора. |
Безопасная повторная регистрация
Не существует ограничений на количество вызовов API регистрации.
Последний успешный вызов регистрации определяет параметры, используемые в используемом клиенте.
Используйте безопасный процесс обновления:
- Создайте полные полезные данные регистрации.
- Включите все приложения, которые должны сохранять доступ.
- Отправьте вызов регистрации.
- Проверьте ответ.
- Выполните тесты дыма для каждой роли приложения.
Важно!
Не отправляйте частичные полезные данные, если только итоговая регистрация не будет содержать только этот набор приложений и разрешений.
Дальнейшие действия
Настройка маркеров и потоков авторизации в разделе Настройка проверки подлинности и авторизации.