使用 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 调用返回的流集合
想法或想法赞赏!