Verschlüsselungsschlüssel mit Cloud KMS erstellen
In dieser Kurzanleitung erfahren Sie, wie Sie Verschlüsselungsschlüssel mit Cloud Key Management Service in einem Projekt erstellen und verwenden, dessen Inhaber Sie sind. In dieser Anleitung wird die Google Cloud Console verwendet, um Schlüsselbunde, Schlüssel und Schlüsselversionen in Cloud KMS zu erstellen. Eine Anleitung für andere Methoden finden Sie unter Autokey-Übersicht, Schlüsselbund erstellen und Schlüssel erstellen.
Im Rahmen des Schnellstarts werden die Anfragen über die Befehlszeile an die Cloud KMS API gesendet. Programmierbeispiele für die Verwendung von Client bibliotheken zum Senden der Anfragen an die Cloud KMS API finden Sie unter Daten verschlüsseln und entschlüsseln.
Hinweis
- Melden Sie sich in Ihrem Google Cloud Konto an. Wenn Sie noch kein Konto bei Google Cloudhaben, erstellen Sie ein Konto, um die Leistungsfähigkeit unserer Produkte in der Praxis sehen und bewerten zu können. Neukunden erhalten außerdem ein Guthaben von 300 $, um Arbeitslasten auszuführen, zu testen und bereitzustellen.
-
Installieren Sie die Google Cloud CLI.
-
Wenn Sie einen externen Identitätsanbieter (IdP) verwenden, müssen Sie sich zuerst mit Ihrer föderierten Identität in der gcloud CLI anmelden.
-
Führen Sie den folgenden Befehl aus, um die gcloud CLI zu initialisieren:
gcloud init -
Erstellen oder wählen Sie ein Google Cloud Projekt aus.
Erforderliche Rollen zum Auswählen oder Erstellen eines Projekts
- Projekt auswählen: Für die Auswahl eines Projekts ist keine bestimmte IAM-Rolle erforderlich. Sie können ein beliebiges Projekt auswählen, für das Ihnen eine Rolle zugewiesen wurde.
-
Projekt erstellen: Zum Erstellen eines Projekts benötigen Sie die Rolle „Projektersteller“
(
roles/resourcemanager.projectCreator), die dieresourcemanager.projects.createBerechtigung enthält. Rollen zuweisen.
-
Projekt erstellen: Google Cloud
gcloud projects create PROJECT_ID
Ersetzen Sie
PROJECT_IDdurch einen Namen für das Google Cloud Projekt, das Sie erstellen. -
Wählen Sie das Google Cloud erstellte Projekt aus:
gcloud config set project PROJECT_ID
Ersetzen Sie
PROJECT_IDdurch Ihren Google Cloud Projektnamen.
-
Prüfen Sie, ob die Abrechnung für Ihr Google Cloud Projekt aktiviert ist.
Aktivieren Sie die Cloud KMS API.
Erforderliche Rollen zum Aktivieren von APIs
Zum Aktivieren von APIs benötigen Sie die IAM-Rolle „Administrator der Dienstnutzung“ (
roles/serviceusage.serviceUsageAdmin) mit derserviceusage.services.enableBerechtigung. Rollen zuweisen.gcloud services enable cloudkms.googleapis.com
-
Weisen Sie Ihrem Nutzerkonto Rollen zu. Führen Sie den folgenden Befehl einmal für jede der folgenden IAM-Rollen aus:
roles/cloudkms.admin, roles/cloudkms.cryptoKeyEncrypterDecryptergcloud projects add-iam-policy-binding PROJECT_ID --member="user:USER_IDENTIFIER" --role=ROLE
Ersetzen Sie Folgendes:
PROJECT_ID: Ihre Projekt-ID.USER_IDENTIFIER: Die Kennung für Ihr Nutzerkonto. Beispiel:myemail@example.com.ROLE: Die IAM-Rolle, die Sie Ihrem Nutzerkonto zuweisen.
-
Installieren Sie die Google Cloud CLI.
-
Wenn Sie einen externen Identitätsanbieter (IdP) verwenden, müssen Sie sich zuerst mit Ihrer föderierten Identität in der gcloud CLI anmelden.
-
Führen Sie den folgenden Befehl aus, um die gcloud CLI zu initialisieren:
gcloud init -
Erstellen oder wählen Sie ein Google Cloud Projekt aus.
Erforderliche Rollen zum Auswählen oder Erstellen eines Projekts
- Projekt auswählen: Für die Auswahl eines Projekts ist keine bestimmte IAM-Rolle erforderlich. Sie können ein beliebiges Projekt auswählen, für das Ihnen eine Rolle zugewiesen wurde.
-
Projekt erstellen: Zum Erstellen eines Projekts benötigen Sie die Rolle „Projektersteller“
(
roles/resourcemanager.projectCreator), die dieresourcemanager.projects.createBerechtigung enthält. Rollen zuweisen.
-
Projekt erstellen: Google Cloud
gcloud projects create PROJECT_ID
Ersetzen Sie
PROJECT_IDdurch einen Namen für das Google Cloud Projekt, das Sie erstellen. -
Wählen Sie das Google Cloud erstellte Projekt aus:
gcloud config set project PROJECT_ID
Ersetzen Sie
PROJECT_IDdurch Ihren Google Cloud Projektnamen.
-
Prüfen Sie, ob die Abrechnung für Ihr Google Cloud Projekt aktiviert ist.
Aktivieren Sie die Cloud KMS API.
Erforderliche Rollen zum Aktivieren von APIs
Zum Aktivieren von APIs benötigen Sie die IAM-Rolle „Administrator der Dienstnutzung“ (
roles/serviceusage.serviceUsageAdmin) mit derserviceusage.services.enableBerechtigung. Rollen zuweisen.gcloud services enable cloudkms.googleapis.com
-
Weisen Sie Ihrem Nutzerkonto Rollen zu. Führen Sie den folgenden Befehl einmal für jede der folgenden IAM-Rollen aus:
roles/cloudkms.admin, roles/cloudkms.cryptoKeyEncrypterDecryptergcloud projects add-iam-policy-binding PROJECT_ID --member="user:USER_IDENTIFIER" --role=ROLE
Ersetzen Sie Folgendes:
PROJECT_ID: Ihre Projekt-ID.USER_IDENTIFIER: Die Kennung für Ihr Nutzerkonto. Beispiel:myemail@example.com.ROLE: Die IAM-Rolle, die Sie Ihrem Nutzerkonto zuweisen.
Schlüsselbunde und Schlüssel
Zur Ver- und Entschlüsselung von Inhalten ist ein Cloud KMS-Schlüssel erforderlich, der zu einem Schlüsselbund gehört.
Erstellen Sie einen Schlüsselbund namens test und einen Schlüssel namens quickstart. Weitere Informationen zu diesen Objekten und ihren Beziehungen finden Sie in der Objekthierarchieübersicht.
gcloud kms keyrings create "test" \
--location "global"gcloud kms keys create "quickstart" \
--location "global" \
--keyring "test" \
--purpose "encryption"Mit der Option list können Sie den Namen und die Metadaten für den Schlüssel aufrufen, den Sie gerade erstellt haben.
gcloud kms keys list \
--location "global" \
--keyring "test"Hier sollten Sie dies sehen:
NAME PURPOSE PRIMARY_STATE projects/PROJECT_ID/locations/global/keyRings/test/cryptoKeys/quickstart ENCRYPT_DECRYPT ENABLED
Daten verschlüsseln
Mit dem erstellten Schlüssel können Sie Text oder binären Inhalt verschlüsseln.
Speichern Sie Text, der verschlüsselt werden soll, in einer Datei mit dem Namen "mysecret.txt".
echo -n "Some text to be encrypted" > mysecret.txtGeben Sie zum Verschlüsseln der Daten mit gcloud kms encrypt die Schlüsselinformationen, den Namen der Klartextdatei, die verschlüsselt werden soll, sowie den Namen der Datei, die den verschlüsselten Inhalt enthält, an:
gcloud kms encrypt \
--location "global" \
--keyring "test" \
--key "quickstart" \
--plaintext-file ./mysecret.txt \
--ciphertext-file ./mysecret.txt.encryptedDer verschlüsselte Inhalt wird von der Methode encrypt in der Datei gespeichert, die vom Flag --ciphertext-file angegeben wird.
Geheimtext entschlüsseln
Geben Sie zum Entschlüsseln der Daten mit gcloud kms decrypt die Schlüsselinformationen, den Namen der verschlüsselten Datei (Geheimtextdatei), die entschlüsselt werden soll, sowie den Namen der Datei, die den entschlüsselten Inhalt enthält, an:
gcloud kms decrypt \
--location "global" \
--keyring "test" \
--key "quickstart" \
--ciphertext-file ./mysecret.txt.encrypted \
--plaintext-file ./mysecret.txt.decryptedDer entschlüsselte Inhalt wird von der Methode decrypt in der Datei gespeichert, die vom Flag --plaintext-file angegeben wird.
Um verschlüsselten Inhalt zu entschlüsseln, müssen Sie den gleichen Schlüssel verwenden, mit dem der Inhalt auch verschlüsselt wurde.
Bereinigen
Löschen Sie das Projekt von zusammen mit den Ressourcen, damit Ihrem Google Cloud Konto von die auf dieser Seite verwendeten Ressourcen nicht in Rechnung gestellt werden. Google Cloud
Listen Sie die für Ihren Schlüssel verfügbaren Versionen auf:
gcloud kms keys versions list \
--location "global" \
--keyring "test" \
--key "quickstart"Führen Sie den folgenden Befehl aus, um eine Version zu löschen. Ersetzen Sie dabei 1 durch die Nummer der zu löschenden Schlüsselversion:
gcloud kms keys versions destroy 1 \
--location "global" \
--keyring "test" \
--key "quickstart"
Weitere Informationen
- Mit der Verwendung der API beginnen.
- API-Referenz ansehen.
- Weitere Informationen zum Verschlüßen ruhender Daten.