Verpackten Schlüssel erstellen

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

  1. Melden Sie sich bei Ihrem Google Cloud-Konto an. Wenn Sie mit Google Cloud noch nicht vertraut sind, erstellen Sie ein Konto, 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.
  2. Installieren Sie die Google Cloud CLI.
  3. Führen Sie folgenden Befehl aus, um die gcloud CLI zu initialisieren:

    gcloud init
  4. Google Cloud-Projekt erstellen oder auswählen.

    • Erstellen Sie ein Google Cloud-Projekt:

      gcloud projects create PROJECT_ID

      Ersetzen Sie PROJECT_ID durch 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_ID durch den Namen Ihres Google Cloud-Projekts.

  5. Die Abrechnung für das Google Cloud-Projekt muss aktiviert sein.

  6. Aktivieren Sie die Sensitive Data Protection and Cloud KMS APIs:

    gcloud services enable dlp.googleapis.com cloudkms.googleapis.com
  7. Gewähren Sie Ihrem Google-Konto Rollen. Führen Sie den folgenden Befehl für jede der folgenden IAM-Rollen einmal aus: roles/dlp.user

    gcloud projects add-iam-policy-binding PROJECT_ID --member="user:EMAIL_ADDRESS" --role=ROLE
    • Ersetzen Sie PROJECT_ID durch Ihre Projekt-ID.
    • Ersetzen Sie EMAIL_ADDRESS durch Ihre E-Mail-Adresse.
    • Ersetzen Sie ROLE durch jede einzelne Rolle.
  8. Installieren Sie die Google Cloud CLI.
  9. Führen Sie folgenden Befehl aus, um die gcloud CLI zu initialisieren:

    gcloud init
  10. Google Cloud-Projekt erstellen oder auswählen.

    • Erstellen Sie ein Google Cloud-Projekt:

      gcloud projects create PROJECT_ID

      Ersetzen Sie PROJECT_ID durch 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_ID durch den Namen Ihres Google Cloud-Projekts.

  11. Die Abrechnung für das Google Cloud-Projekt muss aktiviert sein.

  12. Aktivieren Sie die Sensitive Data Protection and Cloud KMS APIs:

    gcloud services enable dlp.googleapis.com cloudkms.googleapis.com
  13. Gewähren Sie Ihrem Google-Konto Rollen. Führen Sie den folgenden Befehl für jede der folgenden IAM-Rollen einmal aus: roles/dlp.user

    gcloud projects add-iam-policy-binding PROJECT_ID --member="user:EMAIL_ADDRESS" --role=ROLE
    • Ersetzen Sie PROJECT_ID durch Ihre Projekt-ID.
    • Ersetzen Sie EMAIL_ADDRESS durch Ihre E-Mail-Adresse.
    • Ersetzen Sie ROLE durch jede einzelne Rolle.

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.

  1. Erstellen Sie einen Schlüsselbund:

    gcloud kms keyrings create "dlp-keyring" \
        --location "global"
    
  2. Erstellen Sie einen Schlüssel:

    gcloud kms keys create "dlp-key" \
        --location "global" \
        --keyring "dlp-keyring" \
        --purpose "encryption"
    
  3. 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.

  1. 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.

  2. 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