Questa pagina descrive come utilizzare Cloud Key Management Service (Cloud KMS) per creare una chiave con wrapping che potrai poi utilizzare per inviare richieste deidentify
e reidentify
all'API Cloud Data Loss Prevention di Sensitive Data Protection.
Il processo di utilizzo di una chiave di crittografia per anonimizzare e reidentificare nuovamente i contenuti è chiamato pseudonimizzazione (o tokenizzazione). Per informazioni concettuali su questo processo, consulta la sezione Attribuzione di pseudonimi.
Per un esempio end-to-end che illustra come creare una chiave con wrapping, tokenizzare i contenuti e reidentificare i contenuti tokenizzati, consulta invece la guida rapida: anonimizzazione e reidentificazione del testo sensibile.
Puoi completare i passaggi in questo argomento in 5-10 minuti, esclusi i passaggi Prima di iniziare.
Prima di iniziare
- Accedi al tuo account Google Cloud. Se non conosci Google Cloud, crea un account per valutare le prestazioni dei nostri prodotti in scenari reali. I nuovi clienti ricevono anche 300 $di crediti gratuiti per l'esecuzione, il test e il deployment dei carichi di lavoro.
- Installa Google Cloud CLI.
-
Per initialize gcloud CLI, esegui questo comando:
gcloud init
-
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.
-
-
Assicurati che la fatturazione sia attivata per il tuo progetto Google Cloud.
-
Abilita le API Sensitive Data Protection and Cloud KMS.
gcloud services enable dlp.googleapis.com
cloudkms.googleapis.com -
Concedi i ruoli al tuo Account Google. Esegui questo comando una volta per ciascuno dei seguenti ruoli IAM:
roles/dlp.user
gcloud projects add-iam-policy-binding PROJECT_ID --member="user:EMAIL_ADDRESS" --role=ROLE
- Sostituisci
PROJECT_ID
con l'ID progetto. - Sostituisci
EMAIL_ADDRESS
con il tuo indirizzo email. - Sostituisci
ROLE
con ogni singolo ruolo.
- Sostituisci
- Installa Google Cloud CLI.
-
Per initialize gcloud CLI, esegui questo comando:
gcloud init
-
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.
-
-
Assicurati che la fatturazione sia attivata per il tuo progetto Google Cloud.
-
Abilita le API Sensitive Data Protection and Cloud KMS.
gcloud services enable dlp.googleapis.com
cloudkms.googleapis.com -
Concedi i ruoli al tuo Account Google. Esegui questo comando una volta per ciascuno dei seguenti ruoli IAM:
roles/dlp.user
gcloud projects add-iam-policy-binding PROJECT_ID --member="user:EMAIL_ADDRESS" --role=ROLE
- Sostituisci
PROJECT_ID
con l'ID progetto. - Sostituisci
EMAIL_ADDRESS
con il tuo indirizzo email. - Sostituisci
ROLE
con ogni singolo ruolo.
- Sostituisci
Passaggio 1: crea un keyring e una chiave
Prima di iniziare questa procedura, decidi dove vuoi che Sensitive Data Protection elabori le richieste di anonimizzazione e reidentificazione. Quando crei una chiave Cloud KMS, devi archiviarla in global
o nella stessa regione che utilizzerai per le richieste di Sensitive Data Protection.
In caso contrario, le richieste di Sensitive Data Protection non andranno a buon fine.
Puoi trovare un elenco dei paesi supportati nella pagina relativa alle località di Sensitive Data Protection. Prendi nota del nome della regione che hai scelto (ad es. us-west1
).
Questa procedura utilizza global
come località per tutte le richieste API. Se vuoi
utilizzare un'altra regione, sostituisci global
con il nome della regione.
Crea un keyring:
gcloud kms keyrings create "dlp-keyring" \ --location "global"
Crea una chiave:
gcloud kms keys create "dlp-key" \ --location "global" \ --keyring "dlp-keyring" \ --purpose "encryption"
Elenca il keyring e la chiave:
gcloud kms keys list \ --location "global" \ --keyring "dlp-keyring"
Ottieni il seguente output:
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 questo output,
PROJECT_ID
è l'ID del progetto.Il percorso in
NAME
è il nome completo della risorsa della tua chiave Cloud KMS. Prendi nota di questo perché le richieste di anonimizzazione e reidentificazione lo richiedono.
Passaggio 2: crea una chiave AES con codifica Base64
Questa sezione descrive come creare una chiave Advanced Encryption Standard (AES) e codificarla in formato base64.
Crea una chiave AES a 128, 192 o 256 bit. Il seguente comando utilizza
openssl
per creare una chiave a 256 bit nella directory attuale:openssl rand -out "./aes_key.bin" 32
Il file
aes_key.bin
viene aggiunto alla directory attuale.Codifica la chiave AES come stringa base64:
base64 -i ./aes_key.bin
Ottieni un output simile al seguente:
uEDo6/yKx+zCg2cZ1DBwpwvzMVNk/c+jWs7OwpkMc/s=
Passaggio 3: esegui il wrapping della chiave AES utilizzando la chiave Cloud KMS
Questa sezione descrive come utilizzare la chiave Cloud KMS creata nel Passaggio 1 per eseguire il wrapping della chiave AES con codifica Base64 che hai creato nel Passaggio 2.
Per eseguire il wrapping della chiave AES, utilizza curl
per inviare la seguente richiesta all'API Cloud KMSprojects.locations.keyRings.cryptoKeys.encrypt
:
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\"}"
Sostituisci quanto segue:
PROJECT_ID
: l'ID del progetto.BASE64_ENCODED_AES_KEY
: la stringa con codifica Base64 è stata restituita nel Passaggio 2.
La risposta che ricevi da Cloud KMS è simile al seguente JSON:
{ "name": "projects/PROJECT_ID/locations/global/keyRings/dlp-keyring/cryptoKeys/dlp-key/cryptoKeyVersions/1", "ciphertext": "CiQAYuuIGo5DVaqdE0YLioWxEhC8LbTmq7Uy2G3qOJlZB7WXBw0SSQAjdwP8ZusZJ3Kr8GD9W0vaFPMDksmHEo6nTDaW/j5sSYpHa1ym2JHk+lUgkC3Zw5bXhfCNOkpXUdHGZKou1893O8BDby/82HY=", "ciphertextCrc32c": "901327763", "protectionLevel": "SOFTWARE" }
In questo output, PROJECT_ID
è l'ID del progetto.
Prendi nota del valore di ciphertext
nella risposta che ricevi.
Questa è la tua chiave con wrapping.
Passaggi successivi
Scopri di più sulla tokenizzazione dei dati tramite una chiave di crittografia.
Illustra un esempio end-to-end che dimostri come creare una chiave con wrapping, tokenizzare i contenuti e reidentificare i contenuti tokenizzati.
Scopri di più sui metodi di anonimizzazione che accettano questa chiave con wrapping ed esamina gli esempi di codice.