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

Key Vault 访问策略确定给定的安全主体(即用户、应用程序或用户组)是否可对 Key Vault 机密密钥证书执行不同的操作。 可以使用 Azure 门户Azure CLI 或 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:

  • 应用程序和其他服务主体:使用带有 -SearchString 参数的 Get-AzADServicePrincipal cmdlet 根据所需服务主体的名称筛选结果:

    Get-AzADServicePrincipal -SearchString <search-string>
    
  • 组:使用带有 -SearchString 参数的 Get-AzADGroup cmdlet 根据所需组的名称筛选结果:

    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<secret-permissions><key-permissions><certificate-permissions> 的允许值在 Set-AzKeyVaultAccessPolicy - 参数文档中提供。

后续步骤