我有一个Bicep模板,我在其中创建了一个App Service
,我需要在其中链接一个存在于Key Vault中的SSL证书(两者都在同一个资源组中)。
密钥保管库已启用Azure RBAC。
我使用以下Bicep模板将SSL证书从密钥库链接到应用程序服务:
resource certEncryption 'Microsoft.Web/certificates@2018-02-01' = {
name: '${resourcePrefix}-cert-encryption'
location: location
properties: {
keyVaultId: resourceId('myResourceGroup', 'Microsoft.KeyVault/vaults', keyVaultName)
keyVaultSecretName: '${resourcePrefix}-cert-encryption'
serverFarmId: hostingPlan.id
password: 'SecretPassword'
}
dependsOn: [
webApi
]
}
但它失败,并显示以下消息:
该服务无权访问“/subscriptions/3449 f-xxxx/resourcegroups/rgabptrialt/providers/microsoft.keyvault/vaults/my-test-vault”密钥库.请确保您已向该服务授予执行请求操作所需得权限.
这说明不了什么...
我需要什么权限才能授予确切的?授予什么权限?在哪里以及如何授予这些权限?
我是否必须创建托管身份并将其链接到我的应用服务中?我到底需要哪些权限/角色?或者我是否需要执行其他操作才能使其正常工作?
我真的找不到任何关于如何做到这一点的好信息。
1条答案
按热度按时间ttcibm8c1#
我想是的,首先您需要在密钥库中授予权限
Ensure that the service principal has all the permissions. The only thing that worked for me though is adding the service principal 24681998-555f-4570-a559-2fced2d7e841 which shows up as Microsoft.Azure.WebSites. You can add this through the portal, by adding an access policy for Microsoft.Azure.WebSites or through arm with the GUID.
我将以下主体添加到Key Vault访问策略:Microsoft Azure应用程序服务(对象ID:您的对象ID)。获得机密的权限就足够了。
通过执行下面答案中提到的类似步骤
如何从Azure应用服务访问密钥库
如果你有任何疑问或问题,请告诉我。即使你面临任何问题。