使用 Azure 服务主体创建 Azure 资源时权限不足,无法完成操作
Insufficient privileges to complete the operation when using an Azure service principal to create Azure resources
我想使用服务主体帐户 运行 创建 Azure 资源的 Powershell 脚本,如 this article about doing so when provisioning via TeamCity
中所建议
我能够创建服务主体并将其分配给订阅的 'Owner' 角色,因此理论上它应该有权在 Azure 帐户中执行任何操作。 (稍后我会根据校长的要求调整权限。)命令基本如下:
Login-AzureRmAccount # using my Azure admin account
$azureAdApplication = New-AzureRmADApplication -DisplayName "Deploy" -HomePage "https://deploy" -IdentifierUris "https://deploy" -Password "password"
New-AzureRmADServicePrincipal -ApplicationId $azureAdApplication.ApplicationId
New-AzureRmRoleAssignment -RoleDefinitionName Owner -ServicePrincipalName $azureAdApplication.ApplicationId
$subscription = Get-AzureRmSubscription
$creds = Get-Credential
Login-AzureRmAccount -Credential $creds -ServicePrincipal -Tenant $subscription.TenantId
但是,当我 运行 一个预配资源的 Powershell 脚本时,我在创建 Key Vault 时收到以下警告:
- 权限不足,无法完成操作
- 未设置访问策略。没有用户或应用程序具有使用此保管库的访问权限。请使用 Set-AzureRmKeyVaultAccessPolicy 设置访问策略
通过我自己的管理员帐户创建 Key Vault 时,我没有收到这些警告。如何为服务主体提供足够的权限,以便能够在 Azure 订阅中创建资源而不会出现权限问题?
这是因为你创建的是服务主体而不是用户,并且正在尝试与 Azure Vault 进行交互。 (其他一切都应该按预期工作)
作为用户,您可以访问 Vault,但因为您是作为服务主体访问它的,所以它期望找到相关的访问策略。
我想使用服务主体帐户 运行 创建 Azure 资源的 Powershell 脚本,如 this article about doing so when provisioning via TeamCity
中所建议我能够创建服务主体并将其分配给订阅的 'Owner' 角色,因此理论上它应该有权在 Azure 帐户中执行任何操作。 (稍后我会根据校长的要求调整权限。)命令基本如下:
Login-AzureRmAccount # using my Azure admin account
$azureAdApplication = New-AzureRmADApplication -DisplayName "Deploy" -HomePage "https://deploy" -IdentifierUris "https://deploy" -Password "password"
New-AzureRmADServicePrincipal -ApplicationId $azureAdApplication.ApplicationId
New-AzureRmRoleAssignment -RoleDefinitionName Owner -ServicePrincipalName $azureAdApplication.ApplicationId
$subscription = Get-AzureRmSubscription
$creds = Get-Credential
Login-AzureRmAccount -Credential $creds -ServicePrincipal -Tenant $subscription.TenantId
但是,当我 运行 一个预配资源的 Powershell 脚本时,我在创建 Key Vault 时收到以下警告:
- 权限不足,无法完成操作
- 未设置访问策略。没有用户或应用程序具有使用此保管库的访问权限。请使用 Set-AzureRmKeyVaultAccessPolicy 设置访问策略
通过我自己的管理员帐户创建 Key Vault 时,我没有收到这些警告。如何为服务主体提供足够的权限,以便能够在 Azure 订阅中创建资源而不会出现权限问题?
这是因为你创建的是服务主体而不是用户,并且正在尝试与 Azure Vault 进行交互。 (其他一切都应该按预期工作)
作为用户,您可以访问 Vault,但因为您是作为服务主体访问它的,所以它期望找到相关的访问策略。