Azure 存储限制访问一个容器

Azure Storage restrict access one container only

这是我的情况:Azure AD 中的两个组。 Group 1 只能访问 container1,不能访问 container2 Group 2 只能访问 container2,不能访问 container1

为了实现这一点,我相应地为每个容器赋予了 IAM 角色权限(为组分配了存储 Blob 数据贡献者角色)。

我使用的代码示例:https://github.com/Azure-Samples/storage-dotnet-azure-ad-msal

但是对于 upload/download 容器上的任何文件,我还必须在存储帐户上分配存储 Blob 数据贡献者的角色。如果我在存储帐户上提供存储 Blob 数据贡献者,则该组用户可以将文件添加到任何容器。

那么有什么办法可以实现, Group 1 只能访问 container1,不能访问 container2 Group 2 只能访问 container2,不能访问 container1

拒绝组到容器是 not supported yet。正如从 IAM blade 中截取的图片所示:“目前,您可以添加自己的拒绝分配的唯一方法是使用 Azure 蓝图。” 拒绝用户访问是一个相当大的过程。因此,最好创建两个存储帐户并在存储帐户级别而不是容器级别管理访问。这不是针对组,而是针对组中的单个用户。

您可以为存储帐户分配 'Reader' 访问权限,然后为同一个 user/group 分配 'Storage Blob Data Reader',但提供一个条件,只允许他们访问容器具体名称。在下面的示例中,我将容器称为“test-access-medata”