Azure 存储帐户 - 容器级访问和 ACL
Posted
技术标签:
【中文标题】Azure 存储帐户 - 容器级访问和 ACL【英文标题】:Azure Storage Account - Container level access and ACL 【发布时间】:2021-02-01 13:38:37 【问题描述】:Azure 存储帐户
在我们的一个用例中,我们希望使用 Azure 存储与客户共享它,以便他们可以将数据上传给我们。 在这种情况下,我们计划为每个客户创建存储帐户。为了让客户访问该帐户,我们正在计划 共享存储帐户密钥。
我们面临以下问题
-
如何创建特定于 Azure 存储帐户容器的密钥,以便客户只能访问特定容器。
是否可以在容器级别拥有单独的密钥和访问权限。
对于某些容器,我们希望授予读写权限。
对于其他人,我们只想授予读取权限。
如果我有存储帐户密钥,这是否意味着我可以访问该存储帐户下的所有内容。
有没有更好的解决方案?本质上,我们需要一个 ftp 站点供客户上传数据。
【问题讨论】:
【参考方案1】:听起来您想使用共享访问签名 (SAS):
https://docs.microsoft.com/en-us/azure/storage/common/storage-sas-overview
共享访问签名 (SAS) 提供对存储帐户中资源的安全委派访问,而不会影响数据的安全性。借助 SAS,您可以精细控制客户端如何访问您的数据。您可以控制客户端可以访问哪些资源、他们对这些资源拥有哪些权限以及 SAS 的有效期等参数。
【讨论】:
【参考方案2】:您不能拥有容器级别的访问密钥,整个存储帐户都有访问密钥
要在容器级别(甚至更细粒度)提供访问权限,您需要共享访问签名。文档here
您可以拥有任意数量的 SAS,并且您可以使用所需的权限(读取、读写等...)定义它们
【讨论】:
以上是关于Azure 存储帐户 - 容器级访问和 ACL的主要内容,如果未能解决你的问题,请参考以下文章
我们可以使用 Azure Active Directory 提供对 blob/容器/存储帐户的访问吗?
在不使用主键或辅助键的情况下使用 azure 存储帐户进行身份验证