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 dieGoogle Cloud -Konsole verwendet, um Schlüsselbunde, Schlüssel und Schlüsselversionen in Cloud KMS zu erstellen. Eine Anleitung mit anderen Methoden 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.
Hinweise
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
Install the 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 -
Create or select a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Create a Google Cloud project:
gcloud projects create PROJECT_ID
Replace
PROJECT_IDwith a name for the Google Cloud project you are creating. -
Select the Google Cloud project that you created:
gcloud config set project PROJECT_ID
Replace
PROJECT_IDwith your Google Cloud project name.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Cloud KMS API:
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.gcloud services enable cloudkms.googleapis.com
-
Grant roles to your user account. Run the following command once for each of the following IAM roles:
roles/cloudkms.admin, roles/cloudkms.cryptoKeyEncrypterDecrypter, roles/servicemanagement.serviceConsumergcloud projects add-iam-policy-binding PROJECT_ID --member="user:USER_IDENTIFIER" --role=ROLE
Replace the following:
PROJECT_ID: Your project ID.USER_IDENTIFIER: The identifier for your user account. For example,myemail@example.com.ROLE: The IAM role that you grant to your user account.
-
Install the 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 -
Create or select a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Create a Google Cloud project:
gcloud projects create PROJECT_ID
Replace
PROJECT_IDwith a name for the Google Cloud project you are creating. -
Select the Google Cloud project that you created:
gcloud config set project PROJECT_ID
Replace
PROJECT_IDwith your Google Cloud project name.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Cloud KMS API:
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.gcloud services enable cloudkms.googleapis.com
-
Grant roles to your user account. Run the following command once for each of the following IAM roles:
roles/cloudkms.admin, roles/cloudkms.cryptoKeyEncrypterDecrypter, roles/servicemanagement.serviceConsumergcloud projects add-iam-policy-binding PROJECT_ID --member="user:USER_IDENTIFIER" --role=ROLE
Replace the following:
PROJECT_ID: Your project ID.USER_IDENTIFIER: The identifier for your user account. For example,myemail@example.com.ROLE: The IAM role that you grant to your user account.
- Mit der Verwendung der API beginnen.
- API-Referenz ansehen.
- Weitere Informationen zum Verschlüsseln inaktiver Daten
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 Google Cloud zusammen mit den Ressourcen, damit Ihrem Konto von Google Cloud 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"