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 von Sensitive Data Protection senden können.
Der Einsatz eines kryptografischen Schlüssels zum De-Identifizieren und Re-Identifizieren von Inhalten wird als Pseudonymisierung (oder Tokenisierung) bezeichnet. Konzeptinformationen zu diesem Prozess finden Sie unter Pseudonymisierung.
Ein Beispiel, in dem gezeigt wird, wie Sie einen verpackten Schlüssel erstellen, Inhalte tokenisieren und tokenisierte Inhalte re-identifizieren, finden Sie unter Stattdessen vertraulichen Text de-identifizieren und re-identifizieren.
Sie können die Schritte in diesem Dokument in 5 bis 10 Minuten ausführen, die Schritte unter „ Hinweis “ nicht mitgerechnet.
Hinweis
- Melden Sie sich in Ihrem Google Cloud Konto an. Wenn Sie noch kein Konto bei Google Cloudhaben, erstellen Sie eines, 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 Sie ein Google Cloud Projekt oder wählen Sie eines aus.
Rollen, die zum Auswählen oder Erstellen eines Projekts erforderlich sind
- 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.
-
Erstellen Sie ein Google Cloud Projekt:
gcloud projects create PROJECT_ID
Ersetzen Sie
PROJECT_IDdurch einen Namen für das Google Cloud Projekt, das Sie erstellen. -
Wählen Sie das von Ihnen erstellte Google Cloud Projekt aus:
gcloud config set project PROJECT_ID
Ersetzen Sie
PROJECT_IDdurch Ihren Google Cloud Projektnamen.
-
Wenn Sie für diese Anleitung ein vorhandenes Projekt verwenden, prüfen Sie, ob Sie die erforderlichen Berechtigungen haben. Wenn Sie ein neues Projekt erstellt haben, haben Sie bereits die erforderlichen Berechtigungen.
-
Prüfen Sie, ob die Abrechnung für Ihr Google Cloud Projekt aktiviert ist.
Aktivieren Sie die Sensitive Data Protection API und die Cloud KMS API, falls sie noch nicht aktiviert sind:
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 Rolle „Inhaber“ (roles/owner). Andernfalls können Sie diese Berechtigung über die Rolle „Service Usage-Administrator“ (roles/serviceusage.serviceUsageAdmin) erhalten. Rollen zuweisen.gcloud services enable dlp.googleapis.com
cloudkms.googleapis.com -
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 Sie ein Google Cloud Projekt oder wählen Sie eines aus.
Rollen, die zum Auswählen oder Erstellen eines Projekts erforderlich sind
- 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.
-
Erstellen Sie ein Google Cloud Projekt:
gcloud projects create PROJECT_ID
Ersetzen Sie
PROJECT_IDdurch einen Namen für das Google Cloud Projekt, das Sie erstellen. -
Wählen Sie das von Ihnen erstellte Google Cloud Projekt aus:
gcloud config set project PROJECT_ID
Ersetzen Sie
PROJECT_IDdurch Ihren Google Cloud Projektnamen.
-
Wenn Sie für diese Anleitung ein vorhandenes Projekt verwenden, prüfen Sie, ob Sie die erforderlichen Berechtigungen haben. Wenn Sie ein neues Projekt erstellt haben, haben Sie bereits die erforderlichen Berechtigungen.
-
Prüfen Sie, ob die Abrechnung für Ihr Google Cloud Projekt aktiviert ist.
Aktivieren Sie die Sensitive Data Protection API und die Cloud KMS API, falls sie noch nicht aktiviert sind:
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 Rolle „Inhaber“ (roles/owner). Andernfalls können Sie diese Berechtigung über die Rolle „Service Usage-Administrator“ (roles/serviceusage.serviceUsageAdmin) erhalten. Rollen zuweisen.gcloud services enable dlp.googleapis.com
cloudkms.googleapis.com
Erforderliche Rollen
Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen für das Projekt zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Erstellen eines verpackten AES-Schlüssels benötigen:
- Cloud KMS-Administrator (
roles/cloudkms.admin) - Cloud KMS CryptoKey-Verschlüsseler (
roles/cloudkms.cryptoKeyEncrypter)
Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.
Sie können die erforderlichen Berechtigungen auch über benutzerdefinierte Rollen oder andere vordefinierte Rollen erhalten.
Schlüsselbund und Schlüssel erstellen
Bevor Sie mit diesem Verfahren beginnen, legen Sie fest, wo Sensitive Data Protection Ihre Anfragen zum De-Identifizieren und Re-Identifizieren 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 von Sensitive Data Protection. 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: projects/<var>PROJECT_ID</var>/locations/global/keyRings/dlp-keyring/cryptoKeys/dlp-key PURPOSE: ENCRYPT_DECRYPT ALGORITHM: GOOGLE_SYMMETRIC_ENCRYPTION PROTECTION_LEVEL: SOFTWARE LABELS: PRIMARY_ID: 1 PRIMARY_STATE: ENABLEDIn dieser Ausgabe ist
PROJECT_IDdie ID Ihres Projekts.Der Wert von
NAMEist der vollständige Ressourcenname Ihres Cloud KMS-Schlüssels. Notieren Sie sich diesen Wert, da er für die Anfragen zum De-Identifizieren und Re-Identifizieren erforderlich ist.
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" 32Die Datei
aes_key.binwird Ihrem aktuellen Verzeichnis hinzugefügt.Codieren Sie den AES-Schlüssel als base64-String:
base64 -i ./aes_key.binDie Ausgabe sollte in etwa so aussehen:
uEDo6/yKx+zCg2cZ1DBwpwvzMVNk/c+jWs7OwpkMc/s=
AES-Schlüssel mit dem Cloud KMS-Schlüssel verpacken
In diesem Abschnitt wird beschrieben, wie Sie den Cloud KMS-Schlüssel, den Sie unter Schlüsselbund und Schlüssel erstellen erstellt haben, verwenden, um den base64-codierten AES Schlüssel zu verpacken, den Sie unter Base64-codierten AES-Schlüssel erstellen erstellt haben.
Verwenden Sie curl, um den AES-Schlüssel zu verpacken und die folgende Anfrage an die
Cloud KMS API
projects.locations.keyRings.cryptoKeys.encrypt
Methode 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: die ID Ihres Projekts.BASE64_ENCODED_AES_KEY: der base64-codierte String , der unter Base64-codierten AES-Schlüssel erstellen zurückgegeben wurde.
Die Antwort von Cloud KMS sieht in etwa wie die folgende JSON-Datei aus:
{
"name": "projects/<var>PROJECT_ID</var>/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.
Dies ist Ihr verpackter Schlüssel.
Nächste Schritte
Weitere Informationen zum Tokenisieren von Daten mit einem kryptografischen Schlüssel.
Ein Beispiel, in dem gezeigt wird, wie Sie einen verpackten Schlüssel erstellen, Inhalte tokenisieren und tokenisierte Inhalte re-identifizieren.
Weitere Informationen zu De-Identifizierungsmethoden, die diesen verpackten Schlüssel verwenden, und Code beispiele.