Questa pagina descrive come utilizzare Cloud Key Management Service (Cloud KMS) per creare una
chiave con wrapping che puoi poi utilizzare per inviare
deidentify e
reidentify richieste
all'API Cloud Data Loss Prevention di Sensitive Data Protection.
Il processo di utilizzo di una chiave di crittografia per anonimizzare e reidentificare i contenuti è chiamato pseudonimizzazione (o tokenizzazione). Per informazioni concettuali su questo processo, consulta Pseudonimizzazione.
Per un esempio che mostra come creare una chiave con wrapping, tokenizzare i contenuti e reidentificare i contenuti tokenizzati, consulta Anonimizzare e reidentificare il testo sensibile.
Puoi completare i passaggi descritti in questo documento in 5-10 minuti, esclusi i passaggi della sezione Prima di iniziare.
Prima di iniziare
-
Installa Google Cloud CLI.
-
Configura gcloud CLI per utilizzare la tua identità federata.
Per ulteriori informazioni, vedi Accedi a gcloud CLI con la tua identità federata.
-
Per inizializzare gcloud CLI, esegui questo comando:
gcloud init -
Crea o seleziona un Google Cloud progetto.
Ruoli richiesti per selezionare o creare un progetto
- Seleziona un progetto: la selezione di un progetto non richiede un ruolo IAM specifico: puoi selezionare qualsiasi progetto su cui ti è stato concesso un ruolo.
-
Crea un progetto: per creare un progetto, devi disporre del ruolo Autore progetto
(
roles/resourcemanager.projectCreator), che contiene l'resourcemanager.projects.createautorizzazione. Scopri come concedere i ruoli.
-
Crea un Google Cloud progetto:
gcloud projects create PROJECT_ID
Sostituisci
PROJECT_IDcon un nome per il Google Cloud progetto che stai creando. -
Seleziona il Google Cloud progetto che hai creato:
gcloud config set project PROJECT_ID
Sostituisci
PROJECT_IDcon il nome del Google Cloud progetto.
-
Se utilizzi un progetto esistente per questa guida, verifica di disporre delle autorizzazioni necessarie per completare la guida. Se hai creato un nuovo progetto, disponi già delle autorizzazioni necessarie.
-
Verifica che la fatturazione sia attivata per il tuo Google Cloud progetto.
Abilita le API Sensitive Data Protection e Cloud KMS:
Ruoli richiesti per abilitare le API
Per abilitare le API, devi disporre dell'autorizzazione
serviceusage.services.enable. Se hai creato il progetto, probabilmente hai già questa autorizzazione tramite il ruolo Proprietario (roles/owner). In caso contrario, puoi ottenere questa autorizzazione tramite il ruolo Amministratore utilizzo servizi (roles/serviceusage.serviceUsageAdmin). Scopri come concedere i ruoli.gcloud services enable dlp.googleapis.com
cloudkms.googleapis.com
Ruoli obbligatori
Per ottenere le autorizzazioni necessarie per creare una chiave AES con wrapping, chiedi all'amministratore di concederti i seguenti ruoli IAM per il progetto:
- Amministratore Cloud KMS (
roles/cloudkms.admin) - Cloud KMS CryptoKey Encrypter (
roles/cloudkms.cryptoKeyEncrypter)
Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.
Potresti anche riuscire a ottenere le autorizzazioni richieste tramite i ruoli personalizzati o altri ruoli predefiniti.
Creare chiavi automatizzate 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 delle località supportate in Località di Sensitive Data Protection. Prendi nota del nome della regione scelta (ad esempio, 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 chiavi automatizzate:
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 le chiavi automatizzate e la chiave:
gcloud kms keys list \ --location "global" \ --keyring "dlp-keyring"Viene visualizzato il seguente output:
NAME: projects/<var>PROJECT_ID</var>/locations/global/keyRings/dlp-keyring/cryptoKeys/dlp-key PURPOSE: ENCRYPT_DECRYPT ALGORITHM: GOOGLE_SYMMETRIC_ENCRYPTION PROTECTION_LEVEL: SOFTWARE LABELS: PRIMARY_ID: 1 PRIMARY_STATE: ENABLEDIn questo output,
PROJECT_IDè l'ID del tuo progetto.Il valore di
NAMEè il nome completo della risorsa della chiave Cloud KMS. Prendi nota di questo valore perché è richiesto dalle richieste di anonimizzazione e reidentificazione.
Creare una chiave AES con codifica in 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
opensslper creare una chiave a 256 bit nella directory corrente:openssl rand -out "./aes_key.bin" 32Il file
aes_key.binviene aggiunto alla directory corrente.Codifica la chiave AES come stringa base64:
base64 -i ./aes_key.binViene visualizzato un output simile al seguente:
uEDo6/yKx+zCg2cZ1DBwpwvzMVNk/c+jWs7OwpkMc/s=
Eseguire il wrapping della chiave AES utilizzando la chiave Cloud KMS
Questa sezione descrive come utilizzare la chiave Cloud KMS creata in Creare chiavi automatizzate e una chiave per eseguire il wrapping della chiave AES con codifica in base64 creata in Creare una chiave AES con codifica in base64.
Per eseguire il wrapping della chiave AES, utilizza curl per inviare la seguente richiesta al
metodo
projects.locations.keyRings.cryptoKeys.encrypt
dell'API Cloud KMS:
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 tuo progetto.BASE64_ENCODED_AES_KEY: la stringa con codifica in base64 restituita in Creare una chiave AES con codifica in base64.
La risposta che ricevi da Cloud KMS è simile al seguente JSON:
{
"name": "projects/<var>PROJECT_ID</var>/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 tuo progetto.
Prendi nota del valore di ciphertext nella risposta.
Questa è la chiave con wrapping.
Passaggi successivi
Scopri di più sulla tokenizzazione dei dati tramite una chiave di crittografia.
Segui un esempio che mostra come creare una chiave con wrapping , tokenizzare i contenuti e reidentificare i contenuti tokenizzati.
Scopri di più sui metodi di anonimizzazione che utilizzano questa chiave con wrapping, ed esamina gli esempi di codice.