我使用带有证书的服务原则登录到azure powershell,如下所示:
Add-AzureRmAccount -ServicePrincipal -CertificateThumbprint $thumbprint -ApplicationId $applicationid -TenantId $tenant
然后我试图得到一个天蓝色的秘密:
$b = Get-AzureKeyVaultSecret -VaultName $keyVaultName -Name 'AccountKey'
但是我收到了一个错误:
"获得"不允许
我以为我提供了读取权限,如下所示:
New-AzureRmRoleAssignment -RoleDefinitionName Reader -ServicePrincipalName $azureAdApplication.ApplicationId.Guid
有什么建议吗?
答案 0 :(得分:1)
您没有正确的访问策略,请使用Set-AzureRmKeyVaultAccessPolicy授予对服务原理的访问权限:
Set-AzureRmKeyVaultAccessPolicy -VaultName 'Contoso03Vault' -ServicePrincipalName 'http://payroll.contoso.com' -PermissionsToSecrets Get