【发布时间】:2022-01-10 00:33:05
【问题描述】:
使用 Spring Boot 2.5.x 构建的应用程序...使用最新的 Azure Java SDK (Azure BOM 3.9.0)。
使用 Spring Security 和 Azure Active Directory Spring Boot starter 进行 authN/authZ...一切正常...AZ 安全组和应用注册应用角色在 Spring Security 中正确映射为授予权限等。
存储 blob 容器已分配组 RBAC。
我们有一个要求,希望列出 AD 用户已被授予写入权限的容器(参与者角色)以及使用 ABAC 的容器下的虚拟文件夹(blob 前缀)。
所有用户都已阅读,但只有某些用户可以更新某些容器和/或 blob 文件夹(例如容器/管理员)中的 blob
使用 Azure blob 存储 SDK 列出容器和 blob,但在实现中没有看到任何要按 RBAC 过滤的内容。
我想到的一些实现细节:
-
blob/容器索引标签;标记“管理员”相关的 blob 并使用标记 列表中的过滤器。缺点是blob标签需要管理
-
blob/容器元数据;类似于标签,但没有索引;不确定 如果直接通过 SDK 支持
-
使用以下任一方法过滤从 SDK 调用返回的流集合 标签或元数据
感谢您的想法或想法!
【问题讨论】:
标签: azure-active-directory azure-blob-storage azure-rbac azure-sdk-for-java