我们在密钥库中设置备份管理服务(262044b1-e2ce-469f-a196-69ab7ada62d3)的权限时遇到问题。
我们正在具有服务主体的自动化帐户中运行以下代码,该主体无权访问Windows Azure目录和Microsoft图形。
Set-AzureRmKeyVaultAccessPolicy -VaultName MAHSEN-KEY-00010-DEV -ResourceGroupName MAHSBC-RGP-DEV-ARM-TEMPLATE-008 -AzureRmContext $context -PermissionsToSecrets backup,get,list -ServicePrincipalName 262044b1-e2ce-469f-a196-69ab7ada62d3 我们得到错误消息“权限不足,无法完成操作”。
当我们运行相同的代码,其中自动化帐户有权使用“读取目录数据”权限访问Windows Azure Active Directory时,我们能够成功运行命令,如下面的屏幕截图所示。
请确认是否需要Windows Azure Active Directory权限才能使用Set-AzureRmKeyVaultAccessPolicy命令?


发布于 2018-06-06 13:11:30
重要的Vault访问策略基于AAD对象ID。当调用Set-AzureRmKeyVaultAccessPolicy并指定ServicePrincipal或ObjectId以外的任何值时,cmdlet需要通过直接查询AAD将ServicePrincipal转换为AAD对象ID。这是在使用更新的策略调用密钥库之前完成的。
为了避免需要AAD查询,请提前查找服务主体的对象ID。然后将对象ID传递给'ObjectId‘参数。还应传递'BypassObjectIdValidation‘参数,以指示cmdlet不应尝试使用AAD验证ObjectID参数的值,
您可以通过在AAD中以具有查询权限的用户身份登录,运行以下命令来查找服务主体的对象ID。
Get-AzureRmADServicePrincipal -ServicePrincipalName 262044b1-e2ce-469f-a196-69ab7ada62d3在Set-AzureRmKeyVaultAccessPolicy命令中使用返回的'Id:‘字段,如下所示:
Set-AzureRmKeyVaultAccessPolicy -VaultName VNAME -ResourceGroupName RGROUP -AzureRmContext $context -PermissionsToSecrets backup,get,list -ObjectID 00000000-0000-0000-0000-000000000000 -BypassObjectIdValidation其中00000000-0000-0000-0000-000000000000应替换为您的服务主体的实际对象ID。
https://stackoverflow.com/questions/50712298
复制相似问题