Azure Key Vault 是一项云服务,用作安全的机密存储。 可以安全地存储密钥、密码、证书和其他机密。 有关 Key Vault 的详细信息,可以参阅概述。 在本快速入门中,请使用 PowerShell 创建一个密钥保管库, 然后即可在新创建的保管库中存储机密。
如果没有 Azure 订阅,请在开始前创建一个试用版订阅。
注意
在可以在由世纪互联运营的 Microsoft Azure 中使用 Azure CLI 之前,请先运行 az cloud set -n AzureChinaCloud
来更改云环境。 若要切换回 Azure 公有云,请再次运行 az cloud set -n AzureCloud
。
如果选择在本地安装并使用 PowerShell,则本教程需要 Azure PowerShell 模块 5.0.0 版或更高版本。 键入 Get-InstalledModule -Name Az
即可查找版本。 如果需要进行升级,请参阅如何安装 Azure PowerShell。 如果在本地运行 PowerShell,则还需运行 Connect-AzAccount -Environment AzureChinaCloud
来创建与 Azure 的连接。
Connect-AzAccount -Environment AzureChinaCloud
创建资源组
资源组是在其中部署和管理 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 Secrets 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 添加机密
只需执行几个步骤即可向保管库添加机密。 在此示例中,请添加可供应用程序使用的密码。 此密码名为 ExamplePassword,其中存储的值为 hVFkk965BuUv。
首先,运行以下命令,然后在系统提示将其转换为安全字符串时输入值 hVFkk965BuUv:
$secretvalue = Read-Host -Prompt 'Enter the example password' -AsSecureString
然后,使用 Azure PowerShell Set-AzKeyVaultSecret cmdlet 在密钥保管库中创建一个机密,名为 ExamplePassword,且值为 hVFkk965BuUv:
$secret = Set-AzKeyVaultSecret -VaultName "<your-unique-keyvault-name>" -Name "ExamplePassword" -SecretValue $secretvalue
从 Key Vault 检索机密
若要以纯文本格式查看机密中包含的值,请使用 Azure PowerShell Get-AzKeyVaultSecret cmdlet:
$secret = Get-AzKeyVaultSecret -VaultName "<your-unique-keyvault-name>" -Name "ExamplePassword" -AsPlainText
现在,你已创建 Key Vault 并存储和检索了机密。
清理资源
本系列中的其他快速入门和教程是在本快速入门的基础上制作的。 如果打算继续使用其他快速入门和教程,则可能需要保留这些资源。
如果不再需要资源组、Key Vault 和所有相关的资源,可以使用 Remove-AzResourceGroup 命令将其删除。
Remove-AzResourceGroup -Name myResourceGroup
后续步骤
在本快速入门中,创建了 Key Vault 并在其中存储了一个机密。 若要详细了解 Key Vault 以及如何将其与应用程序集成,请继续阅读以下文章。
- 阅读 Azure Key Vault 概述
- 了解如何在密钥保管库中存储多行机密
- 请参阅 Azure PowerShell Key Vault cmdlet 参考
- 请参阅 Key Vault 安全性概述