azure - 缺少 Microsoft.Azure.Websites 服务主体?

标签 azure azure-active-directory

我正在尝试使用此模板 ( https://github.com/Azure/azure-quickstart-templates/tree/master/webapp-keyvault-ssl ) 从 Key Vault 部署我的应用服务的证书。其中一部分需要创建一个 Key Vault 访问策略,该策略授予 Microsoft.Azure.Websites 服务主体 (ID abfa0a7c-a6b6-4736-8310-5855508787cd) 访问 Secret 的权限。这在我的订阅中工作得很好,但在客户的订阅中不起作用。我们可以运行引用服务主体 ID 的 Set-AzKeyVaultAccessPolicy 命令,并且执行时没有错误,但实际上并未创建访问策略。当我执行 get-azAdServicePrincipal -DisplayNameBeginsWith ‘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

最佳答案

'abfa0a7c-a6b6-4736-8310-5855508787cd' 是资源提供程序服务主体名称,它对于所有 Azure 订阅均相同。及其在服务中的显示名称主体是“Microsoft Azure 应用服务”,而不是“Microsoft.Azure.Websites”。

尝试使用

Get-AzADServicePrincipal -ServicePrincipalName abfa0a7c-a6b6-4736-8310-5855508787cd

查看它是否存在。

如果不存在,请检查您订阅的资源提供商。

关于azure - 缺少 Microsoft.Azure.Websites 服务主体?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56498178/

相关文章:

asp.net - 如何清除 Microsoft Azure 服务器上的 iis 缓存?

angularjs - 如何从 azure Active Directory 连接到客户端的 ADFS

azure - Azure AD 应用程序注册的安全影响

c# - 如何使用 CSP 全局管理员凭据在 Azure AD 中为我的租户注册应用程序?

azure - 如何增加 Azure AD B2C 上守护程序应用程序的 token 生命周期

c# - Azure表存储查询分区键

azure - 我可以通过 ARM 模板运行 powershell 脚本吗?

azure - 如何将 Azure Scaleset 添加到 Log Analytics

azure - 如何将 Azure 经典 NSG 与经典 VM 分离?

c# - 如何查找所有可能的 AdalException.ErrorCode 字符串属性值?