Verpackten Schlüssel erstellen

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 des Sensitive Data Protection-Dienstes 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

  1. 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.
  2. Install the Google Cloud CLI.
  3. To initialize the gcloud CLI, run the following command:

    gcloud init
  4. 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.

  5. Make sure that billing is enabled for your Google Cloud project.

  6. Enable the Sensitive Data Protection and Cloud KMS APIs:

    gcloud services enable dlp.googleapis.com cloudkms.googleapis.com
  7. 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 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.
  8. Install the Google Cloud CLI.
  9. To initialize the gcloud CLI, run the following command:

    gcloud init
  10. 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.

  11. Make sure that billing is enabled for your Google Cloud project.

  12. Enable the Sensitive Data Protection and Cloud KMS APIs:

    gcloud services enable dlp.googleapis.com cloudkms.googleapis.com
  13. 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 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.

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 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\"}"

Dabei gilt:

  • 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