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, das Ihnen gehört. In dieser Anleitung wird dieCloud de Confiance -Konsole verwendet, um Schlüsselbunde, Schlüssel und Schlüsselversionen in Cloud KMS zu erstellen. Anleitungen, in denen andere Methoden verwendet werden, finden Sie unter Übersicht: Autokey, Schlüsselbund erstellen und Schlüssel erstellen.
Im Rahmen des Schnellstarts werden die Anfragen über die Befehlszeile an die Cloud KMS-API gesendet. Programmbeispiele für die Verwendung von Clientbibliotheken zum Senden der Anfragen an die Cloud KMS-API finden Sie unter Daten verschlüsseln und entschlüsseln.
Hinweis
-
Installieren Sie die Google Cloud CLI.
-
Konfigurieren Sie die gcloud CLI für die Verwendung Ihrer föderierten Identität.
Weitere Informationen finden Sie unter 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 -
Cloud de Confiance Projekt erstellen oder auswählen
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 jedes Projekt auswählen, für das Ihnen eine Rolle zugewiesen wurde.
-
Projekt erstellen: Zum Erstellen eines Projekts benötigen Sie die Rolle „Project Creator“ (
roles/resourcemanager.projectCreator), die die Berechtigungresourcemanager.projects.createenthält. Informationen zum Zuweisen von Rollen
-
So erstellen Sie ein Cloud de Confiance Projekt:
gcloud projects create PROJECT_ID
Ersetzen Sie
PROJECT_IDdurch einen Namen für das Projekt in Cloud de Confiance , das Sie erstellen. -
Wählen Sie das von Ihnen erstellte Projekt in Cloud de Confiance aus:
gcloud config set project PROJECT_ID
Ersetzen Sie
PROJECT_IDdurch Ihren Cloud de Confiance Projektnamen.
-
Prüfen Sie, ob die Abrechnung für Ihr Cloud de Confiance -Projekt aktiviert ist.
Aktivieren Sie die Cloud KMS API, falls sie noch nicht aktiviert ist:
Rollen, die zum Aktivieren von APIs erforderlich sind
Zum Aktivieren von APIs benötigen Sie die Berechtigung
serviceusage.services.enable. Wenn Sie das Projekt erstellt haben, haben Sie diese Berechtigung wahrscheinlich bereits über die Inhaberrolle (roles/owner). Andernfalls können Sie diese Berechtigung über die Rolle „Service Usage-Administrator“ (roles/serviceusage.serviceUsageAdmin) erhalten. Informationen zum Zuweisen von Rollengcloud services enable cloudkms.googleapis.com
-
Weisen Sie Ihrem Nutzerkonto Rollen zu. Führen Sie den folgenden Befehl für jede der folgenden IAM-Rollen einmal 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 Konto. Beispiele finden Sie unter Workforce-Pool-Nutzer in IAM-Richtlinien darstellen.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 Cloud de Confiance zusammen mit den Ressourcen, damit Ihrem Konto von Cloud de Confiance die auf dieser Seite verwendeten Ressourcen nicht in Rechnung gestellt werden.
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, wobei 1 die Nummer der Schlüsselversion ist, die Sie löschen möchten:
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üsseln inaktiver Daten