我正在尝试使用此模板(https://github.com/Azure/azure-quickstart-templates/tree/master/webapp-keyvault-ssl)从Key Vault获得应用程序服务的证书。其中一部分要求创建密钥库访问策略,该策略授予Microsoft.Azure.Websites服务主体(ID abfa0a7c-a6b6-4736-8310-5855508787cd)获取秘密。这在我的订阅中很好,但在客户的订阅中不起作用。我们可以运行Set-AzKeyVaultAccessPolicy命令,引用服务主体的ID,并且它没有错误地执行,但是访问策略实际上并没有被创建。当我做了一个get-azAdServicePrincipal‘Microsoft.Azure.Websites’时,什么都没有返回。然而,当我查看KeyVault的审计日志时,我可以看到一个ID为abfa0a7c-a6b6-4736-8310-5855508787cd的用户正在尝试登录,所以这个身份必须存在(?)
我需要做些什么来启用/创建这个默认(Microsoft.Azure.Websites)服务主体吗?我检查了我的MSDN帐户,并看到了相同的行为,因为这个主体不存在。
可以在存在Microsoft.Azure.Websites主体的订阅中部署此模板,但当主体不存在时,模板部署将失败。
#Gets the service principal (missing in problem subscription)
get-azAdServicePrincipal -DisplayNameBeginsWith 'Microsoft.Azure.Websites'
#Sets the keyvault access policy for the built in service principal
set-azKeyVaultAccessPolicy -VaultName keyVaultName -ServicePrincipalName "abfa0a7c-a6b6-4736-8310-5855508787cd" -PermissionsToSecrets get发布于 2019-06-10 03:25:37
‘abfa0a7c-a6b6-4736-8310-5855508787cd’是资源提供者服务主体名称,它对所有Azure订阅保持相同的。及其在服务主体中的显示名称是“Microsoft.Azure.Websites”,而不是“Microsoft.Azure.Website”。
试着
Get-AzADServicePrincipal -ServicePrincipalName abfa0a7c-a6b6-4736-8310-5855508787cd看看它是否存在。
如果不存在,请检查订阅的资源提供程序。
https://stackoverflow.com/questions/56498178
复制相似问题