Este documento destina-se a Proprietários de projetos e Administradores de organizações que queiram adicionar mecanismos de proteção contra a exclusão de projetos.
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.
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.
Como aplicar uma garantia em um projeto
Para colocar uma garantia em um projeto, um usuário deve ter a
permissão resourcemanager.projects.updateLiens
concedida pelos papéis
roles/owner
e roles/resourcemanager.lienModifier
.
gcloud alpha resource-manager liens create \
--restrictions=resourcemanager.projects.delete \
--reason="Super important production system"
Os parâmetros disponíveis para liens create
são:
--project
- o projeto a que a garantia se aplica.--restrictions
- uma lista separada por vírgulas com permissões do IAM para bloquear.--reason
- uma descrição legível que explica o porquê da garantia.--origin
- uma string curta indicando o usuário/sistema que originou a garantia. Ela é obrigatória, mas a ferramenta gcloud a preenche automaticamente com o endereço de e-mail do usuário se não for preenchida.
No momento, a única restrição válida para projetos é
resourcemanager.projects.delete
.
Como listar as garantias de um projeto
Para listar garantias aplicadas a um projeto, um usuário deve ter a
permissão resourcemanager.projects.get
. Use o comando gcloud liens list
.
gcloud alpha resource-manager liens list
Veja um exemplo de saída desse comando:
gcloud alpha resource-manager liens list
NAME ORIGIN REASON
p1061081023732-l3d8032b3-ea2c-4683-ad48-5ca23ddd00e7 user@example.com testing
Como remover garantias de um projeto
Para remover uma garantia de um projeto, um usuário deve ter a
permissão resourcemanager.projects.updateLiens
concedida por
roles/owner
e roles/resourcemanager.lienModifier
.
gcloud alpha resource-manager liens delete [LIEN_NAME]
onde:
- [LIEN_NAME] é o nome da garantia a ser excluída.
Referências
Referência da API: Recurso REST: garantias