Daten verschlüsseln und entschlüsseln

Der AO führt Verschlüsselungs- und Entschlüsselungsvorgänge über die Air-Gap-CLI von Google Distributed Cloud (GDC) für den KMS über einen gRPC-Client aus.

Hinweise

Bevor Sie KMS-Vorgänge ausführen, müssen Sie kubectl für den Zugriff auf den Management API-Server konfigurieren und die erforderlichen Berechtigungen abrufen.

Serverzugriff für die Management API konfigurieren

Konfigurieren Sie kubectl für den Zugriff auf den Management API-Server:

  1. Falls noch nicht geschehen, rufen Sie eine kubeconfig-Datei für den Management API-Server mit der gdcloud-Befehlszeile (Command Line Interface, CLI) ab.
  2. Legen Sie die Umgebungsvariable MANAGEMENT_API_SERVER fest:

    export MANAGEMENT_API_SERVER=PATH_TO_KUBECONFIG
    

    Ersetzen Sie PATH_TO_KUBECONFIG durch den Pfad der generierten kubeconfig-Datei.

  3. Laden Sie die gcloud CLI herunter, installieren und konfigurieren Sie sie, falls noch nicht geschehen. Folgen Sie dazu der Übersicht über die gdcloud CLI.

Erforderliche Berechtigungen

Bitten Sie Ihren IAM-Administrator der Organisation, Ihnen die Rolle „KMS-Entwickler“ (kms-developer) in Ihrem Projekt zuzuweisen, um die erforderlichen Berechtigungen zu erhalten.

Daten verschlüsseln

Verwenden Sie den Befehl gdcloud kms keys encrypt, um Daten zu verschlüsseln. Mit diesem Befehl wird eine angegebene Klartextdatei mit dem Schlüssel AEAD verschlüsselt und in eine benannte Chiffretextdatei geschrieben.

  • Um Daten zu verschlüsseln, übergeben Sie den Schlüsselnamen und Folgendes:

    gdcloud kms keys encrypt namespaces/NAMESPACE/aeadKeys/KEY_NAME \
      --plaintext-file=PLAINTEXT_PATH \
      --additional-authenticated-data-file=ADDITIONAL_AUTHENTICATED_DATA_FILE \
      --ciphertext-file=CIPHERTEXT_PATH
    

    Ersetzen Sie die folgenden Variablen:

    • NAMESPACE: der Projekt-Namespace, z. B. kms-test1.
    • KEY_NAME: der Name des Schlüssels, mit dem der Klartext verschlüsselt wird, z. B. key-1.
    • PLAINTEXT_PATH: Der Pfad zur Datei, die den zu verschlüsselnden Klartext enthält.
    • ADDITIONAL_AUTHENTICATED_DATA_FILE: Eine optionale Datei, die zusätzliche authentifizierte Daten (AAD) enthält. AAD werden für Integritätsprüfungen verwendet und schützen Ihre Daten vor einer Confused Deputy Attack. AAD und Klartext haben jeweils eine Größenbeschränkung von 64 KB.
    • CIPHERTEXT_PATH: Der Pfad zur Datei, die den verschlüsselten Klartext enthält.

    Nachdem Sie den Befehl ausgeführt haben, wird eine Datei angezeigt, die Sie im Flag --ciphertext-file angegeben haben und die den verschlüsselten Inhalt der Klartextdatei enthält.

Daten entschlüsseln

Verwenden Sie den Befehl gdcloud kms keys decrypt, um Daten zu entschlüsseln. Mit diesem Befehl wird eine bestimmte Geheimtextdatei mit dem Schlüssel AEAD entschlüsselt und in eine benannte Klartextdatei geschrieben.

  • Um Geheimtext zu entschlüsseln, übergeben Sie den Schlüsselnamen und Folgendes:

    gdcloud kms keys decrypt namespaces/NAMESPACE/aeadKeys/KEY_NAME \
     --ciphertext-file=CIPHERTEXT_PATH \
     --additional-authenticated-data-file=ADDITIONAL_AUTHENTICATED_DATA_FILE \
     --plaintext-file=PLAINTEXT_PATH
    

    Ersetzen Sie die folgenden Variablen:

    • NAMESPACE: der Projekt-Namespace.
    • KEY_NAME: der Name des Schlüssels, mit dem der Klartext verschlüsselt wird.
    • CIPHERTEXT_PATH: Der Pfad der Datei, die Sie entschlüsseln möchten.
    • ADDITIONAL_AUTHENTICATED_DATA_FILE: Eine optionale Datei, die zusätzliche authentifizierte Daten (AAD) enthält. AAD werden für Integritätsprüfungen verwendet und schützen Ihre Daten vor einer Confused Deputy Attack. AAD und Klartext haben jeweils eine Größenbeschränkung von 64 KB.
    • PLAINTEXT_PATH: Der Pfad zur Datei, die den entschlüsselten Klartext enthält.

    Nachdem Sie den Befehl ausgeführt haben, wird eine Datei angezeigt, die Sie im Flag --plaintext-file angegeben haben und die die entschlüsselten Daten enthält.