Azure功能和Azure KeyVault通过服务终结点进行通信

时间:2020-01-02 22:17:15

标签: azure azure-functions azure-keyvault azure-virtual-network

我已安装并激活了vNET防火墙的Azure KeyVault。我还设置了具有vNET集成的Azure Functions应用(Premium,Linux,Python)。我已经将功能应用程序的子网也添加为密钥库上的服务端点。但是,我仍然无法从azure函数访问密钥库。

我收到一条错误消息,指出Azure Functions IP(公共IP)无法访问密钥库。

我错过了什么吗?还是目前暂时不起作用?

将Keyvault中的Azure功能IP列入白名单并不是我想要的,因为通信仍将通过公共端点进行。

谢谢!

2 个答案:

答案 0 :(得分:0)

您可以检查以下内容:

  • 使用new vNet Integration。您应该满足区域vNet集成的所有限制。此功能要求应用程序和VNet必须位于同一区域。它还需要一个未使用的子网来进行VNet集成。
  • 为功能子网启用服务端点Microsoft.KeyVault
  • 确保已在Key Vault的防火墙中添加了正确的功能子网。

有时候,vNet配置的部署顺序或时间很重要,您可以参考此working template完成部署。

答案 1 :(得分:0)

因此VNet与App Service集成(Function App)仅支持

通过密钥保管库部署Azure Web App证书。

以下是列出所有"Trusted Services" Key Vaults supports

的文档

这里是另一个blog that illustrates the same issue you are facing

该问题不想将IP列入Key Vault的白名单,而是要确认支持此问题,因此建议将其列入白名单并查看其是否有效。如果这样做可以确认问题是由App Service检索的秘密不是Key Vault的“受信任的服务”