Google Cloud offre due vincoli di policy dell'organizzazione per impostare la policy di distruzione delle versioni delle chiavi in un'organizzazione:
constraints/cloudkms.minimumDestroyScheduledDurationviene utilizzato per impostare una durata minima per lo stato pianificata per l'eliminazione per le nuove chiavi all'interno dell'organizzazione.constraints/cloudkms.disableBeforeDestroyviene utilizzato per richiedere che una versione della chiave sia stata disattivata prima di poter 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 risorsa progetto o cartella all'interno della tua organizzazione.
Ruoli obbligatori
Per ottenere le autorizzazioni necessarie per gestire le policy dell'organizzazione, chiedi all'amministratore di concederti il ruolo IAM Amministratore delle policy dell'organizzazione (roles/orgpolicy.policyAdmin) sull'organizzazione.
Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.
Questo ruolo predefinito contiene le autorizzazioni necessarie per gestire le policy dell'organizzazione. Per vedere quali sono esattamente le autorizzazioni richieste, espandi la sezione Autorizzazioni obbligatorie:
Autorizzazioni obbligatorie
Per gestire le policy 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 ottenere queste autorizzazioni con ruoli personalizzati o altri ruoli predefiniti.
Richiedere una durata minima pianificata per l'eliminazione
Il vincolo Durata pianificata minima dell'eliminazione per chiave (constraints/cloudkms.minimumDestroyScheduledDuration) viene utilizzato per impostare una durata minima per lo stato pianificata per l'eliminazione per le nuove chiavi. Questo vincolo sostituisce la durata minima pianificata per l'eliminazione a livello di progetto, cartella o organizzazione. Questo vincolo riduce la probabilità di eliminare accidentalmente una chiave ancora necessaria. Puoi impostare questo vincolo su un valore più alto per assicurarti di avere il tempo di impedire l'eliminazione della chiave prima che diventi irreversibile.
Utilizza valori più alti 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 la distruzione crittografica tempestiva. Tuttavia, come valore minimo, questo vincolo non può garantire che le nuove chiavi vengano create con durate pianificate per l'eliminazione basse.
Per richiedere una durata minima pianificata per l'eliminazione:
Ottieni la policy corrente sulla risorsa dell'organizzazione utilizzando il comando
describe. Questo comando restituisce la policy applicata direttamente a questa risorsa:gcloud org-policies describe \ constraints/cloudkms.minimumDestroyScheduledDuration \ --organization=ORGANIZATION_IDSostituisci
ORGANIZATION_IDcon l'identificatore univoco della risorsa dell'organizzazione. L'ID organizzazione è formattato come numeri decimali e non può avere zeri iniziali.Puoi anche visualizzare la policy dell'organizzazione per una cartella o un progetto con i flag
--foldero--projecte, rispettivamente, l'ID cartella o l'ID progetto.La risposta restituisce la policy dell'organizzazione corrente, se esiste. 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 non è impostata una policy, il comando
describerestituisce un erroreNOT_FOUND:ERROR: (gcloud.org-policies.describe) NOT_FOUND: Requested entity was not found.Imposta la policy sull'organizzazione utilizzando il comando
set-policy. Questo comando sovrascrive qualsiasi policy attualmente collegata alla risorsa.Crea un file temporaneo
/tmp/policy.yamlper archiviare la policy:name: organizations/ORGANIZATION_ID/policies/cloudkms.minimumDestroyScheduledDuration spec: rules: - values: allowedValues: - in:MINIMUM_DURATIONSostituisci quanto segue:
ORGANIZATION_ID: l'ID numerico della tua organizzazione.MINIMUM_DURATION: la durata minima dello stato pianificata per l'eliminazione per le chiavi in questa organizzazione, in giorni. Deve essere uno dei seguenti valori:7d,15d,30d,60d,90do120d.
Esegui il comando
set-policy:gcloud org-policies set-policy /tmp/policy.yaml
Visualizza la policy effettiva corrente utilizzando
describe --effective. Questo comando restituisce la policy dell'organizzazione così come viene valutata in questo punto della gerarchia delle risorse, inclusa l'ereditarietà.gcloud org-policies describe \ constraints/cloudkms.minimumDestroyScheduledDuration --effective \ --organization=ORGANIZATION_IDL'output è simile al seguente:
name: organizations/ORGANIZATION_ID/policies/cloudkms.minimumDestroyScheduledDuration spec: rules: - values: allowedValues: - 30d - 15d - 90d - 60d - 7d - 120dPoiché questa policy dell'organizzazione è stata impostata a livello di organizzazione, viene ereditata da tutte le risorse figlio che consentono l'ereditarietà.
Richiedere la disattivazione delle chiavi prima dell'eliminazione
Il vincolo Limita l'eliminazione delle chiavi alle chiavi disattivate (constraints/cloudkms.disableBeforeDestroy) ti consente di richiedere che una chiave sia stata disattivata prima di poter pianificare l'eliminazione della chiave.
La disattivazione di una chiave prima della sua eliminazione è una best practice consigliata perché ti aiuta a verificare che la chiave non sia in uso. Puoi combinare questo vincolo con una policy di Identity and Access Management attenta per creare un processo di eliminazione in più passaggi che richiede la collaborazione di più ruoli.
Per utilizzare questo vincolo per 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 che
tu utilizzi ruoli personalizzati.
Per richiedere che una chiave sia nello stato disattivata prima di poter pianificare l'eliminazione della chiave:
gcloud
Ottieni la policy corrente sulla risorsa dell'organizzazione utilizzando il comando
describe. Questo comando restituisce la policy applicata direttamente a questa risorsa:gcloud org-policies describe \ constraints/cloudkms.disableBeforeDestroy \ --organization=ORGANIZATION_IDSostituisci
ORGANIZATION_IDcon l'identificatore univoco della risorsa dell'organizzazione. L'ID organizzazione è formattato come numeri decimali e non può avere zeri iniziali.Puoi anche visualizzare la policy dell'organizzazione per una cartella o un progetto con i flag
--foldero--projecte, rispettivamente, l'ID cartella o l'ID progetto.La risposta restituisce la policy dell'organizzazione corrente, se esiste. 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 non è impostata una policy, il comando
describerestituisce un erroreNOT_FOUND:ERROR: (gcloud.org-policies.describe) NOT_FOUND: Requested entity was not found.Imposta la policy sull'organizzazione utilizzando il comando
set-policy. Questo comando sovrascrive qualsiasi policy già collegata alla risorsa.Crea un file temporaneo
/tmp/policy.yamlper archiviare la policy:name: organizations/ORGANIZATION_ID/policies/cloudkms.disableBeforeDestroy spec: rules: - enforce: trueSostituisci
ORGANIZATION_IDcon l'identificatore univoco della risorsa dell'organizzazione.Esegui il comando
set-policy:gcloud org-policies set-policy /tmp/policy.yaml
Visualizza la policy effettiva corrente utilizzando
describe --effective. Questo comando restituisce la policy dell'organizzazione così come viene valutata in questo punto della gerarchia delle risorse, inclusa l'ereditarietà.gcloud org-policies describe \ constraints/cloudkms.disableBeforeDestroy --effective \ --organization=ORGANIZATION_IDL'output è simile al seguente:
name: organizations/ORGANIZATION_ID/policies/cloudkms.minimumDestroyScheduledDuration spec: rules: - enforce: truePoiché questa policy dell'organizzazione è stata impostata a livello di organizzazione, viene ereditata da tutte le risorse figlio che consentono l'ereditarietà.
Passaggi successivi
- Scopri di più sugli stati delle versioni delle chiavi.
- Elimina e ripristina una versione della chiave.