Criptare e decriptare i dati

L'AO esegue operazioni di crittografia e decriptazione tramite l'interfaccia a riga di comando con air gap di Google Distributed Cloud (GDC) su KMS tramite un client gRPC.

Prima di iniziare

Prima di eseguire le operazioni KMS, configura kubectl per accedere al server API Management e ottenere le autorizzazioni necessarie.

Configurare l'accesso al server dell'API Management

Configura kubectl per accedere al server dell'API Management:

  1. Se non l'hai ancora fatto, recupera un file kubeconfig per il server API Management utilizzando l'interfaccia a riga di comando (CLI) gcloud.
  2. Imposta la variabile di ambiente MANAGEMENT_API_SERVER:

    export MANAGEMENT_API_SERVER=PATH_TO_KUBECONFIG
    

    Sostituisci PATH_TO_KUBECONFIG con il percorso del file kubeconfig generato.

  3. Se non l'hai ancora fatto, scarica, installa e configura gcloud CLI. Per farlo, segui la panoramica di gcloud CLI.

Autorizzazioni obbligatorie

Per ottenere le autorizzazioni necessarie, chiedi all'amministratore IAM dell'organizzazione di concederti il ruolo Sviluppatore KMS (kms-developer) nel tuo progetto.

Criptare i dati

Per criptare i dati, utilizza il comando gdcloud kms keys encrypt. Questo comando cripta un determinato file di testo normale utilizzando la chiave AEAD e lo scrive in un file di testo cifrato denominato.

  • Per criptare i dati, trasmetti il nome della chiave e quanto segue:

    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
    

    Sostituisci le seguenti variabili:

    • NAMESPACE: lo spazio dei nomi del progetto, ad esempio: kms-test1.
    • KEY_NAME: il nome della chiave utilizzata per criptare il testo non criptato, ad esempio key-1.
    • PLAINTEXT_PATH: il percorso del file che contiene il testo non crittografato da criptare.
    • ADDITIONAL_AUTHENTICATED_DATA_FILE: un file facoltativo che contiene dati autenticati aggiuntivi (AAD). AAD viene utilizzato per controlli di integrità e protegge i tuoi dati da un attacco confused deputy. AAD e il testo non crittografato hanno un limite di dimensione di 64 KB.
    • CIPHERTEXT_PATH: il percorso del file che contiene il testo non crittografato.

    Dopo aver eseguito il comando, vedrai un file specificato nel flag --ciphertext-file che contiene i contenuti criptati del file di testo normale.

Decriptare i dati

Per decriptare i dati, utilizza il comando gdcloud kms keys decrypt. Questo comando decripta un file di testo crittografato specificato utilizzando la chiave AEAD e lo scrive in un file di testo normale denominato.

  • Per decriptare il testo crittografato, inserisci il nome della chiave e quanto segue:

    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
    

    Sostituisci le seguenti variabili:

    • NAMESPACE: lo spazio dei nomi del progetto.
    • KEY_NAME: il nome della chiave utilizzata per criptare il testo non criptato.
    • CIPHERTEXT_PATH: il percorso del file che vuoi decriptare.
    • ADDITIONAL_AUTHENTICATED_DATA_FILE: un file facoltativo che contiene dati autenticati aggiuntivi (AAD). AAD viene utilizzato per controlli di integrità e protegge i tuoi dati da un attacco confused deputy. AAD e il testo non crittografato hanno un limite di dimensione di 64 KB.
    • PLAINTEXT_PATH: il percorso del file che contiene il testo non crittografato decriptato.

    Dopo aver eseguito il comando, viene visualizzato un file specificato nel flag --plaintext-file che contiene i dati decriptati.