Aktivieren der Datenverschlüsselung mit kundenseitig verwalteten Schlüsseln in Azure Cosmos DB for PostgreSQL
GILT FÜR: Azure Cosmos DB for PostgreSQL (unterstützt von der Citus-Datenbankerweiterung auf PostgreSQL)
Voraussetzungen
- Ein vorhandenes Azure Cosmos DB for PostgreSQL-Konto
- Falls Sie bereits über ein Azure-Abonnement verfügen, erstellen Sie ein neues Konto.
- Wenn Sie kein Azure-Abonnement besitzen, können Sie ein kostenloses Konto erstellen, bevor Sie beginnen.
- Alternativ können Sie Azure Cosmos DB kostenlos testen, bevor Sie sich festlegen.
Aktivieren der Datenverschlüsselung mit kundenseitig verwalteten Schlüsseln
Wichtig
Erstellen Sie die folgenden Ressourcen alle in derselben Region, in der Ihr Azure Cosmos DB for PostgreSQL-Cluster bereitgestellt wird.
Erstellen Sie eine benutzerseitig zugewiesene verwaltete Identität. Derzeit unterstützt Azure Cosmos DB for PostgreSQL nur benutzerseitig zugewiesene verwaltete Identitäten.
Erstellen Sie einen Azure Key Vault, und fügen Sie der erstellten benutzerseitig zugewiesenen verwalteten Identität eine Zugriffsrichtlinie mit den folgenden Schlüsselberechtigungen hinzu: „Abrufen“, „Schlüssel entpacken“ und „Schlüssel packen“.
Generieren Sie einen Schlüssel im Schlüsseltresor (unterstützte Schlüsseltypen: RSA 2048, 3071, 4096).
Wählen Sie während der Erstellung des Azure Cosmos DB for PostgreSQL-Clusters die Verschlüsselungsoption „Kundenseitig verwalteter Schlüssel“ und anschließend die entsprechende benutzerseitig zugewiesene verwaltete Identität, den Schlüsseltresor und den Schlüssel aus, die in den Schritten 1, 2 und 3 erstellt wurden.
Ausführliche Schritte
Benutzerseitig zugewiesene verwaltete Identität
Suchen Sie auf der Suchleiste nach Verwaltete Identitäten.
Erstellen Sie eine neue benutzerseitig zugewiesene verwaltete Identität in derselben Region wie Ihr Azure Cosmos DB for PostgreSQL-Cluster.
Weitere Informationen zur benutzerseitig zugewiesenen verwalteten Identität
Schlüsseltresor
Wenn Sie kundenseitig verwaltete Schlüssel mit Azure Cosmos DB for PostgreSQL verwenden, müssen Sie zwei Eigenschaften für die Azure Key Vault-Instanz festlegen, die Sie zum Hosten Ihrer Verschlüsselungsschlüssel verwenden möchten: „Vorläufiges Löschen“ und „Bereinigungsschutz“.
Wenn Sie eine neue Azure Key Vault-Instanz erstellen, aktivieren Sie diese Eigenschaften während der Erstellung:
Bei Verwendung einer vorhandenen Azure Key Vault-Instanz können Sie überprüfen, ob diese Eigenschaften aktiviert sind, indem Sie sich im Azure-Portal den Abschnitt Eigenschaften ansehen. Ist eine dieser Eigenschaften nicht aktiviert, finden Sie in den Abschnitten „Aktivieren des vorläufigen Löschens“ und „Aktivieren des Bereinigungsschutzes“ in einem der folgenden Artikel weitere Informationen:
- Verwenden des vorläufigen Löschens mit PowerShell
- Verwenden des vorläufigen Löschens mit Azure CLI
Für den Schlüsseltresor muss Aufbewahrungsdauer für gelöschte Tresore in Tagen auf 90 Tage festgelegt werden. Wenn der vorhandene Schlüsseltresor mit einer niedrigeren Anzahl konfiguriert wurde, müssen Sie einen neuen Schlüsseltresor erstellen, da diese Einstellung nach der Erstellung nicht mehr geändert werden kann.
Wichtig
Ihre Azure Key Vault-Instanz muss den öffentlichen Zugriff aus allen Netzwerken zulassen.
Hinzufügen einer Azure Policy zum Key Vault
Navigieren Sie im Azure-Portal zu der Azure Key Vault-Instanz, die Sie zum Hosten Ihrer Verschlüsselungsschlüssel verwenden möchten. Wählen Sie im linken Menü die Option „Zugriffskonfiguration“ aus. Stellen Sie sicher, dass Tresorzugriffsrichtlinie unter Berechtigungsmodell ausgewählt ist, und wählen Sie dann „Gehe zu Zugriffsrichtlinien“ aus.
Wählen Sie + Erstellen aus.
Wählen Sie auf der Registerkarte „Berechtigungen“ im Dropdownmenü „Schlüsselberechtigungen“ die Berechtigungen „Abrufen“, „Schlüssel entpacken“ und „Schlüssel packen“ aus.
Wählen Sie auf der Registerkarte „Prinzipal“ die benutzerseitig zugewiesene verwaltete Identität aus, die Sie im Schritt „Voraussetzung“ erstellt haben.
Navigieren Sie zu „Überprüfen + erstellen“, und wählen Sie „Erstellen“ aus.
Schlüssel erstellen/importieren
Navigieren Sie im Azure-Portal zu der Azure Key Vault-Instanz, die Sie zum Hosten Ihrer Verschlüsselungsschlüssel verwenden möchten.
Wählen Sie im linken Menü „Schlüssel“ und anschließend „+Generieren/Importieren“ aus.
Der kundenseitig verwaltete Schlüssel, der zum Verschlüsseln des DEK verwendet werden soll, muss ein asymmetrischer RSA-Schlüsseltyp sein. Die RSA-Schlüsselgrößen 2048, 3072 und 4096 werden unterstützt.
Das Schlüsselaktivierungsdatum (sofern festgelegt) muss ein Datum und eine Uhrzeit in der Vergangenheit sein. Das Ablaufdatum (sofern festgelegt) muss ein Datum und eine Uhrzeit in der Zukunft sein.
Der Schlüssel muss sich im Zustand Aktiviert befinden.
Wenn Sie einen vorhandenen Schlüssel in Key Vault importieren, müssen Sie ihn in einem der unterstützten Dateiformate (
.pfx
,.byok
,.backup
) bereitstellen.Wenn Sie den Schlüssel manuell rotieren, sollte die alte Schlüsselversion mindestens 24 Stunden lang nicht gelöscht werden.
Aktivieren der CMK-Verschlüsselung während der Bereitstellung eines neuen Clusters
Navigieren Sie während der Bereitstellung eines neuen Azure Cosmos DB for PostgreSQL-Clusters nach der Angabe der erforderlichen Informationen auf den Registerkarten „Grundlagen“ und „Netzwerk“ zur Registerkarte Verschlüsselung.
Wählen Sie unter Datenverschlüsselungsschlüssel die Option Kundenseitig verwalteter Schlüssel aus.
Wählen Sie die benutzerseitig zugewiesene verwaltete Identität aus, die Sie im vorherigen Abschnitt erstellt haben.
Wählen Sie den im vorherigen Schritt erstellten Schlüsseltresor aus, der die Zugriffsrichtlinie für die benutzerseitig verwaltete Identität enthält, die im vorherigen Schritt ausgewählt wurde.
Wählen Sie den im vorherigen Schritt erstellen Schlüssel und anschließend Überprüfen + Erstellen aus.
Vergewissern Sie sich nach der Clustererstellung, dass die CMK-Verschlüsselung aktiviert ist, indem Sie im Azure-Portal zum Blatt Datenverschlüsselung des Cosmos DB for PostgreSQL-Clusters navigieren.
Hinweis
Die Datenverschlüsselung kann nur während der Erstellung eines neuen Clusters konfiguriert und nicht auf einem vorhandenen Cluster aktualisiert werden. Eine Problemumgehung zum Aktualisieren der Verschlüsselungskonfiguration in einem vorhandenen Cluster besteht darin, eine Clusterwiederherstellung durchzuführen und die Datenverschlüsselung während der Erstellung des neu wiederhergestellten Clusters zu konfigurieren.
Hochverfügbarkeit
Wenn die CMK-Verschlüsselung im primären Cluster aktiviert ist, werden alle Standbyknoten mit Hochverfügbarkeit automatisch mit dem Schlüssel des primären Clusters verschlüsselt.
Ändern der Verschlüsselungskonfiguration durch Durchführen einer PITR
Die Verschlüsselungskonfiguration kann beim Ausführen eines Clusterwiederherstellungsvorgangs (Zeitpunktwiederherstellung, Point-in-Time Restore, PITR) von der dienstseitig verwalteten Verschlüsselung in die kundenseitig verwaltete Verschlüsselung oder umgekehrt geändert werden.
Navigieren Sie zum Blatt Datenverschlüsselung, und wählen Sie Wiederherstellungsvorgang initiieren aus. Alternativ können Sie eine Zeitpunktwiederherstellung ausführen, indem Sie auf dem Blatt Übersicht die Option Wiederherstellen auswählen.
Sie können die Datenverschlüsselung auf der Clusterwiederherstellungsseite auf der Registerkarte Verschlüsselung ändern/konfigurieren.
Überwachen des kundenseitig verwalteten Schlüssels in Key Vault
Konfigurieren Sie die folgenden Azure-Features, um den Datenbankzustand zu überwachen und Warnungen bei Verlust des Zugriffs auf die TDE-Schutzvorrichtung (Transparent Data Encryption) zu aktivieren:
Azure Resource Health: Eine Datenbank, auf die nicht zugegriffen werden kann und die den Zugriff auf den Kundenschlüssel verloren hat, wird als „Zugriff nicht möglich“ angezeigt, nachdem die erste Verbindung mit der Datenbank verweigert wurde.
Aktivitätsprotokoll: Ist der Zugriff auf den Kundenschlüssel im vom Kunden verwalteten Schlüsseltresor nicht möglich, werden dem Aktivitätsprotokoll entsprechende Einträge hinzugefügt. Sie können den Zugriff so bald wie möglich wiederherstellen, wenn Sie Warnungen für diese Ereignisse erstellen.
Aktionsgruppen: Definieren Sie diese Gruppen so, dass sie Ihnen je nach Ihren Wünschen Benachrichtigungen und Alarme senden.