Protezione dei progetti da eliminazione accidentale tramite blocchi

Mantieni tutto organizzato con le raccolte Salva e classifica i contenuti in base alle tue preferenze.

Questo documento è rivolto ai proprietari del progetto e agli amministratori dell'organizzazione che vogliono aggiungere protezioni contro l'eliminazione dei progetti.

Puoi posizionare un blocco su un progetto per bloccarne l'eliminazione finché non rimuovi il blocco. Questo può essere utile per proteggere i progetti di particolare importanza.

I blocchi possono inoltre essere applicati automaticamente a un progetto. Ad esempio, se consenti che gli account di servizio Identity and Access Management (IAM) di un progetto vengano collegati alle risorse in altri progetti, viene posizionato un blocco sul progetto in cui si trovano gli account di servizio.

L'interfaccia a riga di comando gcloud è il modo più semplice per interagire con i blocchi progetto. Se non l'hai installato, puoi utilizzare Google Cloud Shell.

Inserimento di un blocco su un progetto

Per applicare un blocco a un progetto, un utente deve avere l'autorizzazione resourcemanager.projects.updateLiens concessa dai ruoli roles/owner e roles/resourcemanager.lienModifier.

gcloud alpha resource-manager liens create \
  --restrictions=resourcemanager.projects.delete \
  --reason="Super important production system"

I parametri disponibili per liens create sono:

  • --project: il progetto a cui si applica il blocco.
  • --restrictions: un elenco separato da virgole di autorizzazioni IAM da bloccare.
  • --reason: una descrizione leggibile del motivo dell'esistenza di questo blocco.
  • --origin: una breve stringa che indica l'utente o il sistema da cui ha avuto origine il blocco. Obbligatorio, ma lo strumento gcloud lo completa automaticamente con l'indirizzo email dell'utente se non viene specificato.

Al momento, l'unica limitazione valida per un progetto è resourcemanager.projects.delete.

Elenco dei blocchi su un progetto

Per elencare i blocchi applicati a un progetto, un utente deve disporre dell'autorizzazione resourcemanager.projects.get. Utilizza il comando gcloud liens list.

gcloud alpha resource-manager liens list

Ecco un esempio di output per questo comando:

gcloud alpha resource-manager liens list
NAME                                                  ORIGIN            REASON
p1061081023732-l3d8032b3-ea2c-4683-ad48-5ca23ddd00e7  user@example.com  testing

Rimozione dei blocchi da un progetto

Per rimuovere un blocco da un progetto, un utente deve disporre dell'autorizzazione resourcemanager.projects.updateLiens, che viene concessa da roles/owner e roles/resourcemanager.lienModifier.

gcloud alpha resource-manager liens delete [LIEN_NAME]

dove:

  • [LIEN_NAME] è il nome del blocco da eliminare.

Riferimenti

Riferimento API: REST Resource: liens