快速入门:使用 Azure PowerShell 在 Azure Key Vault 中设置和检索密钥

在本快速入门中,你将使用 Azure PowerShell 在 Azure Key Vault 中创建一个密钥保管库。 Azure Key Vault 是一项云服务,用作安全的机密存储。 可以安全地存储密钥、密码、证书和其他机密。 有关 Key Vault 的详细信息,请参阅概述。 Azure PowerShell 用于通过命令或脚本创建和管理 Azure 资源。 完成该操作后,你将存储密钥。

先决条件

如果没有 Azure 订阅,请在开始前创建一个试用版订阅

创建资源组

资源组是在其中部署和管理 Azure 资源的逻辑容器。 使用 Azure PowerShell New-AzResourceGroup cmdlet 在 chinaeast 位置创建一个名为“myResourceGroup”的资源组。

New-AzResourceGroup -Name "myResourceGroup" -Location "ChinaEast"

创建密钥保管库

使用 Azure PowerShell New-AzKeyVault cmdlet 在上一步骤的资源组中创建 Key Vault。 你需要提供某些信息:

  • Key Vault 名称:由 3 到 24 个字符构成的字符串,只能包含数字 (0-9)、字母(a-z、A-Z)和连字符 (-)

    重要

    每个密钥保管库必须具有唯一的名称。 在以下示例中,将 <your-unique-keyvault-name> 替换为密钥保管库的名称。

  • 资源组名称:myResourceGroup

  • 位置:ChinaEast

New-AzKeyVault -Name "<your-unique-keyvault-name>" -ResourceGroupName "myResourceGroup" -Location "ChinaEast"

此 cmdlet 的输出显示新创建的密钥保管库的属性。 记下以下两个属性:

  • 保管库名称:为 -Name 参数提供的名称
  • 保管库 URI:在示例中,此 URI 为 https://<your-unique-keyvault-name>.vault.azure.cn/。 通过其 REST API 使用保管库的应用程序必须使用此 URI。

目前,只有你的 Azure 帐户才有权对这个新保管库执行任何操作。

向用户帐户授予管理 Key Vault 中的密钥的权限

若要通过基于角色的访问控制 (RBAC) 授予对密钥保管库的权限,请使用 Azure PowerShell cmdlet New-AzRoleAssignment 将角色分配给你的“用户主体名称”(UPN)。

New-AzRoleAssignment -SignInName "<upn>" -RoleDefinitionName "Key Vault Crypto Officer" -Scope "/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.KeyVault/vaults/<your-unique-keyvault-name>"

请将 <upn>、<subscription-id>、<resource-group-name> 和 <your-unique-keyvault-name> 替换为你的实际值。 你的 UPN 通常采用电子邮件地址格式(例如 username@domain.com)。

向 Key Vault 添加密钥

只需再执行几个步骤便可向保管库中添加密钥。 此密钥可供应用程序使用。

键入以下命令,创建名为 ExampleKey 的密钥:

Add-AzKeyVaultKey -VaultName "<your-unique-keyvault-name>" -Name "ExampleKey" -Destination "Software"

现在,可以通过 URI 来引用已添加到 Azure Key Vault 的此密钥。 使用 https://<your-unique-keyvault-name>.vault.azure.cn/keys/ExampleKey 获取当前版本。

若要查看以前存储的密钥,请使用以下命令:

Get-AzKeyVaultKey -VaultName "<your-unique-keyvault-name>" -KeyName "ExampleKey"

现在,你已创建了一个 Key Vault,存储了一个密钥并检索了该密钥。

清理资源

本系列中的其他快速入门和教程是在本快速入门的基础上制作的。 如果打算继续使用其他快速入门和教程,则可能需要保留这些资源。

如果不再需要资源组及所有相关资源,可使用 Azure PowerShell Remove-AzResourceGroup cmdlet 将其删除。

Remove-AzResourceGroup -Name "myResourceGroup"

后续步骤

在本快速入门中,你创建了一个密钥保管库并在其中存储了一个证书。 若要详细了解 Key Vault 以及如何将其与应用程序集成,请继续阅读以下文章。