如何使用Resource Manager模板创建Azure key vault

Azure Key Vault是一项云服务,为密钥、密码和证书等机密提供安全存储。 本文介绍部署Azure Resource Manager模板(ARM 模板)以创建key vault的过程。

重要

Azure RBAC 是建议用于Azure Key Vault的授权模型。 有关详细信息,请参阅 Azure RBAC for Key Vault。 旧版access策略模型具有已知的安全漏洞,不应用于新部署。

Azure Resource Manager 模板是一个 JavaScript 对象表示法(JSON)文件,用于定义project的基础结构和配置。 模板使用声明性语法。 你可以在不编写用于创建部署的编程命令序列的情况下,描述预期部署。

先决条件

完成本文中的步骤:

  • 如果没有 Azure 订阅,请在开始之前创建 试用订阅

创建Key Vault Resource Manager模板

以下模板显示了创建密钥保管库的基本方法。 某些值在模板中指定。

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "keyVaultName": {
      "type": "string",
      "metadata": {
        "description": "Specifies the name of the key vault."
      }
    },
    "skuName": {
      "type": "string",
      "defaultValue": "Standard",
      "allowedValues": [
        "Standard",
        "Premium"
      ],
      "metadata": {
        "description": "Specifies whether the key vault is a standard vault or a premium vault."
      }
    }
   },
  "resources": [
    {
      "type": "Microsoft.KeyVault/vaults",
      "apiVersion": "2023-07-01",
      "name": "[parameters('keyVaultName')]",
      "location": "[resourceGroup().location]",
      "properties": {
        "enabledForDeployment": false,
        "enabledForDiskEncryption": false,
        "enabledForTemplateDeployment": false,
        "tenantId": "[subscription().tenantId]",
        "enableRbacAuthorization": true,
        "enableSoftDelete": true,
        "softDeleteRetentionInDays": 90,
        "enablePurgeProtection": true,
        "sku": {
          "name": "[parameters('skuName')]",
          "family": "A"
        },
        "networkAcls": {
          "defaultAction": "Deny",
          "bypass": "AzureServices"
        }
      }
    }
  ]
}

有关Key Vault模板设置的详细信息,请参阅 Key Vault ARM 模板参考

注释

此模板使用 Azure RBAC 进行授权,这是建议的方法。 若要授予对 Key Vault 数据的访问权限,请将 Azure RBAC 角色(如 Key Vault 机密管理员或 Key Vault 加密管理员)分配给用户、组或服务主体。 有关详细信息,请参阅 Azure RBAC for Key Vault

如果您需要改用传统的访问策略,请参阅 分配 Key Vault 访问策略。 请注意,旧版access策略模型存在已知的安全漏洞,并且缺乏对Privileged Identity Management(PIM)的支持。

更多Key Vault Resource Manager模板

有其他Resource Manager模板可用于Key Vault对象:

机密 证书
空值 空值

可在此处找到更多 Key Vault 模板:Key Vault Resource Manager 参考文档

部署模板

可以使用 Azure portal 的在编辑器中生成自己的模板选项来部署上述模板,方法如:从自定义模板部署资源

还可以将上述模板保存到文件,并使用以下命令:New-AzResourceGroupDeploymentaz deployment group create

New-AzResourceGroupDeployment -ResourceGroupName ExampleGroup -TemplateFile key-vault-template.json
az deployment group create --resource-group ExampleGroup --template-file key-vault-template.json

清理资源

如果打算继续使用后续的快速入门和教程,则可以将这些资源保留在原处。 当不再需要资源时,请删除资源组。 如果删除该组,将同时删除密钥保管库和相关资源。 若要使用Azure CLI或Azure PowerShell删除资源组,请完成以下步骤:

echo "Enter the Resource Group name:" &&
read resourceGroupName &&
az group delete --name $resourceGroupName &&
echo "Press [ENTER] to continue ..."

资源

后续步骤