【问题标题】:azure key vault permisionsazure 密钥保管库权限
【发布时间】:2018-06-06 14:50:44
【问题描述】:

在密钥保管库中设置备份管理服务 (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 权限的情况下运行相同的代码时,我们能够成功运行命令,如下面的屏幕截图所示。

您能否确认一下,使用Set-AzureRmKeyVaultAccessPolicy 命令是否需要Windows Azure Active Directory 权限?

【问题讨论】:

    标签: azure azure-keyvault


    【解决方案1】:

    Key Vault 访问策略基于 AAD 对象 ID。调用 Set-AzureRmKeyVaultAccessPolicy 并指定 ServicePrincipal 或 ObjectId 以外的任何内容时,cmdlet 需要通过直接查询 AAD 将 ServicePrincipal 转换为 AAD 对象 ID。这是在使用更新后的策略调用 Key Vault 之前完成的。

    为避免需要 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。

    【讨论】:

      猜你喜欢
      • 2017-01-05
      • 2016-10-13
      • 2021-04-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多