Schnellstart: Erstellen eines Azure Key Vault mithilfe der ARM-Vorlage

Azure Key Vault ist ein Clouddienst, der einen sicheren Speicher für geheime Schlüssel bereitstellt, z. B. Schlüssel, Kennwörter und Zertifikate. In dieser Schnellstartanleitung geht es um die Bereitstellung einer Azure Resource Manager-Vorlage (ARM-Vorlage) zum Erstellen eines Schlüsseltresors.

Eine Azure Resource Manager-Vorlage ist eine JSON (JavaScript Object Notation)-Datei, welche die Infrastruktur und die Konfiguration für Ihr Projekt definiert. Die Vorlage verwendet eine deklarative Syntax. Sie beschreiben Ihre geplante Bereitstellung, ohne die Abfolge der Programmierbefehle zu schreiben, mit denen die Bereitstellung erstellt wird.

Wenn Ihre Umgebung die Voraussetzungen erfüllt und Sie mit der Verwendung von ARM-Vorlagen vertraut sind, wählen Sie die Schaltfläche Deploy to Azure aus. Die Vorlage wird im Azure-Portal geöffnet.

Schaltfläche zum Bereitstellen der Resource Manager-Vorlage in Azure.

Voraussetzungen

Gehen Sie wie folgt vor, um diesen Artikel abzuschließen:

  • Wenn Sie noch kein Azure-Abonnement haben, erstellen Sie ein kostenloses Konto, bevor Sie beginnen.

Überprüfen der Vorlage

Die in dieser Schnellstartanleitung verwendete Vorlage stammt von der Seite mit den Azure-Schnellstartvorlagen.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "metadata": {
    "_generator": {
      "name": "bicep",
      "version": "0.42.1.51946",
      "templateHash": "5424899472990749957"
    }
  },
  "parameters": {
    "keyVaultName": {
      "type": "string",
      "metadata": {
        "description": "Specifies the name of the key vault."
      }
    },
    "location": {
      "type": "string",
      "defaultValue": "[resourceGroup().location]",
      "metadata": {
        "description": "Specifies the Azure location where the key vault should be created."
      }
    },
    "enabledForDeployment": {
      "type": "bool",
      "defaultValue": false,
      "metadata": {
        "description": "Specifies whether Azure Virtual Machines are permitted to retrieve certificates stored as secrets from the key vault."
      }
    },
    "enabledForDiskEncryption": {
      "type": "bool",
      "defaultValue": false,
      "metadata": {
        "description": "Specifies whether Azure Disk Encryption is permitted to retrieve secrets from the vault and unwrap keys."
      }
    },
    "enabledForTemplateDeployment": {
      "type": "bool",
      "defaultValue": false,
      "metadata": {
        "description": "Specifies whether Azure Resource Manager is permitted to retrieve secrets from the key vault."
      }
    },
    "tenantId": {
      "type": "string",
      "defaultValue": "[subscription().tenantId]",
      "metadata": {
        "description": "Specifies the Azure Active Directory tenant ID that should be used for authenticating requests to the key vault. Get it by using Get-AzSubscription cmdlet."
      }
    },
    "skuName": {
      "type": "string",
      "defaultValue": "standard",
      "allowedValues": [
        "standard",
        "premium"
      ],
      "metadata": {
        "description": "Specifies whether the key vault is a standard vault or a premium vault."
      }
    },
    "secretName": {
      "type": "string",
      "metadata": {
        "description": "Specifies the name of the secret that you want to create."
      }
    },
    "secretValue": {
      "type": "securestring",
      "metadata": {
        "description": "Specifies the value of the secret that you want to create."
      }
    }
  },
  "resources": [
    {
      "type": "Microsoft.KeyVault/vaults",
      "apiVersion": "2023-07-01",
      "name": "[parameters('keyVaultName')]",
      "location": "[parameters('location')]",
      "properties": {
        "enabledForDeployment": "[parameters('enabledForDeployment')]",
        "enabledForDiskEncryption": "[parameters('enabledForDiskEncryption')]",
        "enabledForTemplateDeployment": "[parameters('enabledForTemplateDeployment')]",
        "enableRbacAuthorization": true,
        "tenantId": "[parameters('tenantId')]",
        "enableSoftDelete": true,
        "softDeleteRetentionInDays": 90,
        "enablePurgeProtection": true,
        "sku": {
          "name": "[parameters('skuName')]",
          "family": "A"
        },
        "networkAcls": {
          "defaultAction": "Allow",
          "bypass": "AzureServices"
        }
      }
    },
    {
      "type": "Microsoft.KeyVault/vaults/secrets",
      "apiVersion": "2023-07-01",
      "name": "[format('{0}/{1}', parameters('keyVaultName'), parameters('secretName'))]",
      "properties": {
        "value": "[parameters('secretValue')]"
      },
      "dependsOn": [
        "[resourceId('Microsoft.KeyVault/vaults', parameters('keyVaultName'))]"
      ]
    }
  ],
  "outputs": {
    "location": {
      "type": "string",
      "value": "[parameters('location')]"
    },
    "name": {
      "type": "string",
      "value": "[parameters('keyVaultName')]"
    },
    "resourceGroupName": {
      "type": "string",
      "value": "[resourceGroup().name]"
    },
    "resourceId": {
      "type": "string",
      "value": "[resourceId('Microsoft.KeyVault/vaults', parameters('keyVaultName'))]"
    }
  }
}

In der Vorlage ist eine einzelne Azure-Ressource definiert:

  • Microsoft.KeyVault/Vaults: Erstellen sie einen Azure Key Vault. Die Vorlage ermöglicht Azure RBAC-Autorisierung (enableRbacAuthorization: true), soft delete und Löschschutz.

Weitere Vorlagenbeispiele für Azure Key Vault finden Sie in Azure-Schnellstartvorlagen.

Implementieren der Vorlage

  1. Klicken Sie auf das folgende Bild, um sich bei Azure anzumelden und eine Vorlage zu öffnen. Die Vorlage erstellt einen Key Vault.

    Schaltfläche zum Bereitstellen der Resource Manager-Vorlage in Azure.

  2. Wählen Sie die folgenden Werte aus, bzw. geben Sie sie ein. Wenn sie nicht angegeben ist, verwenden Sie den Standardwert.

    • Abonnement: Wählen Sie ein Azure-Abonnement aus.
    • Ressourcengruppe: Wählen Sie die Option Neu erstellen aus, geben Sie einen eindeutigen Namen für die Ressourcengruppe ein, und wählen Sie dann OK aus.
    • Region: Wählen Sie einen Speicherort aus. Beispiel: USA, Mitte.
    • Tresorname: Geben Sie einen Namen für den Schlüsseltresor ein, der innerhalb des vault.azure.net Namespace global eindeutig sein muss.
    • Sku-Name: Wählen Sie "Standard " oder "Premium" aus. Der Standardwert ist Standard.
  3. Klicken Sie aufÜberprüfen + erstellen und dann auf Erstellen. Nachdem der Schlüsseltresor erfolgreich bereitgestellt wurde, erhalten Sie eine Benachrichtigung.

Sie können auch Azure PowerShell, die Azure CLI oder die REST-API verwenden, um die Vorlage bereitzustellen. Informationen zu anderen Bereitstellungsmethoden finden Sie unter Bereitstellen von Vorlagen.

Zuweisen einer RBAC-Rolle für Key Vault

Der von dieser Vorlage erstellte Schlüsseltresor verwendet Azure RBAC für die Autorisierung. Um Schlüssel, geheime Schlüssel oder Zertifikate über die Datenebene zu erstellen oder zu lesen, müssen Sie sich selbst eine entsprechende Rolle zuweisen. Um beispielsweise Geheimnisse zu verwalten, weisen Sie sich selbst die Rolle Key Vault Secrets Officer zu:

echo "Enter your key vault name:" &&
read keyVaultName &&
az role assignment create --role "Key Vault Secrets Officer" \
    --assignee-object-id $(az ad signed-in-user show --query id -o tsv) \
    --scope $(az keyvault show --name $keyVaultName --query id -o tsv)

Note

Weitere integrierte Rollen finden Sie unter Azure integrierte Rollen für Key Vault Datenebenenvorgänge. Rollenzuweisungen können eine oder zwei Minuten dauern, bis sie verteilt werden.

Überprüfen der bereitgestellten Ressourcen

Sie können entweder das Azure Portal verwenden, um den Schlüsseltresor zu überprüfen, oder das folgende Azure CLI oder Azure PowerShell Skript verwenden:

echo "Enter your key vault name:" &&
read keyVaultName &&
az keyvault show --name $keyVaultName

Bereinigen von Ressourcen

Andere Schnellstartanleitungen und Tutorials für Key Vault bauen auf dieser Schnellstartanleitung auf. Falls Sie mit weiteren Schnellstartanleitungen und Tutorials weiterarbeiten möchten, empfiehlt es sich, diese Ressourcen unverändert zu lassen. Wenn sie nicht mehr benötigt wird, löschen Sie die Ressourcengruppe; dadurch werden der Schlüsselspeicher und die zugehörigen Ressourcen gelöscht.

echo "Enter the Resource Group name:" &&
read resourceGroupName &&
az group delete --name $resourceGroupName

Note

Durch das Löschen der Ressourcengruppe wird auch der Schlüsseltresor gelöscht, der Tresor wechselt dann jedoch in einen vorläufig gelöschten Status und bleibt für den Aufbewahrungszeitraum wiederherstellbar (standardmäßig 90 Tage). Der Tresorname bleibt während dieses Zeitraums global reserviert, und da der Löschschutz aktiviert ist, kann der Tresor nicht frühzeitig gelöscht werden. Für Standard-Schlüsseltresore fallen für vorläufig gelöschte Schlüsseltresore keine Gebühren an. Weitere Informationen finden Sie unter Übersicht über die Schlüsseltresor-Funktion für vorläufiges Löschen.

Weitere Key Vault Resource Manager-Vorlagen

In anderen Schnellstarts wird Schritt für Schritt erläutert, wie Sie einen Schlüsseltresor mit Geheimnissen, Schlüsseln oder Zertifikaten füllen:

Secrets Keys Zertifikate

Weitere Key Vault-Vorlagen finden Sie hier: Key Vault Resource Manager-Referenz

Nächste Schritte