我想使用服务主体帐户来运行创建Azure资源的Powershell脚本,如this article about doing so when provisioning via TeamCity
中所述我能够创建服务主体并在订阅上为其分配“所有者”角色,因此理论上它应该有权在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脚本时,在创建密钥保管库时会收到以下警告:
通过我自己的管理员帐户创建密钥保管库时,我不会收到这些警告。如何为服务主体提供足够的权限,以便能够在Azure订阅中创建资源而不会出现权限问题?
答案 0 :(得分:1)
这是因为您已创建服务主体而非用户,并且正在尝试与Azure Vault进行交互。 (其他一切应该按预期工作)
作为用户,您可以访问Vault,但由于您作为服务主体访问它,因此期望找到相关的访问策略。