如何允许对容器中所有blob的安全访问?

时间:2019-05-09 07:10:00

标签: azure azure-storage azure-storage-blobs azure-blob-storage

我在Azure Blob存储中有一些由服务创建的动态文件。

我想允许我前面的代理访问容器中这些blob文件的任何

有没有办法使整个Blob容器公开或为每个Blob都不生成SAS令牌?

最好的方法是Shared Key吗?

任何建议将不胜感激。

谢谢!

2 个答案:

答案 0 :(得分:0)

您的代理服务器将具有公共IP吗?如果是这样,请将您的Blob容器配置为启用匿名访问,然后enable Azure storage firewall将您的代理公用IP添加到白名单中,以确保只有您的代理才能访问您的Blob容器。我认为这将是一种简单的方法。

使用Azure AD RBAC也是满足您要求的简便方法。使用此功能,您可以使用access_token访问Azure存储。有关详细信息,您可以参考以下文档以获取详细信息:

https://docs.microsoft.com/en-us/azure/storage/common/storage-auth-aad

https://docs.microsoft.com/en-us/rest/api/storageservices/authenticate-with-azure-active-directory

答案 1 :(得分:0)

因为您使用的是Azure Function,所以有几种可能的方法:

来自Microsoft documentation

  

使用Azure AD凭据对用户或应用程序进行身份验证提供了比其他授权方式更高的安全性和易用性。尽管您可以继续对应用程序使用共享密钥授权,但是使用Azure AD避免了将帐户访问密钥与代码存储在一起的需要。您还可以继续使用共享访问签名(SAS)授予对存储帐户中资源的细粒度访问权限,但是Azure AD提供了类似的功能,而无需管理SAS令牌或担心撤销受感染的SAS。 Microsoft建议在可能的情况下为您的Azure存储应用程序使用Azure AD身份验证