Criptare e decriptare i dati

Questo documento descrive come criptare e decriptare i dati utilizzando le chiavi di Key Management System (KMS) con la gdcloud CLI.

Questo documento è destinato ai destinatari del gruppo di operatori di applicazioni che devono eseguire operazioni di crittografia nei progetti GDC. Per saperne di più, consulta la sezione Destinatari della documentazione di GDC air-gapped.

Prima di iniziare

Prima di criptare o decriptare i dati, devi disporre delle autorizzazioni necessarie e preparare l'ambiente.

Richiedi ruoli IAM

Per criptare e decriptare i dati, contatta l'amministratore IAM dell'organizzazione per richiedere il ruolo Sviluppatore KMS (kms-developer) nello spazio dei nomi del progetto.

Prepara l'ambiente

Autorizzazioni obbligatorie

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

Cripta i dati

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

  • Per criptare i dati, inserisci 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 crittografato, 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 i controlli di integrità e protegge i dati da un attacco confused deputy. AAD e il testo non crittografato hanno un limite di dimensioni di 64 KB.
    • CIPHERTEXT_PATH: il percorso del file che contiene il testo normale criptato.

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

Decripta i dati

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

  • Per decriptare il testo cifrato, 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 crittografato.
    • 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 i controlli di integrità e protegge i dati da un attacco confused deputy. AAD e il testo non crittografato hanno un limite di dimensioni di 64 KB.
    • PLAINTEXT_PATH: il percorso del file che contiene il testo non crittografato decriptato.

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