Azure 存储仅限制访问一个容器

Blu*_*uds 9 azure azure-storage azure-active-directory azure-blob-storage

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

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

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

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

那么有没有办法实现,组1只能访问容器1,但不能访问容器2,组2只能访问容器2,但不能访问容器1

Sau*_*ron 6

您可以做的是将“读取器”访问权限分配给存储帐户,然后为同一用户/组分配“存储 Blob 数据读取器”权限,但提供一个条件以仅允许他们访问特定名称的容器。在下面的示例中,我将容器称为“test-access-medata”

在此输入图像描述

  • 我尝试了多种分配仅容器访问权限的方法,您的方法是唯一对我有用的方法。谢谢! (2认同)

Blu*_*uds 3

尚不支持拒绝容器的组。正如从 IAM 刀片中获取的图像所示:“目前,您添加自己的拒绝分配的唯一方法是使用 Azure 蓝图。” 拒绝用户访问是一个相当复杂的过程。因此,最好创建两个存储帐户并在存储帐户级别(而不是容器级别)管理访问。这不适用于组,而是针对组中的单个用户。在此输入图像描述