如何在存储帐户的防火墙中将Azure API管理列入白名单?

问题描述

我正在使用Azure API管理服务作为访问我存储帐户中的表存储的小型API。我正在使用表存储REST API(例如:https://docs.microsoft.com/en-us/rest/api/storageservices/query-entities

我使用共享密钥精简版的权限访问表存储没有问题,在策略中运行了一些脚本,但是由于业务需要,我需要限制对存储帐户的访问。

出于经济考虑,我无法将API放入vnet(内部或外部)中,因此我需要找到另一种访问存储帐户的方法

我尝试将apim公共ip添加到防火墙例外中,但是仍然返回403禁止

添加一个托管身份,允许对整个存储帐户进行读取访问并使用策略表达式:

<authentication-managed-identity resource="https://storage.azure.com/"/>

但是在深入研究文档之后,似乎仅MSI仅blob和队列(https://docs.microsoft.com/en-us/azure/active-directory/managed-identities-azure-resources/services-support-managed-identities#azure-storage-blobs-and-queues不支持表存储

有人知道如何访问表存储REST API吗?我无法确定为什么IP白名单无法正常工作。

解决方法

此403禁止的错误只有两种解决方法:

1,将api放入vnet并允许vnet访问。

2,让该服务的出站IP访问。您需要获取出站IP。