我在使用Azure Blob存储进行身份验证时遇到了麻烦,我们在Angular应用中使用ADAL连接到Azure Blob存储。
我已经设置了具有存储功能的Azure应用注册,可以为用户获取https://storage.azure.com/
资源的令牌。
存储帐户为用户配置了Storage Blob Data Contributor
的访问控制,现在这是我开始遇到问题的地方。
如果我直接将用户分配给Storage Blob Data Contributor
-一切都会按预期进行,我们可以查询和上传Blob。
但是,如果我们将Storage Blob Data Contributor
分配给AD安全组,则该AD组的成员将无法访问存储并收到带有x-ms-error-code: AuthorizationPermissionMismatch
标头的403错误。
通过组分配权限是否有任何限制?我们需要高级广告吗?任何帮助将不胜感激。
已确认Premium AD没有问题,因为尝试使用P2的租约后仍然无法正常工作。
文档here指出;
将RBAC角色分配给Azure AD安全主体后,Azure会授予对该安全主体对这些资源的访问权限。访问的范围可以是订阅级别,资源组,存储帐户或单个容器或队列的级别。 Azure AD安全主体可以是Azure资源的用户,组,应用程序服务主体或托管身份。
当然,这意味着您可以按人分配角色或从组继承角色?
完整上下文;
Azure Storage
-> user_impersonation
配置的应用注册
Storage Blob Data Contributor
分配的
GROUP ASSIGNMENT
角色
https://storage.azure.com/
进行授权并获得令牌
403
错误,错误代码为AuthorizationPermissionMismatch
现在这有效-事实证明,团体是原因。为什么组分配不给用户访问权限?
再次感谢您的帮助!
按照下面的答案中的要求;
“ IAM访问”(IAM Access)刀片中的“检查访问”(Check Access)选项显示我具有三个组的Storage Blob Data Contributor
角色分配(QA-技术员,QA-不带客户数据的站点管理员和QA-不带客户数据的站点管理员客户数据)
自几个月前创建角色以来,我没有更改这些与角色相关的用户,并且如上图所示,我必须是要包含在此处的角色的成员。
不是动态分配组,而是通过“成员资格”部分将所有用户分配给角色。这些是否通过另一个小组有关系吗? 即
答案 0 :(得分:0)
能否请您使用Azure门户中受影响的存储帐户上“ IAM Access”刀片中的“ Check Access”选项,并查看组中用户是否通过继承显示角色分配?另外,我还要求您在尝试访问时检查用户是否属于该组。该组是否具有动态成员资格用户分配?
存储帐户> IAM>添加角色并为此类型的请求STORAGE BLOB DATA CONTRIBUTOR添加特殊权限,建议您研究以下article
目前,您可以使用PowerShell测试基于身份的访问 https://docs.microsoft.com/en-us/azure/storage/common/storage-auth-aad-rbac-powershell
让我知道状态