Azure 存储 - 设置防火墙时允许 Microsoft 服务

Azure Storage - Allowed Microsoft Service when Firewall is set

我正在尝试将 public 逻辑应用程序(不是 ISE 环境)连接到仅限于 Vnet 的存储帐户。 根据存储帐户文档,访问应该可以使用系统托管标识。

但是我只尝试了 3 个不同的订阅,结果总是一样的:

    {
    "status": 403,
    "message": "This request is not authorized to perform this operation.\r\nclientRequestId: 2ada961e-e4c5-4dae-81a2-520397f277a6",
    "error": {
    "message": "This request is not authorized to perform this operation."
    },
    "source": "azureblob-we.azconn-we-01.p.azurewebsites.net"
    }

已经提供不同 IAM 角色的访问权限,包括所有者。感觉按照文档应该允许的服务没有被允许。

The Allow trusted Microsoft services... setting also allows a particular instance of the below services to access the storage account, if you explicitly assign an RBAC role to the system-assigned managed identity for that resource instance. In this case, the scope of access for the instance corresponds to the RBAC role assigned to the managed identity.

Azure Logic Apps Microsoft.Logic/workflows Enables logic apps to access storage accounts

[https://docs.microsoft.com/en-us/azure/storage/common/storage-network-security#exceptions][1]

我做错了什么?

添加了屏幕截图:

https://i.stack.imgur.com/CfwJK.png

https://i.stack.imgur.com/tW7k9.png

https://i.stack.imgur.com/Lxyqd.png

https://i.stack.imgur.com/Sp7ZV.png

https://i.stack.imgur.com/Hp9JG.png

https://i.stack.imgur.com/rRbau.png

要使用 Azure 逻辑应用程序中的托管标识来验证对 Azure 资源的访问权限,您可以按照 the document 进行操作。 Azure 逻辑应用程序应在与您的存储帐户相同的订阅 中注册。如果要访问 Azure 存储容器中的 blob。您可以为存储帐户中的逻辑应用系统标识添加 Storage Blob Data Contributor(用于向 Blob 存储资源授予 read/write/delete 权限)角色。

更新

从您的屏幕截图中,我发现您没有使用系统管理的身份来设计 Create blob 逻辑,而是使用 API 连接。

用于验证将 public 逻辑应用程序连接到启用了 Allow trusted Microsoft services... 设置的存储帐户。您可以通过 Azure 门户使用带有触发器或操作的托管标识来设计您的逻辑。要在触发器或操作的基础 JSON 定义中指定托管标识,请参阅 Managed identity authentication.

输出

有关详细信息,请阅读 Authenticate access with managed identity 中的这些步骤。