Freigeben über


Konfigurieren der automatischen Drehung von kryptografischen Schlüsseln in Azure Key Vault

Durch die Automatisierung der Drehung kryptografischer Schlüssel in Key Vault können Sie Key Vault so einrichten, dass automatisch eine neue Schlüsselversion mit einer ausgewählten Häufigkeit erstellt wird. Verwenden Sie zum Einrichten der Drehung die Schlüsseldrehungsrichtlinie, die Sie für jeden einzelnen Schlüssel definieren können.

Um kryptografische bewährte Methoden zu befolgen, drehen Sie Verschlüsselungsschlüssel mindestens alle zwei Jahre.

Weitere Informationen dazu, wie Key Vault Versionsobjekte verwendet werden, finden Sie unter Key Vault-Objekte, Bezeichner und Versionsverwaltung. Ein umfassendes Verständnis von Autorotationskonzepten in verschiedenen Objekttypen in Azure Key Vault finden Sie unter Understanding autorotation in Azure Key Vault.

Integration in Azure-Dienste

Dieses Feature ermöglicht die End-to-End-Zero-Touch-Rotation von Verschlüsselung im Ruhezustand für Azure-Dienste mit einem vom Kunden verwalteten Schlüssel (CMK), der im Azure Key Vault gespeichert ist. Überprüfen Sie die spezifische Azure-Service-Dokumentation, um festzustellen, ob der Dienst die End-to-End-Rotation unterstützt.

Hinweis

Wenn Sie vom Kunden verwaltete Schlüssel wechseln, die Azure-Dienste verwenden, variiert die Zeit, die für jeden Dienst benötigt wird, um die neue Schlüsselversion zu erkennen und anzuwenden (von einer Stunde bis zu 24 Stunden oder mehr). In der spezifischen Azure-Dokumentation finden Sie Anleitungen dazu, wann Sie die alte Schlüsselversion nach der Rotation sicher deaktivieren können.

Weitere Informationen zur Datenverschlüsselung in Azure finden Sie unter:

Preisgestaltung

Für jede geplante Schlüsseldrehung gibt es zusätzliche Kosten. Weitere Informationen finden Sie auf der Azure Key Vault Preisseite.

Erforderliche Berechtigungen

Das Key Vault Feature zur Schlüsselrotation erfordert Schlüsselverwaltungsberechtigungen. Weisen Sie die Key Vault Crypto Officer Rolle zu, um die Rotationsrichtlinie und die On-Demand-Rotation zu verwalten.

Weitere Informationen zur Verwendung von Azure RBAC für Key Vault und Zuweisen von Azure-Rollen finden Sie unter Verwenden einer Azure-RBAC, um den Zugriff auf Schlüssel, Zertifikate und Geheimnisse zu steuern.

Hinweis

Wenn Sie das Berechtigungsmodell für Zugriffsrichtlinien verwenden, legen Sie die Schlüsselberechtigungen "Drehen", "Rotationsrichtlinie festlegen" und "Rotationsrichtlinie abrufen" fest, um die Drehungsrichtlinie für Schlüssel zu verwalten.

Richtlinie für Schlüsselrotation

Die Richtlinie für die Schlüsselrotation bietet Ihnen die Möglichkeit, die Rotation und die Event Grid-Benachrichtigungen für die Benachrichtigung über das baldige Auslaufen zu konfigurieren.

Einstellungen der Richtlinie für Schlüsselrotation:

  • Ablaufzeit: Das Schlüsselablaufintervall. Es legt das Ablaufdatum für den neu gedrehten Schlüssel fest. Sie wirkt sich nicht auf den aktuellen Schlüssel aus.
  • Aktiviert/deaktiviert: Markierung, um die Drehung des Schlüssels zu aktivieren oder zu deaktivieren.
  • Rotationstypen:
    • Automatische Verlängerung zu einem bestimmten Zeitpunkt nach der Erstellung (Standardeinstellung).
    • Automatisch erneuern zu einer bestimmten Zeit vor dem Ablauf. Dazu müssen „Ablaufzeit“ für die Rotationsrichtlinie und „Ablaufdatum“ für den Schlüssel festgelegt werden.
  • Drehungszeit: Schlüsseldrehungsintervall. Der Mindestwert beträgt sieben Tage ab erstellung und sieben Tage ab Ablaufzeit.
  • Benachrichtigungszeit: Das Intervall für das Ereignis „Schlüssel fast abgelaufen“ für die Event Grid-Benachrichtigung. Dazu müssen „Ablaufzeit“ für die Rotationsrichtlinie und „Ablaufdatum“ für den Schlüssel festgelegt werden.

Von Bedeutung

Bei der Schlüsselrotation wird eine neue Schlüsselversion eines vorhandenen Schlüssels mit neuem Schlüsselmaterial generiert. Zieldienste sollten versionslose Schlüssel-URI verwenden, um automatisch auf die neueste Version des Schlüssels zu aktualisieren. Stellen Sie sicher, dass Ihre Datenverschlüsselungslösung versionsierte Schlüssel-URI mit Daten speichert, die auf dasselbe Schlüsselmaterial für Entschlüsselungs-/Entschlüsselungsvorgänge verweisen, um Unterbrechungen ihrer Dienste zu vermeiden. Alle Azure Dienste folgen derzeit diesem Muster für die Datenverschlüsselung.

Die Schlüsselrotation verpackt die Datenverschlüsselungsschlüssel (DEKs) lediglich mit der neuen Schlüsselversion neu – die zugrunde liegenden Daten werden nicht neu verschlüsselt. Sowohl alte als auch neue Schlüsselversionen müssen aktiviert bleiben, bis die Neuverpackung abgeschlossen ist, da vorhandene Daten unter DEKs verschlüsselt bleiben, die mit der alten Schlüsselversion verpackt wurden.

Konfiguration der Rotationsrichtlinie

Konfigurieren der Schlüsselrotationsrichtlinie

Konfigurieren Sie die Schlüsseldrehungsrichtlinie während der Schlüsselerstellung.

Konfigurieren der Drehung während der Schlüsselerstellung

Konfigurieren Sie die Rotationsrichtlinie für bestehende Schlüssel.

Konfigurieren der Rotation des vorhandenen Schlüssels

Azure CLI

Speichern Sie die Schlüsselrotationsrichtlinie in einer Datei. Hier sehen Sie ein Beispiel für eine Richtlinie zur Schlüsselrotation:

{
  "lifetimeActions": [
    {
      "trigger": {
        "timeAfterCreate": "P18M",
        "timeBeforeExpiry": null
      },
      "action": {
        "type": "Rotate"
      }
    },
    {
      "trigger": {
        "timeBeforeExpiry": "P30D"
      },
      "action": {
        "type": "Notify"
      }
    }
  ],
  "attributes": {
    "expiryTime": "P2Y"
  }
}

Legen Sie mithilfe des Azure CLI-Befehls az keyvault key rotation-policy update die Rotationsrichtlinie für einen Schlüssel fest, der eine zuvor gespeicherte Datei übergibt.

az keyvault key rotation-policy update --vault-name <vault-name> --name <key-name> --value </path/to/policy.json>

Azure PowerShell

Legen Sie die Rotationsrichtlinie mithilfe des Cmdlets Azure PowerShell Set-AzKeyVaultKeyRotationPolicy fest.

Set-AzKeyVaultKeyRotationPolicy -VaultName <vault-name> -KeyName <key-name> -ExpiresIn (New-TimeSpan -Days 720) -KeyRotationLifetimeAction @{Action="Rotate";TimeAfterCreate= (New-TimeSpan -Days 540)}

Rotation bei Bedarf

Sie können die Schlüsselrotation manuell auslösen.

Portal

Wählen Sie "Jetzt drehen" aus , um den Drehungsprozess zu starten.

Drehung bei Bedarf

Azure CLI

Verwenden Sie den Azure CLI-Befehl az keyvault key rotate, um einen Schlüssel zu rotieren.

az keyvault key rotate --vault-name <vault-name> --name <key-name>

Azure PowerShell

Verwenden Sie das Cmdlet Azure PowerShell Invoke-AzKeyVaultKeyRotation, um einen Schlüssel zu drehen.

Invoke-AzKeyVaultKeyRotation -VaultName <vault-name> -Name <key-name>

Konfigurieren der Benachrichtigung bei fast abgelaufenem Schlüssel

Sie können eine Ablaufbenachrichtigung für das Ereignis des nahen Ablaufs des Event Grid-Schlüssels konfigurieren. Wenn eine automatisierte Rotation nicht verwendet werden kann, z. B. wenn ein Schlüssel aus dem lokalen HSM importiert wird, können Sie Eine Benachrichtigung über das bevorstehende Ablaufdatum als Erinnerung für die manuelle Rotation oder als Trigger für eine benutzerdefinierte automatisierte Rotation durch die Integration mit Event Grid konfigurieren. Sie können die Benachrichtigung so einstellen, dass das bevorstehende Ablaufereignis Tage, Monate oder Jahre vor dem Ablauf des Schlüssels ausgelöst wird.

Konfigurieren der Benachrichtigung

Weitere Informationen zu Ereignisrasterbenachrichtigungen in Key Vault finden Sie unter Azure Key Vault als Ereignisrasterquelle.

Konfigurieren der Schlüsseldrehung mithilfe der ARM-Vorlage

Sie können die Schlüsseldrehungsrichtlinie mithilfe von ARM-Vorlagen konfigurieren.

Hinweis

Um einen Schlüssel über die Steuerungsebene bereitzustellen, benötigen Sie die Key Vault Contributor Rolle auf dem mit Azure RBAC konfigurierten Key Vault.

{
    "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "vaultName": {
            "type": "String",
            "metadata": {
                "description": "The name of the key vault to be created."
            }
        },
        "keyName": {
            "type": "String",
            "metadata": {
                "description": "The name of the key to be created."
            }
        },
        "rotationTimeAfterCreate": {
            "defaultValue": "P18M",
            "type": "String",
            "metadata": {
                "description": "Time duration to trigger key rotation, for example, P30D, P1M, P2Y."
            }
        },
        "expiryTime": {
            "defaultValue": "P2Y",
            "type": "String",
            "metadata": {
                "description": "The expiry time for new key version, for example, P90D, P2M, P3Y."
            }
        },
        "notifyTime": {
            "defaultValue": "P30D",
            "type": "String",
            "metadata": {
                "description": "Near expiry Event Grid notification, for example, P30D."
            }
        }

    },
    "resources": [
        {
            "type": "Microsoft.KeyVault/vaults/keys",
            "apiVersion": "2024-11-01",
            "name": "[concat(parameters('vaultName'), '/', parameters('keyName'))]",
            "location": "[resourceGroup().location]",
            "properties": {
                "vaultName": "[parameters('vaultName')]",
                "kty": "RSA",
                "rotationPolicy": {
                    "lifetimeActions": [
                        {
                            "trigger": {
                                "timeAfterCreate": "[parameters('rotationTimeAfterCreate')]",
                                "timeBeforeExpiry": ""
                            },
                            "action": {
                                "type": "Rotate"
                            }
                        },
                        {
                            "trigger": {
                                "timeBeforeExpiry": "[parameters('notifyTime')]"
                            },
                            "action": {
                                "type": "Notify"
                            }
                        }

                    ],
                    "attributes": {
                        "expiryTime": "[parameters('expiryTime')]"
                    }
                }
            }
        }
    ]
}

Konfigurieren der Schlüsselrotations-Richtliniengovernance

Mithilfe des Azure Policy-Diensts können Sie den Schlüssellebenszyklus steuern und sicherstellen, dass alle Schlüssel so konfiguriert sind, dass sie innerhalb einer bestimmten Anzahl von Tagen gedreht werden.

Erstellen und Zuweisen einer Richtliniendefinition

  1. Wechseln Sie zur Richtlinienressource.
  2. Wählen Sie Assignments unter Authoring auf der linken Seite der Azure Policy Seite aus.
  3. Wählen Sie oben auf der Seite Richtlinie zuweisen aus. Über diese Schaltfläche gelangen Sie zur Seite „Richtlinienzuweisung“.
  4. Geben Sie Folgendes ein:
  5. Füllen Sie alle zusätzlichen Felder aus. Navigieren Sie zu den Registerkarten, indem Sie unten auf der Seite auf die Schaltflächen "Zurück " und " Weiter " klicken.
  6. Klicken Sie auf Überprüfen + erstellen.
  7. Wählen Sie "Erstellen" aus.

Nachdem Sie die integrierte Richtlinie zugewiesen haben, kann es bis zu 24 Stunden dauern, bis die Überprüfung abgeschlossen ist. Wenn der Scan abgeschlossen ist, können Sie die Complianceergebnisse wie die folgende sehen.

Screenshot der Schlüsselrotations-Richtliniengovernance.

Nutzen Sie KI, um Richtlinien zur Schlüsselrotation anzupassen.

GitHub Copilot können Sie beim Erstellen angepasster Schlüsselrotationsrichtlinien für Ihre spezifischen Complianceanforderungen oder Azure Dienstintegrationen unterstützen.

I need to configure a key rotation policy for my Azure Key Vault key that's used for Azure Storage encryption. Help me create the rotation policy with these requirements:
- Key vault name: my-storage-kv
- Key name: storage-encryption-key
- Rotate the key every 180 days
- Send a notification 30 days before expiry
- Set key expiration to 2 years
Provide both Azure CLI commands and a JSON policy file I can use with the Azure CLI.

GitHub Copilot wird von KI unterstützt, sodass Überraschungen und Fehler möglich sind. Weitere Informationen finden Sie unter Copilot FAQs.

Ressourcen