Google Cloud offre due vincoli dei criteri dell'organizzazione per impostare i criteri di distruzione della versione della chiave in un'organizzazione:
constraints/cloudkms.minimumDestroyScheduledDuration
viene utilizzato per impostare una lunghezza minima per la durata dell'eliminazione pianificata delle nuove chiavi all'interno dell'organizzazione.constraints/cloudkms.disableBeforeDestroy
viene utilizzato per richiedere che una versione della chiave sia stata disabilitata prima che possa essere pianificata per l'eliminazione.
Prima di iniziare
Le istruzioni riportate in questa pagina presuppongono che tu abbia familiarità con l'utilizzo dei vincoli e che tu disponga delle risorse e dei ruoli richiesti.
Risorse richieste
Prima di poter completare i passaggi descritti in questa pagina, devi disporre delle seguenti risorse:
- Un'organizzazione.
- (Facoltativo) Una cartella o una risorsa di progetto all'interno della tua organizzazione.
Ruoli obbligatori
Per ottenere le autorizzazioni necessarie per gestire i criteri dell'organizzazione,
chiedi all'amministratore di concederti il ruolo IAM
Amministratore criteri dell'organizzazione (roles/orgpolicy.policyAdmin
) per l'organizzazione.
Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso.
Questo ruolo predefinito contiene le autorizzazioni necessarie per gestire i criteri dell'organizzazione. Per visualizzare esattamente le autorizzazioni necessarie, espandi la sezione Autorizzazioni obbligatorie:
Autorizzazioni obbligatorie
Per gestire i criteri dell'organizzazione sono necessarie le seguenti autorizzazioni:
-
orgpolicy.constraints.list
-
orgpolicy.policies.create
-
orgpolicy.policies.delete
-
orgpolicy.policies.list
-
orgpolicy.policies.update
-
orgpolicy.policy.get
-
orgpolicy.policy.set
Potresti anche riuscire a ottenere queste autorizzazioni con i ruoli personalizzati o altri ruoli predefiniti.
Richiede una durata minima per l'eliminazione pianificata
Il vincolo Durata pianificata minima dell'eliminazione per chiave
(constraints/cloudkms.minimumDestroyScheduledDuration
) viene utilizzato per impostare una
lunghezza minima per la durata dell'eliminazione pianificata delle nuove chiavi. Questo vincolo sostituisce la durata minima dell'eliminazione pianificata a livello di progetto, cartella o organizzazione. Questo vincolo riduce la possibilità di
distruggere accidentalmente una chiave ancora necessaria. Puoi impostare questo vincolo su un valore più alto per avere il tempo di evitare l'eliminazione delle chiavi prima che diventi irreversibile.
Utilizza valori più elevati per questo vincolo quando l'eliminazione indesiderata delle chiavi sarebbe più dannosa, ad esempio per i dati di produzione soggetti a requisiti di conservazione dei dati. Utilizza valori più bassi per questo vincolo quando l'eliminazione indesiderata delle chiavi sarebbe meno dannosa, ad esempio per gli ambienti di sviluppo o test. Puoi anche utilizzare valori più bassi per consentire un crypto-shredding tempestivo. Tuttavia, come valore minimo, questo vincolo non può garantire che vengano create nuove chiavi con durate pianificate per l'eliminazione basse.
Per richiedere una durata minima per l'eliminazione pianificata:
Recupera il criterio attuale per la risorsa dell'organizzazione utilizzando il comando
describe
. Questo comando restituisce il criterio applicato direttamente a questa risorsa:gcloud org-policies describe \ constraints/cloudkms.minimumDestroyScheduledDuration \ --organization=ORGANIZATION_ID
Sostituisci
ORGANIZATION_ID
con l'identificatore univoco della risorsa dell'organizzazione. L'ID organizzazione è formattato come numeri decimali e non può contenere zeri iniziali.Puoi anche visualizzare il criterio dell'organizzazione per una cartella o un progetto con i flag
--folder
o--project
e l'ID cartella o l'ID progetto, rispettivamente.La risposta restituisce il criterio dell'organizzazione attuale, se esistente. L'output è simile al seguente:
name: organizations/ORGANIZATION_ID/policies/cloudkms.minimumDestroyScheduledDuration spec: etag: COTP+KYGELiCmsoB inheritFromParent: true rules: - values: allowedValues: - in:7d updateTime: '2023-08-17T14:00:04.424051Z'
Se un criterio non è configurato, il comando
describe
restituisce un erroreNOT_FOUND
:ERROR: (gcloud.org-policies.describe) NOT_FOUND: Requested entity was not found.
Imposta il criterio sull'organizzazione utilizzando il comando
set-policy
. Questo comando sovrascrive qualsiasi criterio attualmente associato alla risorsa.Crea un file temporaneo
/tmp/policy.yaml
per archiviare il criterio:name: organizations/ORGANIZATION_ID/policies/cloudkms.minimumDestroyScheduledDuration spec: rules: - values: allowedValues: - in:MINIMUM_DURATION
Sostituisci quanto segue:
ORGANIZATION_ID
: l'ID numerico della tua organizzazione.MINIMUM_DURATION
: la durata minima in giorni dello stato pianificata per l'eliminazione per le chiavi in questa organizzazione. Deve essere uno dei seguenti valori:7d
,15d
,30d
,60d
,90d
o120d
.
Esegui il comando
set-policy
:gcloud org-policies set-policy /tmp/policy.yaml
Visualizza il criterio attualmente in vigore utilizzando
describe --effective
. Questo comando restituisce il criterio dell'organizzazione così come viene valutato a questo punto della gerarchia delle risorse, con l'ereditarietà inclusa.gcloud org-policies describe \ constraints/cloudkms.minimumDestroyScheduledDuration --effective \ --organization=ORGANIZATION_ID
L'output è simile al seguente:
name: organizations/ORGANIZATION_ID/policies/cloudkms.minimumDestroyScheduledDuration spec: rules: - values: allowedValues: - 30d - 15d - 90d - 60d - 7d - 120d
Poiché questo criterio dell'organizzazione è stato impostato a livello di organizzazione, viene ereditato da tutte le risorse figlio che consentono l'ereditarietà.
Richiedi la disattivazione delle chiavi prima dell'eliminazione
Il vincolo Limita l'eliminazione delle chiavi alle chiavi disabilitate
(constraints/cloudkms.disableBeforeDestroy
) ti consente di richiedere che una chiave sia stata disabilitata prima di poterne pianificare l'eliminazione.
La disabilitazione di una chiave prima di distruggerla è una best practice consigliata perché ti consente di verificare che la chiave non sia in uso. Puoi combinare questo vincolo con un criterio di Identity and Access Management attento per creare un processo di distruzione in più fasi che richiede la collaborazione tra più ruoli.
Per utilizzare questo vincolo e creare un processo di eliminazione in più passaggi, assicurati che nessun utente disponga delle autorizzazioni cloudkms.cryptoKeyVersions.update
e cloudkms.cryptoKeyVersions.destroy
. Questo caso d'uso richiede l'uso di ruoli personalizzati.
Per richiedere che una chiave sia disattivata prima di poterne pianificare l'eliminazione, segui questi passaggi:
gcloud
Recupera il criterio attuale per la risorsa dell'organizzazione utilizzando il comando
describe
. Questo comando restituisce il criterio applicato direttamente a questa risorsa:gcloud org-policies describe \ constraints/cloudkms.disableBeforeDestroy \ --organization=ORGANIZATION_ID
Sostituisci
ORGANIZATION_ID
con l'identificatore univoco della risorsa dell'organizzazione. L'ID organizzazione è formattato come numeri decimali e non può contenere zeri iniziali.Puoi anche visualizzare il criterio dell'organizzazione per una cartella o un progetto con i flag
--folder
o--project
e l'ID cartella o l'ID progetto, rispettivamente.La risposta restituisce il criterio dell'organizzazione attuale, se esistente. L'output è simile al seguente:
name: organizations/ORGANIZATION_ID/policies/cloudkms.disableBeforeDestroy spec: etag: CPvY+KYGENDwgxA= rules: - enforce: true updateTime: '2023-08-17T14:19:39.033618Z'
Se un criterio non è configurato, il comando
describe
restituisce un erroreNOT_FOUND
:ERROR: (gcloud.org-policies.describe) NOT_FOUND: Requested entity was not found.
Imposta il criterio sull'organizzazione utilizzando il comando
set-policy
. Questo comando sovrascrive qualsiasi criterio già associato alla risorsa.Crea un file temporaneo
/tmp/policy.yaml
per archiviare il criterio:name: organizations/ORGANIZATION_ID/policies/cloudkms.disableBeforeDestroy spec: rules: - enforce: true
Sostituisci
ORGANIZATION_ID
con l'identificatore univoco della risorsa dell'organizzazione.Esegui il comando
set-policy
:gcloud org-policies set-policy /tmp/policy.yaml
Visualizza il criterio attualmente in vigore utilizzando
describe --effective
. Questo comando restituisce il criterio dell'organizzazione così come viene valutato a questo punto della gerarchia delle risorse, con l'ereditarietà inclusa.gcloud org-policies describe \ constraints/cloudkms.disableBeforeDestroy --effective \ --organization=ORGANIZATION_ID
L'output è simile al seguente:
name: organizations/ORGANIZATION_ID/policies/cloudkms.minimumDestroyScheduledDuration spec: rules: - enforce: true
Poiché questo criterio dell'organizzazione è stato impostato a livello di organizzazione, viene ereditato da tutte le risorse figlio che consentono l'ereditarietà.
Passaggi successivi
- Scopri di più sugli stati delle versioni delle chiavi.
- Eliminare e ripristinare la versione di una chiave.