我有很多不同的功能应用程序。
他们都需要从一个密钥库访问一个秘密。
因此,我创建了一个专用的托管服务身份,并授予 MSI 读取密钥保管库的能力。
然后,我将该 MSI 添加为所有功能应用程序的“用户分配的身份”。
然后,在功能应用程序的配置内部,我将以下内容设置为配置的值:
@Microsoft.KeyVault(SecretUri=https://key-vault-name.vault.azure.net/secrets/nameOfSecrets)
但是,尽管我从 Key Vault 主页确认我的用户分配的 MSI 确实具有对 Key Vault 的读取访问权限,但我似乎无权访问此 Key Vault。
这就是配置源的样子:
当我单击它时,它似乎仍在使用系统分配的身份:
非常感谢任何帮助。
我已阅读https://learn.microsoft.com/en-us/azure/app-service/app-service-key-vault-references?tabs=azure-cli,它说我需要:
通过将 keyVaultReferenceIdentity 属性设置为用户分配的标识的资源 ID,将应用程序配置为使用此标识进行 Key Vault 引用操作。
但我不知道如何在功能应用程序页面的配置中完成此操作。
我不想切换到系统分配的身份。我确实有一个来自系统分配身份的秘密,但这个秘密在不同的功能应用程序中是不同的。这个在所有功能应用程序中都是一样的,而且我拥有的功能应用程序的数量不是一个常数,将它们一一添加到密钥库中简直难以管理。