分配 Key Vault 访问策略(旧版)
Key Vault 访问策略确定给定的安全主体(即用户、应用程序或用户组)是否可对 Key Vault 机密、密钥和证书执行不同的操作。 你可以使用 Azure 门户 分配访问策略。
Key Vault 最多支持 1024 个访问策略条目,每个条目可向特定安全主体授予一组不同的权限。 由于此限制,建议你尽可能将访问策略分配给用户组,而不是单个用户。 使用组来管理组织中多个人员的权限要轻松得多。 有关详细信息,请参阅使用 Azure Active Directory 组管理应用和资源访问
有关 Key Vault 访问控制的完整详细信息,请参阅 Azure Key Vault 安全性功能:标识和访问管理。
分配访问策略
在 Azure 门户中,导航到 Key Vault 资源。
选择“访问策略”,然后选择“创建”:
在“密钥权限”、“机密权限”和“证书权限”下选择所需要的权限。
在“主体”选择窗格下,在搜索字段中输入用户、应用或服务主体的名称,然后选择相应的结果。
如果使用的是应用的托管标识,请搜索并选择该应用本身的名称。 有关安全主体的详细信息,请参阅 Key Vault 身份验证。
查看访问策略更改,然后选择“创建”以保存访问策略。
返回“访问策略”页,验证是否已列出你的访问策略。
若要详细了解如何使用 Azure CLI 在 Microsoft Entra ID 中创建组,请参阅 az ad group create 和 az ad group member add。
若要在本地运行 Azure CLI 命令,请安装 Azure CLI。
仅限本地 CLI:使用 az login
登录到 Azure:
az cloud set -n AzureChinaCloud
az login
# az cloud set -n AzureCloud //means return to Public Azure.
az login
命令会打开浏览器窗口来收集凭据(如果需要)。
获取对象 ID
确定要为其分配访问策略的应用程序、组或用户的对象 ID:
应用程序和其他服务主体:请使用 az ad sp list 命令来检索服务主体。 请检查命令的输出,以确定要为其分配访问策略的安全主体的对象 ID。
az ad sp list --show-mine
组:请使用 az ad group list 命令,并通过 --display-name
参数筛选结果:
az ad group list --display-name <search-string>
用户:请使用 az ad user show 命令,并在 --id
参数中传递用户的电子邮件地址:
az ad user show --id <email-address-of-user>
分配访问策略
使用 az keyvault set-policy 命令来分配所需的权限:
az keyvault set-policy --name myKeyVault --object-id <object-id> --secret-permissions <secret-permissions> --key-permissions <key-permissions> --certificate-permissions <certificate-permissions>
将 <object-id>
替换为安全主体的对象 ID。
为这些特定类型分配权限时,只需包括 --secret-permissions
、--key-permissions
和 --certificate-permissions
。 az keyvault set-policy 文档中提供了 <secret-permissions>
、<key-permissions>
和 <certificate-permissions>
的允许值。
若要详细了解如何使用 Azure PowerShell 在 Microsoft Entra ID 中创建组,请参阅 New-AzADGroup 和 Add-AzADGroupMember。
若要在本地运行命令,请安装 Azure PowerShell(如果尚未这样做)。
仅限本地 PowerShell:
安装 Microsoft Entra ID PowerShell 模块。
登录 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 - 参数文档中提供。
后续步骤