Este documento é destinado a proprietários de projetos e administradores de organizações que querem proteger projetos contra exclusão.
Adicione uma garantia a um projeto para bloquear a exclusão dele. Ele só poderá ser excluído após a remoção da garantia. Isso é útil para proteger projetos muito importantes.
As garantias também podem ser colocadas em um projeto automaticamente. Por exemplo, se você permitir que as contas de serviço do Identity and Access Management (IAM) de um projeto sejam anexados a recursos em outros projetos, uma garantia será aplicada ao projeto onde as contas de serviço estão localizadas.
Antes de começar
A CLI gcloud é a maneira mais fácil de interagir com as garantias do projeto. Se você não tiver a ferramenta instalada, use o Google Cloud Shell.
Funções exigidas
Para receber as permissões necessárias para modificar garantias, peça ao administrador para conceder a você o papel do IAM de Modificador de garantias do projeto (roles/resourcemanager.lienModifier) nos projetos.
Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.
Esse papel predefinido contém as permissões necessárias para modificar garantias. Para acessar as permissões exatas que são necessárias, expanda a seção Permissões necessárias:
Permissões necessárias
As permissões a seguir são necessárias para modificar garantias:
-
resourcemanager.projects.updateLiens -
Listar garantias em um projeto:
resourcemanager.projects.get
Essas permissões também podem ser concedidas com funções personalizadas ou outros papéis predefinidos.
Colocar uma garantia em um projeto
Para colocar uma garantia em um projeto, use o comando alpha resource-manager liens create.
gcloud alpha resource-manager liens create \ --project=PROJECT_ID \ --restrictions=PERMISSION_RESTRICTION \ --reason=LIEN_REASON \ --origin=LIEN_ORIGIN
Substitua:
- PROJECT_ID: ID do projeto a que a garantia se aplica.
- PERMISSION_RESTRICTION: lista separada por vírgulas de
permissões do IAM para bloquear. A única restrição válida para um projeto é
resourcemanager.projects.delete. - LIEN_REASON: descrição legível que explica o motivo da garantia. Coloque essa descrição entre aspas duplas. Exemplo:
"This project is protected by a lien". - LIEN_ORIGIN: string que indica o usuário ou sistema que originou a garantia. É um campo obrigatório, mas é preenchido automaticamente com o endereço de e-mail do usuário se for omitido.
Listar garantias em um projeto
Para listar todas as garantias aplicadas a um projeto, use o comando alpha resource-manager liens list.
gcloud alpha resource-manager liens list
O resultado será assim:
gcloud alpha resource-manager liens list
NAME ORIGIN REASON
p1061081023732-l3d8032b3-ea2c-4683-ad48-5ca23ddd00e7 user@example.com testing
Remover garantias de um projeto
Para remover uma garantia de um projeto, use o comando alpha resource-manager liens delete.
gcloud alpha resource-manager liens delete LIEN_NAME
Substitua LIEN_NAME pelo nome da garantia a ser excluída,
como p1061081023732-l3d8032b3-ea2c-4683-ad48-5ca23ddd00e7.
Referências
Referência da API: Recurso REST: garantias