Proteggere i progetti con blocchi

Questo documento è rivolto ai proprietari di progetti e agli amministratori dell'organizzazione che vogliono proteggere i progetti dall'eliminazione.

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 che i service account IAM (Identity and Access Management) di un progetto vengano 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 è installata, 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) sui 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.

Inserire un blocco su un progetto

Per inserire un blocco 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 delle autorizzazioni IAM da bloccare. L'unica limitazione valida per un progetto è resourcemanager.projects.delete.
  • LIEN_REASON: una 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 originato il privilegio. È un campo obbligatorio, ma viene compilato automaticamente con l'indirizzo email dell'utente se omesso.

Elencare i blocchi di 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

Rimuovere i privilegi da un progetto

Per rimuovere un blocco 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