你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
Azure Key Vault 是一项云服务,用作安全的机密存储。 可以安全地存储密钥、密码、证书和其他机密。 有关 Key Vault 的详细信息,可以查看 概述。 在本快速入门中,你将使用 Azure PowerShell 创建密钥保管库。 然后将机密存储在新创建的保管库中。
如果没有 Azure 订阅,请在开始之前创建一个免费帐户。
Azure Cloud Shell
Azure 托管 Azure Cloud Shell,这是一个可以通过浏览器使用的交互式 shell 环境。 可以将 Bash 或 PowerShell 与 Cloud Shell 配合使用,以使用 Azure 服务。 可以使用 Cloud Shell 预安装命令运行本文中的代码,而无需在本地环境中安装任何内容。
若要启动 Azure Cloud Shell,请执行以下操作:
| 选项 | 示例/链接 |
|---|---|
| 在代码或命令块的右上角选择“试用”。 选择“试用”不会自动将代码或命令复制到 Cloud Shell。 |
|
| 转到 https://shell.azure.com或选择 “启动 Cloud Shell ”按钮,在浏览器中打开 Cloud Shell。 |
|
| 选择 Azure 门户右上角菜单栏上的 Cloud Shell 按钮。 |
|
若要使用 Azure Cloud Shell,请执行以下操作:
启动 Cloud Shell。
选择代码块(或命令块)上的“复制”按钮以复制代码或命令。
在 Windows 和 Linux 上按下Ctrl+Shift+V,或在 macOS 上按下Cmd+Shift+V,将代码或命令粘贴到 Cloud Shell 会话中。
选择 Enter 以运行代码或命令。
如果选择在本地安装和使用 PowerShell,本教程需要 Azure PowerShell 模块 5.0.0 或更高版本。 键入 Get-InstalledModule -Name Az 以查找版本。 如果需要升级,请参阅 如何安装 Azure PowerShell。 如果在本地运行 PowerShell,则还需运行 Connect-AzAccount 来创建与 Azure 的连接。
Connect-AzAccount
创建资源组
资源组是在其中部署和管理 Azure 资源的逻辑容器。 使用 Azure PowerShell New-AzResourceGroup cmdlet 在 eastus 位置创建名为 myResourceGroup 的资源组。
New-AzResourceGroup -Name "myResourceGroup" -Location "EastUS"
创建密钥保管库
使用 Azure PowerShell New-AzKeyVault cmdlet 在上一步骤中的资源组中创建 Key Vault。 需要提供一些信息:
Key Vault 名称:由 3 到 24 个字符构成的字符串,只能包含数字 (0-9)、字母(a-z、A-Z)和连字符 (-)
重要
每个密钥保管库必须具有唯一的名称。 在以下示例中,将 <your-unique-keyvault-name> 替换为密钥保管库的名称。
资源组名称:myResourceGroup。
位置:EastUS。
New-AzKeyVault -Name "<your-unique-keyvault-name>" -ResourceGroupName "myResourceGroup" -Location "EastUS"
此 cmdlet 的输出显示新创建的密钥保管库的属性。 记下以下两个属性:
- 保管库名称:提供给 -Name 参数的名称。
- 保管库 URI:在此示例中,此 URI 为 https://<your-unique-keyvault-name>.vault.azure.net/。 通过其 REST API 使用保管库的应用程序必须使用此 URI。
此时,您的 Azure 帐户是唯一被授权对此新保管库执行任何操作的帐户。
向用户帐户授予管理 Key Vault 中的机密的权限
若要通过 Role-Based 访问控制(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 的 Key Vault 中创建机密,其值 为 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 并存储和检索了机密。
清理资源
本系列中的其他快速入门和教程是在本快速入门的基础上制作的。 如果打算继续使用其他快速入门和教程,可能需要保留这些资源。
不再需要时,可以使用 Remove-AzResourceGroup 命令删除资源组、Key Vault 和所有相关资源。
Remove-AzResourceGroup -Name myResourceGroup
后续步骤
在本快速入门中,你创建了 Key Vault 并存储了机密。 若要详细了解 Key Vault 以及如何将其与应用程序集成,请继续阅读以下文章。
- 阅读 Azure Key Vault 概述
- 了解如何在密钥保管库中存储多行机密
- 请参阅 Azure PowerShell Key Vault 命令的相关参考资料
- 请参阅 Key Vault 安全性概述