快速入门:使用 Azure PowerShell 在 Azure Key Vault 中设置和检索密钥
在本快速入门中,你将使用 Azure PowerShell 在 Azure Key Vault 中创建一个密钥保管库。 Azure Key Vault 是一项云服务,用作安全的机密存储。 可以安全地存储密钥、密码、证书和其他机密。 有关 Key Vault 的详细信息,请参阅概述。 Azure PowerShell 用于通过命令或脚本创建和管理 Azure 资源。 完成该操作后,你将存储密钥。
先决条件
如果没有 Azure 订阅,请在开始前创建一个试用版订阅。
- 如果选择在本地使用 Azure PowerShell:
- 安装最新版本的 Az PowerShell 模块。
- 使用 Connect-AzAccount cmdlet 连接到 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 以及如何将其与应用程序集成,请继续阅读以下文章。