0

我有一个使用 power shell 6.2 创建的 http post azure 函数。它需要访问 azure key vault 才能检索机密。当我分配系统分配的托管标识时,它可以完美运行。但是,在使用用户分配的托管标识执行时收到附加错误。

到目前为止我所做的。

  1. 在 Azure 托管标识服务下创建了用户分配的托管标识。
  2. 在我的 KeyVault 访问控制(IAM)中添加了贡献者角色 -> 在分配访问下拉列表中我选择了用户分配的托管身份。
  3. 此外,在 KeyVault 访问策略部分,添加了具有获取和列出机密权限的新创建的用户分配身份
  4. 最后在 azure 函数的标识选项卡中添加了新用户分配的托管标识。

我已阅读用户分配的托管标识需要 clinet_id 但不知道在 azure 函数的发布请求中配置它的位置。

在此处输入图像描述

4

2 回答 2

0

使用 REST 协议,你可以参考这篇文章来附加一个clientid这样的查询参数,

GET /MSI/token?resource=https://vault.azure.net&api-version=2017-09-01&clientid=xxxx 

使用 SDK,您可以clientid在连接字符串中指定,请参阅https://docs.microsoft.com/en-us/azure/key-vault/service-to-service-authentication#connection-string-support

在此处输入图像描述

于 2020-03-25T10:36:32.680 回答
0

PowerShell 函数的解决方法在这里:https ://github.com/Azure/azure-functions-host/issues/5797#issuecomment-601864473

于 2020-03-25T18:20:13.197 回答