[英]Secure access to Azure Table Storage via Azure Function
我的数据存储在 Azure 表存储中,并希望保护它,以便只有我的 API(function 应用程序)可以读取和写入数据。
什么是最佳实践,我该怎么做? 我认为将网络规则上的--default-action
设置为Deny
存储,再加上添加--bypass Logging Metrics AzureServices
会关闭访问但启用我的 Azure 服务,但这不起作用。
然后,我查看了为 function 应用程序创建托管服务标识 (MSI) 并将 RBAC 添加到存储帐户,但这也不起作用。 使用 Azure MSI 的表存储访问 Azure 表存储似乎不支持 MSI
我是否遗漏或误解了什么? 如何保护存储帐户中表中的数据,这甚至可能吗?
如您提供的链接,azure 表存储不支持 Azure MSI,它仅支持Shared Key (storage account key)和Shared access signature (SAS) 。
如果您的服务使用 REST API 发出请求,则您必须使用Shared Key authorization
来授权对表服务发出的请求。
要对使用 REST API 发出的针对表服务的请求的签名字符串进行编码,请使用以下格式:
StringToSign = VERB + "\n" +
Content-MD5 + "\n" +
Content-Type + "\n" +
Date + "\n" +
CanonicalizedResource;
您可以使用Shared Key Lite authorization
来授权针对任何版本的表服务发出的请求。
StringToSign = Date + "\n"
CanonicalizedResource
更多细节,你可以参考这篇文章。
为了保护 Azure 表存储数据,您在网络配置下执行 -
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.