azure - 天蓝色函数中用户分配的托管标识抛出值不能为空
问题描述
我有一个使用 power shell 6.2 创建的 http post azure 函数。它需要访问 azure key vault 才能检索机密。当我分配系统分配的托管标识时,它可以完美运行。但是,在使用用户分配的托管标识执行时收到附加错误。
到目前为止我所做的。
- 在 Azure 托管标识服务下创建了用户分配的托管标识。
- 在我的 KeyVault 访问控制(IAM)中添加了贡献者角色 -> 在分配访问下拉列表中我选择了用户分配的托管身份。
- 此外,在 KeyVault 访问策略部分,添加了具有获取和列出机密权限的新创建的用户分配身份
- 最后在 azure 函数的标识选项卡中添加了新用户分配的托管标识。
我已阅读用户分配的托管标识需要 clinet_id 但不知道在 azure 函数的发布请求中配置它的位置。
解决方案
使用 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
推荐阅读
- docker - 如何查找 NGC Docker 映像的内容?
- python - Python Ctypes AttributeError:找不到函数
- google-cloud-platform - 找不到 EntityType - SessionEntityType 名称由 Session 名称和 EntityType.display_name 组成
- python - Vaex 使用 datetime64 列连接两个数据帧
- java - 改造响应异常
- puppet - 木偶代理在每次运行后重新复制相同的文件
- matlab - 如何获取在 BONMIN 中评估函数的节点?
- pytorch - RandomAdjustSharpness 给出 IndexError: tuple index out of range
- excel - 在 vba 代码中组合 Worksheet_Change 事件
- asp.net - SOA 客户端发送数据的限制