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

Azure Key Vault 是一项云服务,用作安全的机密存储。 可以安全地存储密钥、密码、证书和其他机密。 有关 Key Vault 的详细信息,可以参阅概述。 在本快速入门中,请使用 PowerShell 创建一个密钥保管库, 然后即可在新创建的保管库中存储机密。

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

注意

请先运行 az cloud set -n AzureChinaCloud 更改云环境,然后才能在 Azure 中国世纪互联中使用 Azure CLI。 若要切换回 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 "ChinaNorth"

创建密钥保管库

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