Questa pagina ti guida nella gestione dei bucket di archiviazione criptati, concentrandosi in particolare sull'aggiornamento e sulla rotazione delle AEADKeys per la crittografia v2. Vengono trattati i prerequisiti e i passaggi per l'utilizzo dei comandi kubectl per gestire i secret kekRef e le AEADKeys. Queste informazioni ti consentono di applicare una solida sicurezza dei dati e ridurre al minimo il rischio di compromettere le chiavi di crittografia tramite una gestione efficace del ciclo di vita.
Questa pagina è rivolta a destinatari come gli amministratori IT del gruppo di operatori dell'infrastruttura o gli sviluppatori del gruppo di operatori delle applicazioni che gestiscono le impostazioni di crittografia per i bucket di archiviazione negli ambienti air-gapped di Google Distributed Cloud (GDC). Per saperne di più, vedi Destinatari della documentazione di GDC con air gap.
Prima di iniziare
I bucket di archiviazione sono risorse con ambito specifico per un progetto. Il progetto funge da container, raggruppando i bucket e consentendone la gestione tramite il server API di gestione. Prima di poter eseguire le operazioni descritte in questa pagina, devi creare un nuovo progetto o selezionarne uno esistente in cui disponi delle autorizzazioni sufficienti.
Ruoli IAM richiesti
Contatta l'amministratore del progetto IAM per richiedere i seguenti ruoli nello spazio dei nomi del progetto:
- Project Bucket Admin (
project-bucket-admin): crea, aggiorna ed elimina i bucket di archiviazione. - Project Bucket Object Viewer (
project-bucket-object-viewer): visualizza e controlla i dettagli dei bucket e degli oggetti di archiviazione.
Per saperne di più, vedi Concedere l'accesso ai bucket.
prepara l'ambiente
Per eseguire i comandi sul server API di gestione o sul server API globale:
- Accedi e genera il file kubeconfig per il server API di gestione zonale, se non ne hai uno.
- Per i bucket a doppia zona:
- Verifica con l'operatore dell'infrastruttura (IO) che la risorsa personalizzata
BucketLocationConfigsia stata creata per le zone accoppiate. - Genera il file kubeconfig per il server API globale.
- Verifica con l'operatore dell'infrastruttura (IO) che la risorsa personalizzata
Gestire le risorse di crittografia
I bucket con crittografia v2 avranno un secret kekRef e diverse AEADKeys create, in cui kekRef viene utilizzato per fare riferimento alle AEADKeys predefinite attive in uso e le AEADKeys includono quelle attive e di archivio appartenenti al bucket.
Aggiornare le AEADKeys predefinite attive per un bucket
Come best practice, aggiorna le AEADKeys predefinite del bucket dopo circa 42 miliardi di scritture di oggetti. Questo passaggio proattivo migliora la sicurezza ed evita l'esaurimento delle chiavi. La procedura di aggiornamento creerà un nuovo kekRef e disattiverà le AEADKeys precedenti. Per avviare la procedura di aggiornamento, elimina il secret kekRef associato al bucket.
Il kekRef precedente può essere recuperato eseguendo il seguente comando:
kubectl get secrets -n NAMESPACE_NAME -l object.gdc.goog/bucket-name=BUCKET_NAME
Poi puoi eseguire il comando seguente per eliminare il kekRef esistente:
kubectl delete secrets OLD_KEKREF_NAME -n NAMESPACE_NAME
Dopo l'eliminazione, puoi eseguire il comando seguente per verificare che sia stato creato un nuovo kekRef in base a AGE:
kubectl get secrets -n NAMESPACE_NAME -l object.gdc.goog/bucket-name=BUCKET_NAME
Verifica che siano state create nuove AEADKeys predefinite in base a AGE:
kubectl get aeadkeys -n NAMESPACE_NAME -l cmek.security.gdc.goog/resource-name=BUCKET_NAME
Ruotare le AEADKeys predefinite per un bucket
Se una AEADKey per il tuo bucket viene compromessa, devi ruotare manualmente le chiavi di crittografia delle chiavi associate al bucket.
Per avviare la procedura, devi prima aggiornare le chiavi predefinite attive. In questo modo vengono create nuove AEADKeys predefinite attive e le chiavi di crittografia delle chiavi precedenti vengono contrassegnate come disattivate. Dopo l'aggiornamento delle chiavi predefinite, i caricamenti di oggetti successivi utilizzano le nuove AEADKeys come chiavi di crittografia delle chiavi. Le AEADKeys precedenti non vengono eliminate, quindi puoi comunque decriptare gli oggetti esistenti che sono stati criptati in precedenza utilizzando queste chiavi.
Poi, segui i passaggi per scaricare e ricaricare gli oggetti nel bucket ed eliminare quelli precedenti.
Dopo aver ricaricato tutti gli oggetti nel bucket, puoi liberare spazio dalle AEADKeys inattive e dagli oggetti precedenti. Identifica le AEADKeys disattivate in base a AGE:
kubectl get aeadkeys -n NAMESPACE_NAME -l cmek.security.gdc.goog/resource-name=BUCKET_NAME
Infine, segui i passaggi per eliminare le AEADKeys.