问题描述
Azure存储帐户
在我们的一个用例中,我们想使用Azure存储与客户共享它,以便他们可以将数据上传给我们。 在这种情况下,我们计划为每个客户创建存储帐户。为了使客户能够访问该帐户,我们正在计划 共享存储帐户密钥。
我们面临以下问题
- 如何创建特定于Azure存储帐户容器的密钥,以便客户只能访问特定的容器。
- 是否可以在容器级别具有单独的密钥和访问权限。
- 对于某些容器,我们希望提供读写访问权限。
- 对于其他人,我们只希望授予读取权限。
- 如果我具有存储帐户密钥,是否表示我可以访问该存储帐户下的所有内容。
是否有更好的解决方案?实质上,我们需要一个ftp站点供客户上传数据。
解决方法
想要使用共享访问签名(SAS)的声音:
https://docs.microsoft.com/en-us/azure/storage/common/storage-sas-overview
,共享访问签名(SAS)提供对存储帐户中资源的安全委派访问,而不会损害数据的安全性。使用SAS,您可以精确控制客户端如何访问数据。您可以控制客户端可以访问哪些资源,它们对这些资源具有哪些权限以及SAS有效的时间以及其他参数。
您没有容器级别的访问密钥,有整个存储帐户的访问密钥
要在容器级别(或更细的级别)提供访问权限,您需要共享访问签名。文档here
您可以根据需要拥有任意数量的SAS,并且可以使用所需的权限(读取,读写等)来定义它们。