使用 Azure PowerShell 为虚拟机设置 Key Vault

适用于:✔️ Linux VM ✔️ Windows VM

注意

Azure 提供两种不同的部署模型用于创建和处理资源:Azure 资源管理器模型和经典模型。 本文介绍了资源管理器部署模型的使用。 对于新部署,建议使用资源管理器部署模型而非经典部署模型。

在 Azure Resource Manager 堆栈中,密码/证书被建模为密钥保管库资源提供程序所提供的资源。 若要了解有关 Key Vault 的详细信息,请参阅什么是 Azure Key Vault?

注意

  1. 为了让密钥保管库能与 Azure Resource Manager 虚拟机搭配使用,必须将密钥保管库上的 EnabledForDeployment 属性设置为 true。 可以在各种客户端中执行此操作。
  2. 需要在与虚拟机相同的订阅和位置中创建 Key Vault。

使用 PowerShell 设置密钥保管库

若要使用 PowerShell 创建密钥保管库,请参阅使用 PowerShell 在 Azure 密钥保管库中设置和检索机密

对于新的密钥保管库,可以使用此 PowerShell cmdlet:

New-AzKeyVault -VaultName 'ContosoKeyVault' -ResourceGroupName 'ContosoResourceGroup' -Location 'China East' -EnabledForDeployment

对于现有的密钥保管库,可以使用此 PowerShell cmdlet:

Set-AzKeyVaultAccessPolicy -VaultName 'ContosoKeyVault' -EnabledForDeployment

使用 CLI 设置密钥保管库

若要使用命令行接口 (CLI) 创建密钥保管库,请参阅使用 CLI 管理密钥保管库

使用 CLI 时,必须先创建密钥保管库,然后分配部署策略。 可以使用以下命令来执行此操作:

az keyvault create --name "ContosoKeyVault" --resource-group "ContosoResourceGroup" --location "ChinaEast"

然后,要启用密钥保管库以用于模板部署,请运行以下命令:

az keyvault update --name "ContosoKeyVault" --resource-group "ContosoResourceGroup" --enabled-for-deployment "true"

使用模板设置密钥保管库

使用模板时,必须将 Key Vault 资源的 enabledForDeployment 属性设置为 true

{
  "type": "Microsoft.KeyVault/vaults",
  "name": "ContosoKeyVault",
  "apiVersion": "2015-06-01",
  "location": "<location-of-key-vault>",
  "properties": {
    "enabledForDeployment": "true",
    ....
    ....
  }
}

有关使用模板创建密钥保管库时可以配置的其他选项,请参阅 Create a key vault(创建密钥保管库)。

注意

必须修改从 GitHub 存储库“azure-quickstart-templates”下载或参考的模板,以适应 Azure 中国云环境。 例如,替换某些终结点(将“blob.core.windows.net”替换为“blob.core.chinacloudapi.cn”,将“cloudapp.azure.com”替换为“chinacloudapp.cn”);必要时更改某些不受支持的位置、VM 映像、VM 大小、SKU 以及资源提供程序的 API 版本。