Auf dieser Seite wird beschrieben, wie Sie mit Cloud Key Management Service (Cloud KMS) einen verpackten Schlüssel erstellen, den Sie dann zum Senden von deidentify
- und reidentify
-Anfragen an die Cloud Data Loss Prevention API von Sensitive Data Protection verwenden 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.
-
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 folgenden Befehl aus, um die gcloud CLI zu initialisieren:
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.
-
-
Verify 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: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 folgenden Befehl aus, um die gcloud CLI zu initialisieren:
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.
-
-
Verify 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: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.
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.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=
PROJECT_ID
ist die Projekt-ID.BASE64_ENCODED_AES_KEY
ist der in Schritt 2 zurückgegebene base64-codierte String.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
Schritt 1: Schlüsselbund und Schlüssel erstellen
Entscheiden Sie vor Beginn dieses Verfahrens, wo Sensitive Data Protection 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 Sensitive Data Protection-Anfragen verwenden.
Andernfalls schlagen die Sensitive Data Protection-Anfragen 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.
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.
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\"}"
Dabei gilt:
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.