Auf dieser Seite wird beschrieben, wie Sie mit Cloud Key Management Service (Cloud KMS) einen verpackten Schlüssel erstellen, mit dem Sie dann deidentify
- und reidentify
-Anfragen an die Cloud Data Loss Prevention API für den Schutz sensibler Daten senden können.
Der Einsatz eines kryptografischen Schlüssels zum De-Identifizieren und Re-Identifizieren von Inhalten wird als Pseudonymisierung (oder Tokenisierung) bezeichnet. Konzeptionelle Informationen zu diesem Prozess finden Sie unter Pseudonymisierung.
Ein End-to-End-Beispiel, das zeigt, wie Sie einen verpackten Schlüssel erstellen, Inhalte tokenisieren und tokenisierte Inhalte re-identifizieren, finden Sie stattdessen unter Kurzanleitung: Sensiblen Text de-identifizieren und re-identifizieren.
Die in diesem Thema beschriebenen Schritte lassen sich in 5 bis 10 Minuten ausführen. Dabei sind die Schritte unter Vorbereitung nicht berücksichtigt.
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.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
Create or select a Google Cloud project.
-
Create a Google Cloud project:
gcloud projects create PROJECT_ID
Replace
PROJECT_ID
with 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_ID
with your Google Cloud project name.
-
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Sensitive Data Protection and Cloud KMS APIs:
gcloud services enable dlp.googleapis.com
cloudkms.googleapis.com -
Grant roles to your user account. Run the following command once for each of the following IAM roles:
roles/dlp.user
gcloud projects add-iam-policy-binding PROJECT_ID --member="USER_IDENTIFIER" --role=ROLE
- Replace
PROJECT_ID
with your project ID. -
Replace
USER_IDENTIFIER
with the identifier for your user account. For example,user:myemail@example.com
. - Replace
ROLE
with each individual role.
- Replace
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
Create or select a Google Cloud project.
-
Create a Google Cloud project:
gcloud projects create PROJECT_ID
Replace
PROJECT_ID
with 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_ID
with your Google Cloud project name.
-
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Sensitive Data Protection and Cloud KMS APIs:
gcloud services enable dlp.googleapis.com
cloudkms.googleapis.com -
Grant roles to your user account. Run the following command once for each of the following IAM roles:
roles/dlp.user
gcloud projects add-iam-policy-binding PROJECT_ID --member="USER_IDENTIFIER" --role=ROLE
- Replace
PROJECT_ID
with your project ID. -
Replace
USER_IDENTIFIER
with the identifier for your user account. For example,user:myemail@example.com
. - Replace
ROLE
with each individual role.
- Replace
Schritt 1: Schlüsselbund und Schlüssel erstellen
Bevor Sie mit diesem Verfahren beginnen, entscheiden Sie, wo der Schutz sensibler Daten Ihre De-Identifikations- und Re-Identifikationsanfragen verarbeiten soll. Wenn Sie einen Cloud KMS-Schlüssel erstellen, müssen Sie ihn entweder in global
oder in derselben Region speichern, die Sie für Ihre Anfragen zum Schutz sensibler Daten verwenden.
Andernfalls schlagen die Anfragen zum Schutz sensibler Daten fehl.
Eine Liste der unterstützten Standorte finden Sie unter Standorte für den Schutz sensibler Daten. Notieren Sie sich den Namen der ausgewählten Region (z. B. us-west1
).
In diesem Verfahren wird global
als Speicherort für alle API-Anfragen verwendet. Wenn Sie eine andere Region verwenden möchten, ersetzen Sie global
durch den Namen der Region.
Erstellen Sie einen Schlüsselbund:
gcloud kms keyrings create "dlp-keyring" \ --location "global"
Erstellen Sie einen Schlüssel:
gcloud kms keys create "dlp-key" \ --location "global" \ --keyring "dlp-keyring" \ --purpose "encryption"
Listen Sie den Schlüsselbund und Schlüssel auf:
gcloud kms keys list \ --location "global" \ --keyring "dlp-keyring"
Sie erhalten folgende Ausgabe:
NAME PURPOSE ALGORITHM PROTECTION_LEVEL LABELS PRIMARY_ID PRIMARY_STATE projects/PROJECT_ID/locations/global/keyRings/dlp-keyring/cryptoKeys/dlp-key ENCRYPT_DECRYPT GOOGLE_SYMMETRIC_ENCRYPTION SOFTWARE 1 ENABLED
In dieser Ausgabe ist
PROJECT_ID
die ID Ihres Projekts.Der Pfad unter
NAME
ist der vollständige Ressourcenname Ihres Cloud KMS-Schlüssels. Beachten Sie dies, da die De-Identifikations- und Re-Identifikationsanfragen sie erfordern.
Schritt 2: base64-codierten AES-Schlüssel erstellen
In diesem Abschnitt wird beschrieben, wie Sie einen AES-Schlüssel (Advanced Encryption Standard) erstellen und im base64-Format codieren.
Erstellen Sie einen AES-Schlüssel mit 128, 192 oder 256 Bit. Der folgende Befehl verwendet
openssl
, um einen 256-Bit-Schlüssel im aktuellen Verzeichnis zu erstellen:openssl rand -out "./aes_key.bin" 32
Die Datei
aes_key.bin
wird Ihrem aktuellen Verzeichnis hinzugefügt.Codieren Sie den AES-Schlüssel als base64-String:
base64 -i ./aes_key.bin
Die Ausgabe sollte in etwa so aussehen:
uEDo6/yKx+zCg2cZ1DBwpwvzMVNk/c+jWs7OwpkMc/s=
Schritt 3: AES-Schlüssel mit dem Cloud KMS-Schlüssel verpacken
In diesem Abschnitt wird beschrieben, wie Sie mit dem in Schritt 1 erstellten Cloud KMS-Schlüssel den base64-codierten AES-Schlüssel verpacken, den Sie in Schritt 2 erstellt haben.
Verwenden Sie zum Verpacken des AES-Schlüssels curl
, um folgende Anfrage an die Cloud KMS API projects.locations.keyRings.cryptoKeys.encrypt
zu senden:
curl "https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/global/keyRings/dlp-keyring/cryptoKeys/dlp-key:encrypt" \
--request "POST" \
--header "Authorization:Bearer $(gcloud auth application-default print-access-token)" \
--header "content-type: application/json" \
--data "{\"plaintext\": \"BASE64_ENCODED_AES_KEY\"}"
Ersetzen Sie Folgendes:
PROJECT_ID
ist die Projekt-ID.BASE64_ENCODED_AES_KEY
ist der in Schritt 2 zurückgegebene base64-codierte String.
Die Antwort von Cloud KMS sieht in etwa wie die folgende JSON-Datei aus:
{ "name": "projects/PROJECT_ID/locations/global/keyRings/dlp-keyring/cryptoKeys/dlp-key/cryptoKeyVersions/1", "ciphertext": "CiQAYuuIGo5DVaqdE0YLioWxEhC8LbTmq7Uy2G3qOJlZB7WXBw0SSQAjdwP8ZusZJ3Kr8GD9W0vaFPMDksmHEo6nTDaW/j5sSYpHa1ym2JHk+lUgkC3Zw5bXhfCNOkpXUdHGZKou1893O8BDby/82HY=", "ciphertextCrc32c": "901327763", "protectionLevel": "SOFTWARE" }
In dieser Ausgabe ist PROJECT_ID
die ID Ihres Projekts.
Notieren Sie sich den Wert von ciphertext
in der Antwort, die Sie erhalten.
Dies ist Ihr verpackter Schlüssel.
Nächste Schritte
Ein End-to-End-Beispiel durcharbeiten, das zeigt, wie Sie einen verpackten Schlüssel erstellen, Inhalte tokenisieren und tokenisierte Inhalte neu identifizieren
Weitere Informationen zu De-Identifikationsmethoden, die diesen verpackten Schlüssel akzeptieren, und Codebeispiele