Azure:为用户分配对存储帐户中的 blob 的读取/下载访问权限

Azure:为用户分配对存储帐户中的 blob 的读取/下载访问权限

我们的 SQL Server 每晚备份到 Blob 存储。

我希望一些员工(已经在 Active Directory 中)能够查看备份文件列表并将其下载到他们的机器上。然后他们可以在本地恢复数据库并进行测试。

这些成员不应能够删除这些 blob。(显然,团队成员无意中删除备份是一件坏事)

是否可以为多个用户提供对 Blob 容器的读取访问权限?

我可以调出存储帐户的访问控制(IAM)刀片,然后为用户分配“读者”角色。

在此处输入图片描述

该用户现在可以查看存储帐户的初始刀片。

但如果他试图拿起BLOB SERVICE \ Containers刀片,就会看到“拒绝访问”的文字。

有什么方法可以为用户分配对容器的读取权限吗?

答案1

但是如果他尝试调出 BLOB SERVICE \ Containers 刀片,他会看到文本“ACCESS DENIED”。

这是一种设计行为,角色Reader只能查看有关资源的一切,但不能改变任何内容,也不能读取容器下的文件。

如果您想让用户可以读取该存储帐户中的文件,我们应该owner为这些帐户设置角色。

这些成员不应该能够删除这些 blob。

目前,Azure 不支持此功能。如果我们希望用户可以从存储帐户读取文件,我们应该设置 role owner。如果我们将用户设置为所有者,则用户可以从该存储帐户中删除文件。

即使我们设置了CanNotDelete该存储帐户,用户仍然可以从中删除文件。锁不会限制资源如何执行其自身功能。资源更改受到限制,但资源操作不受限制。

这里有一个与你类似的案例,请参考我的回答

作为一种解决方法,我们可以使用Azcopy或其他工具将备份文件下载到本地存储(计划任务),并让其他用户从本地存储下载备份文件。

答案2

我刚刚测试过,现在有一些角色可以提供您需要的访问级别。请将以下角色添加到所需的用户:

STORAGE BLOB DATA READER (PREVIEW)
READER AND DATA ACCESS

用户必须注销并登录。

相关内容