【发布时间】:2018-06-12 00:46:22
【问题描述】:
我们在尝试在 KeyVault 上添加访问策略以提供对自动化帐户服务主体上的机密的权限时遇到问题。我们正在使用以下 cmdlet:
Set-AzureRmKeyVaultAccessPolicy -VaultName "KeyVaultName" -ApplicationId "0aaa8314-872d-41ef-a75e-d3a5ec5b31e6" -ObjectId "443d03a7-6b76-47d1-9406-8fb87c17bbc3" -PermissionsToSecrets recover,delete,backup,set,restore,list,get
当 cmdlet 执行时,我们会在门户中看到类似的内容。请注意看起来像用户的图标。
尽管在访问策略中看到了这一点,但在尝试访问 keyvault 时,自动化帐户的 Runbook 仍然失败并出现“禁止”错误:
Get-AzureKeyVaultSecret : Operation returned an invalid status code 'Forbidden'
At C:\Modules\User\CustomModule.psm1:28 char:22
+ ... clientID = (Get-AzureKeyVaultSecret -VaultName $global:ManagementKeyV ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : CloseError: (:) [Get-AzureKeyVaultSecret], KeyVaultErrorException
+ FullyQualifiedErrorId : Microsoft.Azure.Commands.KeyVault.GetAzureKeyVaultSecret
尝试使用以下 cmdlet 以多种方式为自动化帐户服务主体提供对 keyvault 的访问,但仍然得到相同的结果。
Set-AzureRmKeyVaultAccessPolicy -VaultName "KeyVaultName" -ObjectId "443d03a7-6b76-47d1-9406-8fb87c17bbc3" -PermissionsToSecrets recover,delete,backup,set,restore,list,get -BypassObjectIdValidation
Set-AzureRmKeyVaultAccessPolicy -VaultName "KeyVaultName" -ServicePrincipalName ((Get-AzureRmADServicePrincipal -ApplicationId "0aaa8314-872d-41ef-a75e-d3a5ec5b31e6").ServicePrincipalNames[0]) -PermissionsToSecrets recover,delete,backup,set,restore,list,get
但是,在从门户手动添加相同的服务主体后,我们会看到相同服务主体的不同图标。
有人可以帮忙吗?我做错了吗?
非常感谢!
【问题讨论】:
标签: azure-powershell azure-keyvault azure-automation