我有一个使用基于角色的访问控制 (RBAC) 的 Azure Key-Vault。在这个密钥库中,我有一个秘密,我正在尝试将其注入功能应用程序中。
在密钥保管库中,我在 IAM 中有以下设置:
此外,在密钥本身的 IAM 设置中,我有以下内容:
最后,在函数应用程序本身中,我定义了一个值为
@Microsoft.KeyVault(SecretUri=https://kv-fuxxxnd.vault.azure.net/secrets/nile-estate-test-key/f63cxxxxxx5b2)
的应用程序设置。但是,我收到错误AccessToKeyVaultDenied
:
有任何提示如何解决这个问题吗?我读到我需要为我的应用程序授予
LIST
和 GET
权限,但它似乎不起作用,因为密钥保管库使用 RBAC 方法。缺少什么?
我尝试在我的环境中复制相同的内容,但这似乎不受消费计划功能应用程序的支持。
我已经使用应用程序服务计划创建了功能应用程序。
在
Function app=>Settings=>Identity
中启用系统分配的身份。
创建了具有 RBAC 访问权限的 Key Vault:
1. Owner
2. Key Vault Administrator
3. Key Vault Certificates Officer
Function App=>Settings=>Environment variables
:密钥库参考:
@Microsoft.KeyVault(SecretUri=https://kpkvault.vault.azure.net/secrets/<secretname>/<SecretVersion>)