Erstellen und Verwalten von Azure Database for PostgreSQL – Flexibler Server mit Daten, die mit kundenseitig verwalteten Schlüsseln (Customer Managed Keys, CMKs) mithilfe der Azure CLI verschlüsselt werden
GILT FÜR: Azure Database for PostgreSQL – Flexibler Server
Hinweis
Die folgenden CLI-Beispiele basieren auf Version 2.45.0 der CLI-Bibliotheken von Azure Database for PostgreSQL – Flexibler Server.
In diesem Artikel erfahren Sie, wie Sie Azure Database for PostgreSQL – Flexibler Server mit Daten, die mithilfe der Azure CLI mit kundenseitig verwalteten Schlüsseln verschlüsselt werden, erstellen und verwalten. Weitere Informationen zur Funktion für kundenseitig verwaltete Schlüssel (Customer Managed Key, CMK) mit Azure Database for PostgreSQL – Flexibler Server finden Sie in der Übersicht.
Einrichten des kundenseitig verwalteten Schlüssels während der Servererstellung
Voraussetzungen:
- Sie müssen über ein Azure-Abonnement verfügen und ein Administrator für dieses Abonnement sein.
Führen Sie die folgenden Schritte aus, um CMK beim Erstellen einer Instanz von Azure Database for PostgreSQL – Flexibler Server mithilfe der Azure CLI zu aktivieren.
- Erstellen Sie einen Schlüsseltresor und einen Schlüssel, der als vom Kunden verwalteter Schlüssel verwendet werden soll. Aktivieren Sie außerdem den Löschschutz und das vorläufige Löschen für den Schlüsseltresor.
az keyvault create -g <resource_group> -n <vault_name> --location <azure_region> --enable-purge-protection true
- Erstellen Sie in der von Ihnen erstellten Azure Key Vault-Instanz den Schlüssel, der für die Datenverschlüsselung der Instanz von Azure Database for PostgreSQL – Flexibler Server verwendet wird.
keyIdentifier=$(az keyvault key create --name <key_name> -p software --vault-name <vault_name> --query key.kid -o tsv)
- Erstellen Sie eine verwaltete Identität, die zum Abrufen des Schlüssels aus Azure Key Vault verwendet wird.
identityPrincipalId=$(az identity create -g <resource_group> --name <identity_name> --location <azure_region> --query principalId -o tsv)
- Fügen Sie eine Zugriffsrichtlinie mit den Schlüsselberechtigungen wrapKey,unwrapKey, get und list in Azure Key Vault zur oben erstellten verwalteten Identität hinzu.
az keyvault set-policy -g <resource_group> -n <vault_name> --object-id $identityPrincipalId --key-permissions wrapKey unwrapKey get list
- Abschließend können Sie eine Instanz von Azure Database for PostgreSQL – Flexibler Server mit aktivierter CMK-basierter Verschlüsselung erstellen.
az postgres flexible-server create -g <resource_group> -n <postgres_server_name> --location <azure_region> --key $keyIdentifier --identity <identity_name>
Aktualisieren des kundenseitig verwalteten Schlüssels in der CMK-aktivierten Instanz von Azure Database for PostgreSQL – Flexibler Server
Voraussetzungen:
- Sie müssen über ein Azure-Abonnement verfügen und ein Administrator für dieses Abonnement sein.
- Key Vault mit Schlüssel in der Region, in der die Instanz von Azure Database for PostgreSQL – Flexibler Server erstellt wird. Folgen Sie diesem Tutorial, um Key Vault zu erstellen und Schlüssel zu generieren.
Führen Sie die folgenden Schritte aus, um den Schlüssel oder die Identität nach der Erstellung eines Servers mit Datenverschlüsselung zu ändern/zu rotieren.
- Ändern Sie den Schlüssel/die Identität für die Datenverschlüsselung für den vorhandenen Server. Rufen Sie zuerst die neue Schlüssel-ID ab:
newKeyIdentifier=$(az keyvault key show --vault-name <vault_name> --name <key_name> --query key.kid -o tsv)
- Aktualisieren Sie den Server mit dem neuen Schlüssel und/oder der neuen Identität.
az postgres flexible-server update --resource-group <resource_group> --name <server_name> --key $newKeyIdentifier --identity <identity_name>