У меня проблемы с аутентификацией с использованием хранилища BLOB-объектов Azure, мы используем ADAL в приложении Angular для подключения к хранилищу BLOB-объектов Azure.
Я настроил олицетворение регистрации приложений Azure в хранилище и могу получить для пользователя токен для ресурса https://storage.azure.com/
.
Для учетной записи хранения настроены элементы управления доступом для Storage Blob Data Contributor
для пользователей, теперь я начинаю испытывать проблемы.
Если я назначу пользователя напрямую на Storage Blob Data Contributor
- все будет работать как положено, и мы сможем запрашивать и загружать BLOB-объекты.
Однако, если мы назначим Storage Blob Data Contributor
группе безопасности AD, члены указанной группы AD не смогут получить доступ к хранилищу и получат 403 ошибки с заголовком x-ms-error-code: AuthorizationPermissionMismatch
.
Существуют ли какие-либо ограничения на назначение разрешений через группы? Нужна ли нам Premium AD? Любая помощь будет высоко ценится.
Обновление
Подтверждено, что проблема не возникла с Premium AD, поскольку она все еще не работает после попытки аренды с P2.
документация здесь состояния;
Когда роль RBAC назначается субъекту безопасности Azure AD, Azure предоставляет доступ к этим ресурсам для этого субъекта безопасности. Доступ может быть ограничен до уровня подписки, группы ресурсов, учетной записи хранения или отдельного контейнера или очереди. Участник безопасности Azure AD может быть пользователем, группой, субъектом службы приложений или управляемым удостоверением для ресурсов Azure.
Конечно, это означает, что вы можете назначать роли как на человека, так и наследовать от группы ???
Полный контекст;
- Регистрация приложения настроена с
Azure Storage
-> user_impersonation
- У пользователя есть роль
Storage Blob Data Contributor
, назначенная через
GROUP ASSIGNMENT
- Angular App может авторизоваться против
https://storage.azure.com/
и получить токен
403
ошибка запроса PUT с кодом ошибки AuthorizationPermissionMismatch
- Обновление назначений ролей для включения прямого назначения
- Получить новый токен ...
- PUT теперь работает и изображение успешно сохраняется
Теперь это работает - доказано, что группы - причина. Почему групповые назначения не дают пользователям доступ?
Опять была бы признательна за любую помощь!
Обновление 2
Как указано в ответе ниже;
Параметр «Проверить доступ» на блейде «IAM Access» показывает, что у меня есть назначение роли Storage Blob Data Contributor
из трех групп (QA - техник, QA - администратор сайта без данных клиента и QA - администратор сайта с данными клиента )
Я не менял этих пользователей, связанных с ролями, так как они были созданы несколько месяцев назад, и, как показано на рисунке выше, я должен быть участником роли, которая будет включена сюда.
Группа не назначается динамически, все пользователи назначаются на роли в разделе «Членство». Имеет ли значение, что это через другую группу?
т.е.