【问题标题】:Access to Azure Blob Storage with Firewall from Azure Function App从 Azure Function App 访问带有防火墙的 Azure Blob 存储
【发布时间】:2018-09-26 14:47:10
【问题描述】:

我有一个 Azure blob 存储帐户,该帐户仅通过防火墙连接到选定的网络。我想从在我知道出站 IP 地址的动态计划上运行的函数应用访问此存储帐户。问题是我将这些出站 ip 添加到 blob 存储的防火墙和虚拟网络设置中的允许 IP 地址,但我仍然继续收到错误消息:

此请求无权执行此操作。

有人可以指出我哪里出错了吗?

注意我正在使用 PythonSDK 使用帐户名和帐户密钥访问 blob 存储!

【问题讨论】:

  • 您的 blob 访问策略是什么?您是否尝试过将函数应用添加到存储帐户的权限列表中?
  • 我的 blob 目前设置为私有。除了使用函数应用的出站IP地址外,我不知道如何将函数应用设置为存储帐户的权限列表。你能再解释一下吗?
  • 根据文档,您仍然需要适当的授权(有效的访问密钥或 SAS 令牌)才能访问存储帐户。您是否尝试过使用 SAS 作为您的连接字符串 (docs.microsoft.com/en-us/azure/storage/common/…)?您可以通过 Azure 门户在“共享访问签名”下生成共享访问签名
  • 如果你不是ASE环境,好像不支持访问私有存储。您可以参考此SO thread 了解更多信息。

标签: python azure azure-blob-storage azure-functions


【解决方案1】:

我使用消费函数应用程序访问我在 blob 存储中的文件进行了一些测试,它对我有用。 我做了两个步骤:

  1. 我启用了存储帐户防火墙并向其中添加了所有函数应用出站 IP。

  2. Enabling anonymous access 在我要访问的 blob 文件的容器上,以便我的函数应用可以直接访问 blob 文件(因为启用了存储防火墙,因此只有指定的 IP 才能访问您的存储,我认为这里的安全性还可以。如果您的场景需要更高的安全级别,正如@Marie Hoeger 所说,您应该使用私有容器和 SAS 令牌来控制 blob 访问)。

如果您还有任何疑问,请随时告诉我:)

【讨论】:

    猜你喜欢
    • 2019-05-29
    • 1970-01-01
    • 2019-09-28
    • 2021-01-20
    • 2019-09-30
    • 1970-01-01
    • 2017-02-27
    • 2021-04-27
    • 1970-01-01
    相关资源
    最近更新 更多