Share via


Een Azure-sleutelkluis- en kluistoegangsbeleid maken met behulp van een Resource Manager-sjabloon

Azure Key Vault is een cloudservice die een veilig archief biedt voor geheimen, zoals sleutels, wachtwoorden en certificaten. In dit artikel wordt het proces beschreven voor het implementeren van een Azure Resource Manager-sjabloon (ARM-sjabloon) om een sleutelkluis te maken.

Een Azure Resource Manager-sjabloon is een JSON-bestand (JavaScript Object Notation) dat de infrastructuur en configuratie voor uw project definieert. Voor de sjabloon is declaratieve syntaxis vereist. U beschrijft de beoogde implementatie zonder de reeks programmeeropdrachten te schrijven om de implementatie te maken.

Vereisten

Ga als volgt te werk om de stappen in dit artikel uit te voeren:

Een Key Vault Resource Manager-sjabloon maken

In de volgende sjabloon ziet u een eenvoudige manier om een sleutelkluis te maken. Sommige waarden worden opgegeven in de sjabloon.

{
  "$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": "2019-09-01",
      "name": "[parameters('keyVaultName')]",
      "location": "[resourceGroup().location]",
      "properties": {
        "enabledForDeployment": "false",
        "enabledForDiskEncryption": "false",
        "enabledForTemplateDeployment": "false",
        "tenantId": "[subscription().tenantId]",
        "accessPolicies": [],
        "sku": {
          "name": "[parameters('skuName')]",
          "family": "A"
        },
        "networkAcls": {
          "defaultAction": "Allow",
          "bypass": "AzureServices"
        }
      }
    }
  ]
}

Zie de naslaginformatie over Arm-sjablonen voor Key Vault voor meer informatie over key vault-sjablooninstellingen.

Belangrijk

Als een sjabloon opnieuw wordt geïmplementeerd, worden bestaande toegangsbeleidsregels in de sleutelkluis overschreven. U wordt aangeraden de accessPolicies eigenschap te vullen met bestaand toegangsbeleid om te voorkomen dat de toegang tot de sleutelkluis verloren gaat.

Een toegangsbeleid toevoegen aan een Key Vault Resource Manager-sjabloon

U kunt toegangsbeleid implementeren in een bestaande sleutelkluis zonder de volledige sleutelkluissjabloon opnieuw te implementeren. In de volgende sjabloon ziet u een eenvoudige manier om toegangsbeleid te maken:

{
  "$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."
      }
    },
    "objectId": {
      "type": "string",
      "metadata": {
        "description": "Specifies the object ID of a user, service principal or security group in the Azure Active Directory tenant for the vault. The object ID must be unique for the list of access policies. Get it by using Get-AzADUser or Get-AzADServicePrincipal cmdlets."
      }
    },
    "keysPermissions": {
      "type": "array",
      "defaultValue": [
        "list"
      ],
      "metadata": {
        "description": "Specifies the permissions to keys in the vault. Valid values are: all, encrypt, decrypt, wrapKey, unwrapKey, sign, verify, get, list, create, update, import, delete, backup, restore, recover, and purge."
      }
    },
    "secretsPermissions": {
      "type": "array",
      "defaultValue": [
        "list"
      ],
      "metadata": {
        "description": "Specifies the permissions to secrets in the vault. Valid values are: all, get, list, set, delete, backup, restore, recover, and purge."
      }
    },
    "certificatePermissions": {
      "type": "array",
      "defaultValue": [
        "list"
      ],
      "metadata": {
        "description": "Specifies the permissions to certificates in the vault. Valid values are: all,  create, delete, update, deleteissuers, get, getissuers, import, list, listissuers, managecontacts, manageissuers,  recover, backup, restore, setissuers, and purge."
      }
    }
  },
  "resources": [
     {
      "type": "Microsoft.KeyVault/vaults/accessPolicies",
      "name": "[concat(parameters('keyVaultName'), '/add')]",
      "apiVersion": "2019-09-01",
      "properties": {
        "accessPolicies": [
          {
            "tenantId": "[subscription().tenantId]",
            "objectId": "[parameters('objectId')]",
            "permissions": {
              "keys": "[parameters('keysPermissions')]",
              "secrets": "[parameters('secretsPermissions')]",
              "certificates": "[parameters('certificatePermissions')]"
            }
          }
        ]
      }
    }
  ]
}

Zie de naslaginformatie over Arm-sjablonen voor Key Vault voor meer informatie over key vault-sjablooninstellingen.

Meer Key Vault Resource Manager-sjablonen

Er zijn andere Resource Manager-sjablonen beschikbaar voor Key Vault-objecten:

Geheimen Toetsen Certificaten
N.v.t. N.v.t.

Meer Key Vault-sjablonen vindt u hier: Naslaginformatie over Key Vault Resource Manager.

De sjablonen implementeren

U kunt Azure Portal gebruiken om de voorgaande sjablonen te implementeren met behulp van de optie Uw eigen sjabloon bouwen in editor , zoals hier wordt beschreven: Resources implementeren vanuit een aangepaste sjabloon.

U kunt de voorgaande sjablonen ook opslaan in bestanden en deze opdrachten gebruiken: New-AzResourceGroupDeployment en az 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

Resources opschonen

Als u van plan bent om door te gaan met volgende quickstarts en zelfstudies, kunt u deze resources behouden. Als u de resources niet meer nodig hebt, verwijdert u de resourcegroep. Als u de groep verwijdert, worden de sleutelkluis en gerelateerde resources ook verwijderd. Voer de volgende stappen uit om de resourcegroep te verwijderen met behulp van de Azure CLI of Azure PowerShell:

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

Resources

Volgende stappen