使用 Azure PowerShell 分配 Key Vault 访问策略

Key Vault 访问策略确定给定的安全主体(即用户、应用程序或用户组)是否可以对 Key Vault 机密密钥证书执行不同的作。 可以使用 Azure 门户或 Azure PowerShell 分配访问策略(本文)。

Key Vault 最多支持 1024 个访问策略条目,每个条目都向特定安全主体授予一组不同的权限。 由于此限制,我们建议尽可能将访问策略分配给用户组,而不是单个用户。 使用组可以更轻松地管理组织中多个人员的权限。 有关详细信息,请参阅 使用 Azure Active Directory 组管理应用和资源访问

有关 Key Vault 访问控制的完整详细信息,请参阅 Azure Key Vault 安全功能:标识和访问管理

有关使用 Azure PowerShell 在 Microsoft Entra ID 中创建组的详细信息,请参阅 New-AzureADGroupAdd-AzADGroupMember

配置 PowerShell 和登录

  1. 若要在本地运行命令,请安装 Azure PowerShell (如果尚未安装)。

  2. 仅限本地 PowerShell:

    1. 安装 Microsoft Entra ID PowerShell 模块

    2. 登录到 Azure:

      Connect-AzAccount -Environment AzureChinaCloud
      

获取对象 ID

确定要向其分配访问策略的应用程序、组或用户的对象 ID:

  • 应用程序和其他服务主体:将 Get-AzADServicePrincipal cmdlet 与参数结合使用 -SearchString ,将结果筛选为所需服务主体的名称:

    Get-AzADServicePrincipal -SearchString <search-string>
    
  • 组:将 Get-AzADGroup cmdlet 与参数配合使用 -SearchString ,将结果筛选为所需组的名称:

    Get-AzADGroup -SearchString <search-string>
    

    在输出中,对象 ID 列为 Id

  • 用户:使用 Get-AzADUser cmdlet,将用户的电子邮件地址传递给 -UserPrincipalName 参数。

     Get-AzAdUser -UserPrincipalName <email-address-of-user>
    

    在输出中,对象 ID 列为 Id

分配访问策略

使用 Set-AzKeyVaultAccessPolicy cmdlet 分配访问策略:

Set-AzKeyVaultAccessPolicy -VaultName <key-vault-name> -ObjectId <Id> -PermissionsToSecrets <secrets-permissions> -PermissionsToKeys <keys-permissions> -PermissionsToCertificates <certificate-permissions    

只需包括 -PermissionsToSecrets-PermissionsToKeys分配 -PermissionsToCertificates 对这些特定类型的权限时。 Set-AzKeyVaultAccessPolicy - 参数文档中提供了允许的值<secret-permissions><certificate-permissions><key-permissions>

后续步骤