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

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-Module az -ListAvailable 即可查找版本。 如果需要进行升级,请参阅 Install Azure PowerShell module(安装 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)和连字符 (-)

    重要

    每个密钥保管库必须具有唯一的名称。 在以下示例中,替换为密钥保管库的名称。

  • 资源组名称:myResourceGroup。

  • 位置:中国北部。

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

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

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

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

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

使用 Azure PowerShell Set-AzKeyVaultAccessPolicy cmdlet 来更新 Key Vault 访问策略并向用户帐户授予机密权限。

Set-AzKeyVaultAccessPolicy -VaultName "<your-unique-keyvault-name>" -UserPrincipalName "user@domain.com" -PermissionsToSecrets get,set,delete

向 Key Vault 添加机密

只需执行几个步骤即可向保管库添加机密。 在此示例中,请添加可供应用程序使用的密码。 此密码名为 ExamplePassword,其中存储的值为 hVFkk965BuUv

先键入以下内容,将 hVFkk965BuUv 值转换成安全字符串:

$secretvalue = ConvertTo-SecureString "hVFkk965BuUv" -AsPlainText -Force

然后,使用 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 以及如何将其与应用程序集成,请继续阅读以下文章。