繁体   English   中英

通过 Azure Function 安全访问 Azure 表存储

[英]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 表存储数据,您在网络配置下执行 -

  1. 使用选定的网络而不是公共网络。 此配置在存储帐户的“防火墙和虚拟网络”下可用。
  2. 您可以执行的第二步是将数据移动到 Azure Key Vault 或使用存储在 Azure Key Vault 中的加密密钥来加密 Z3A580F142203677F1F1F35ZF63 存储表的必填字段。 这样您就不会面临 Azure Key Vault 的限制 - https://docs.microsoft.com/en-us/azure/key-vault/general/service-limits#secrets-managed-storage-account-keys-and -保险库交易

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM