【发布时间】:2016-02-11 02:12:17
【问题描述】:
按照this article about doing so when provisioning via TeamCity 中的建议,我想使用服务主体帐户来运行创建 Azure 资源的 Powershell 脚本
我能够创建服务主体并为其分配订阅的“所有者”角色,因此理论上它应该有权在 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 continuous-integration teamcity