Datenverschlüsselung für Azure Database for MySQL über das Azure-Portal

GILT FÜR:Azure Database for MySQL – Single Server

Wichtig

Azure Database for MySQL single server is on the retirement path. Es wird dringend empfohlen, ein Upgrade auf azure Database for MySQL flexiblen Server durchzuführen. Weitere Informationen zum Migrieren zu Azure Database for MySQL flexible Server finden Sie unter Was geschieht mit Azure Database for MySQL Single Server?

Erfahren Sie, wie Sie über das Azure-Portal die Datenverschlüsselung für Azure Database for MySQL einrichten und verwalten.

Voraussetzungen für die Azure-Befehlszeilenschnittstelle

  • Sie müssen über ein Azure-Abonnement verfügen und ein Administrator für dieses Abonnement sein.

  • Erstellen Sie in Azure Key Vault einen Schlüsseltresor und einen Schlüssel, der als vom Kunden verwalteter Schlüssel verwendet werden soll.

  • Der Schlüsseltresor muss die folgenden Eigenschaften aufweisen, damit er für vom Kunden verwaltete Schlüssel verwendet werden kann:

    • Vorläufiges Löschen

      az resource update --id $(az keyvault show --name \ <key_vault_name> -o tsv | awk '{print $1}') --set \ properties.enableSoftDelete=true
      
    • Löschschutz

      az keyvault update --name <key_vault_name> --resource-group <resource_group_name>  --enable-purge-protection true
      
    • Auf 90 Tage festgelegte Datenaufbewahrung

      az keyvault update --name <key_vault_name> --resource-group <resource_group_name>  --retention-days 90
      
  • Der Schlüssel muss die folgenden Attribute aufweisen, damit er als vom Kunden verwalteter Schlüssel verwendet werden kann:

    • Kein Ablaufdatum
    • Nicht deaktiviert
    • Ausführen der Vorgänge get, wrap und unwrap
    • Das recoverylevel-Attribut ist auf Recoverable festgelegt. (Dafür muss vorläufiges Löschen mit einer Beibehaltungsdauer von 90 Tagen aktiviert sein.)
    • Bereinigungsschutz aktiviert

    Sie können die oben genannten Attribute des Schlüssels mit dem folgenden Befehl überprüfen:

    az keyvault key show --vault-name <key_vault_name> -n <key_name>
    
  • Die Instanz von Azure Database for MySQL Single Server muss den Tarif „Universell“ oder „Speicheroptimiert“ und den Speichertyp „Universell“ (v2) aufweisen. Bevor Sie fortfahren, sehen Sie sich die Einschränkungen für die Datenverschlüsselung mit vom Kunden verwalteten Schlüsseln an.

Festlegen der richtigen Berechtigungen für Schlüsselvorgänge

  1. Wählen Sie in Key Vault Zugriffsrichtlinien>Zugriffsrichtlinie hinzufügen aus.

    Screenshot of Key Vault, with Access policies and Add Access Policy highlighted

  2. Wählen Sie Schlüsselberechtigungen und anschließend Abrufen, Packen und Entpacken aus. Wählen Sie dann den Prinzipal aus (der Name des MySQL-Servers). Wenn Ihr Serverprinzipal nicht in der Liste der vorhandenen Prinzipale enthalten ist, müssen Sie ihn registrieren. Wenn Sie erstmalig versuchen, die Datenverschlüsselung einzurichten, und der Vorgang mit einem Fehler abgebrochen wird, werden Sie aufgefordert, Ihren Serverprinzipal zu registrieren.

    Access policy overview

  3. Wählen Sie Speichern.

Festlegen der Datenverschlüsselung für Azure Database for MySQL

  1. Wählen Sie in Azure Database for MySQL die Option Datenverschlüsselung aus, um den vom Kunden verwalteten Schlüssel einzurichten.

    Screenshot of Azure Database for MySQL, with Data encryption highlighted

  2. Sie können entweder einen Schlüsseltresor und ein Schlüsselpaar auswählen oder einen Schlüsselbezeichner eingeben.

    Screenshot of Azure Database for MySQL, with data encryption options highlighted

  3. Wählen Sie Speichern.

  4. Starten Sie den Server neu, um sicherzustellen, dass alle Dateien (einschließlich temporäre Dateien) vollständig verschlüsselt werden.

Verwenden von Datenverschlüsselung für Wiederherstellungs- oder Replikatserver

Nachdem Azure Database for MySQL mit einem vom Kunden verwalteten Schlüssel verschlüsselt wurde, der in Key Vault gespeichert ist, wird jede neu erstellte Kopie des Servers ebenfalls verschlüsselt. Sie können diese neue Kopie entweder durch einen lokalen Wiederherstellungsvorgang, einen Geowiederherstellungsvorgang oder durch einen Replikationsvorgang (lokal/regionsübergreifend) erstellen. Sie können für einen verschlüsselten MySQL-Server also die folgenden Schritte ausführen, um einen verschlüsselten wiederhergestellten Server zu erstellen.

  1. Wählen Sie auf Ihrem Server Übersicht>Wiederherstellung aus.

    Screenshot of Azure Database for MySQL, with Overview and Restore highlighted

    Wählen Sie alternativ für einen replikationsfähigen Server unter Einstellungen die Option Replikation aus.

    Screenshot of Azure Database for MySQL, with Replication highlighted

  2. Nachdem der Wiederherstellungsvorgang abgeschlossen wurde, ist der neu erstellte Server mit dem Schlüssel des primären Servers verschlüsselt. Allerdings sind die Features und Optionen auf dem Server deaktiviert, und auf den Server kann nicht zugegriffen werden. Da der Identität des neuen Servers noch keine Berechtigung für den Zugriff auf den Schlüsseltresor erteilt wurde, wird auf diese Weise jegliche Datenbearbeitung verhindert.

    Screenshot of Azure Database for MySQL, with Inaccessible status highlighted

  3. Um den Server zugänglich zu machen, überprüfen Sie den Schlüssel auf dem wiederhergestellten Server erneut. Wählen Sie dazu Datenverschlüsselung>Schlüssel erneut überprüfen aus.

    Hinweis

    Beim ersten Versuch, den Schlüssel erneut zu überprüfen, tritt ein Fehler auf, da dem Dienstprinzipal des neuen Servers Zugriff auf den Schlüsseltresor gewährt werden muss. Um den Dienstprinzipal zu generieren, wählen Sie Schlüssel erneut überprüfen aus. Dies führt zwar zu einem Fehler, doch der Dienstprinzipal wird generiert. Führen Sie anschließend diese Schritte weiter oben in diesem Artikel aus.

    Screenshot of Azure Database for MySQL, with revalidation step highlighted

    Sie müssen dem Schlüsseltresor Zugriff auf den neuen Server gewähren. Weitere Informationen finden Sie unter Zuweisen einer Key Vault-Zugriffsrichtlinie.

  4. Nachdem Sie den Dienstprinzipal registriert haben, müssen Sie den Schlüssel erneut überprüfen, damit der Server wieder normal funktioniert.

    Screenshot of Azure Database for MySQL, showing restored functionality

Nächste Schritte