Protezione dei progetti con blocchi

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

Puoi impostare un blocco su un progetto per impedirne l'eliminazione finché non lo rimuovi. Questa funzionalità può essere utile per proteggere i progetti di particolare importanza.

I privilegi possono essere applicati automaticamente anche a un progetto. Ad esempio, se consenti agli service account Identity and Access Management (IAM) di un progetto di essere collegati a risorse in altri progetti, viene inserito un vincolo nel progetto in cui si trovano i service account.

Prima di iniziare

Gcloud CLI è il modo più semplice per interagire con i vincoli del progetto. Se non è installato, puoi utilizzare Google Cloud Shell.

Ruoli obbligatori

Per ottenere le autorizzazioni necessarie per modificare i vincoli, chiedi all'amministratore di concederti il ruolo IAM Project lien modifier (roles/resourcemanager.lienModifier) nei progetti. 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 modificare i vincoli. Per vedere quali sono esattamente le autorizzazioni richieste, espandi la sezione Autorizzazioni obbligatorie:

Autorizzazioni obbligatorie

Per modificare i privilegi sono necessarie le seguenti autorizzazioni:

  • resourcemanager.projects.updateLiens
  • Elenca i privilegi su un progetto: resourcemanager.projects.get

Potresti anche ottenere queste autorizzazioni con ruoli personalizzati o altri ruoli predefiniti.

Impostare un blocco su un progetto

Per inserire un vincolo su un progetto, utilizza il comando alpha resource-manager liens create.

gcloud alpha resource-manager liens create \
  --project=PROJECT_ID \
  --restrictions=PERMISSION_RESTRICTION \
  --reason=LIEN_REASON \
  --origin=LIEN_ORIGIN

Sostituisci quanto segue:

  • PROJECT_ID: l'ID del progetto a cui si applica il vincolo.
  • PERMISSION_RESTRICTION: elenco separato da virgole di autorizzazioni IAM da bloccare. L'unica limitazione valida per un progetto è resourcemanager.projects.delete.
  • LIEN_REASON: descrizione leggibile del motivo per cui esiste questa garanzia. Inserisci questa descrizione tra virgolette doppie. Esempio: "This project is protected by a lien".
  • LIEN_ORIGIN: stringa che indica l'utente o il sistema che ha generato il privilegio. È un campo obbligatorio, ma viene compilato automaticamente con l'indirizzo email dell'utente se omesso.

Elenco dei privilegi su un progetto

Per elencare tutti i vincoli applicati a un progetto, utilizza il comando alpha resource-manager liens list.

gcloud alpha resource-manager liens list

L'output è simile al seguente:

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

Rimozione di privilegi da un progetto

Per rimuovere un vincolo da un progetto, utilizza il comando alpha resource-manager liens delete.

gcloud alpha resource-manager liens delete LIEN_NAME

Sostituisci LIEN_NAME con il nome del vincolo da eliminare, ad esempio p1061081023732-l3d8032b3-ea2c-4683-ad48-5ca23ddd00e7.

Riferimenti

Riferimento API: Risorsa REST: liens