Como mover um projeto

Este guia explica como mover um projeto dentro do recurso da organização.

O projeto é a entidade organizacional básica em um recurso da organização do Google Cloud. Os projetos são criados em recursos da organização e podem ser colocados em pastas ou no próprio recurso da organização, formando a hierarquia de recursos. É possível mover recursos de projetos dentro da hierarquia de recursos, mas considere as implicações de política da migração antes de criá-los.

Quando você move um projeto, todas as políticas de gerenciamento de identidade e acesso ou políticas da organização anexadas diretamente serão movidas com ele. No entanto, um projeto na hierarquia de recursos também é afetado pelas políticas herdadas de recursos pai. Se um projeto herdar um papel do IAM que forneça aos usuários permissão para usar um determinado serviço, os usuários não terão acesso a esse serviço no destino, a menos que ele herde a permissão no destino também.

Por exemplo, considere que uma conta de serviço tem o papel de criador de objetos do Storage vinculado a um usuário na Pasta A. A conta de serviço tem permissões para fazer upload de dados para o Cloud Storage em qualquer projeto na Pasta A. Se você moveu um desses projetos para a Pasta B, que não tem as mesmas permissões herdadas, a conta de serviço desse projeto perderá a capacidade de fazer upload de dados, resultando em uma interrupção do serviço.

Essas mesmas considerações se aplicam se as políticas da Organização estiverem definidas nas pastas de origem e de destino. Assim como as políticas de IAM, as da Organização são herdadas. Portanto, você precisa garantir que as políticas da Organização sejam consistentes entre as pastas de origem e de destino.

Para saber mais sobre políticas da Organização, consulte Introdução ao serviço de Política de Organização.

Para mover um projeto, você precisa do papel do IAM de Movimentador de projetos (roles/resourcemanager.projectMover) nas pastas de origem e de destino. Se o recurso não estiver em uma pasta, você precisará desse papel no recurso da organização.

Esses papéis concedem as seguintes permissões exigidas:

  • resourcemanager.projects.update no projeto
  • Se o recurso estiver em uma pasta: resourcemanager.projects.move na pasta de origem e no destino
  • Se o recurso não estiver em uma pasta: resourcemanager.projects.move no recurso da organização

Também é possível receber essas permissões com papéis personalizados ou outros papéis predefinidos.

Console

Para mover um projeto, siga estas etapas:

  1. No Console do Google Cloud, acesse a página Gerenciar recursos.

    Acesse "Gerenciar recursos"

  2. Selecione a organização na lista suspensa Organização, na parte superior esquerda da página.

  3. Clique na linha do projeto para selecioná-lo na lista de recursos. Não clique no nome do projeto, porque isso leva você até a página do IAM do projeto.

  4. Clique no menu de opções (as reticências verticais) da linha e clique em Mover.

  5. Clique em Procurar para selecionar a pasta para que você quer mover o projeto.

  6. Clique em Mover.

gcloud

Para mover um projeto, execute o comando gcloud beta projects move:

gcloud beta projects move PROJECT_ID \
--DESTINATION_TYPE DESTINATION_ID

Em que:

  • PROJECT_ID é o ID ou o número do projeto que você quer mover.

  • DESTINATION_TYPE é organization ou folder.

  • DESTINATION_ID é o ID da pasta ou do recurso da organização para onde você quer mover o projeto. Só é possível especificar um destino.

API

Use o método v3 projects.move para mover um projeto.

Solicitação:

POST https://cloudresourcemanager.googleapis.com/v3/{name=PROJECT_NAME}:move
{
  "destinationParent": DESTINATION_PARENT
}

Em que:

  • PROJECT_NAME é o nome da visualização que você quer atualizar. Por exemplo, projects/415104041262

  • DESTINATION_PARENT é o novo recurso ou pasta pai da organização para onde você quer migrar o projeto. Por exemplo: organizations/12345678901

Se for bem-sucedida, a solicitação retornará uma Operação que pode ser usada para rastrear a movimentação do projeto.