Executar a migração

Esta página mostra as etapas para migrar um projeto Cloud de Confiance by S3NS de um recurso de organização para outro ou de nenhum recurso de organização para um recurso de organização.

Para migrar um projeto, verifique se você tem as permissões corretas do Identity and Access Management (IAM) e se políticas específicas da organização estão configuradas nos recursos de origem e de destino.

Antes de começar

A migração de um projeto é uma operação entre organizações. Para evitar movimentações não autorizadas de recursos, atenda aos seguintes requisitos.

Funções exigidas

Para receber as permissões necessárias para migrar projetos entre recursos da organização, peça ao administrador para conceder a você os seguintes papéis do IAM:

  • Administrador do IAM do projeto (roles/resourcemanager.projectIamAdmin) no projeto que você quer migrar entre recursos da organização
  • Transportador de projeto (roles/resourcemanager.projectMover) no recurso pai do projeto (pasta ou recurso de organização)
  • Se o recurso de destino for uma pasta: Transportador de projeto (roles/resourcemanager.projectMover) no recurso de destino
  • Se o recurso de destino for uma organização: Criador de projetos (roles/resourcemanager.projectCreator) no recurso de destino

Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.

Também é possível conseguir as permissões necessárias usando papéis personalizados ou outros papéis predefinidos.

Essas funções precisam ser concedidas à mesma conta de usuário nas organizações de origem e destino. Esses papéis predefinidos contêm as permissões necessárias para migrar projetos. Para conferir as permissões exatas necessárias, expanda a seção Permissões necessárias.

Permissões necessárias

As seguintes permissões são necessárias para migrar projetos:

  • resourcemanager.projects.getIamPolicy no projeto que você quer migrar entre recursos da organização
  • resourcemanager.projects.update no projeto que você quer migrar entre recursos da organização
  • resourcemanager.projects.move no recurso pai do projeto (pasta ou recurso da organização)
  • Se o recurso de destino for uma pasta:resourcemanager.projects.move no recurso de destino
  • Se o recurso de destino for uma organização:resourcemanager.projects.create no recurso de destino
  • Se você quiser migrar um projeto que não está associado a uma organização:resourcemanager.projects.setIamPolicy no projeto que você quer migrar

Também é possível receber essas permissões com uma função personalizada ou outras funções predefinidas.

Políticas da organização obrigatórias

Por padrão, a migração de projetos é restrita. É necessário permitir explicitamente a exportação e a importação definindo políticas da organização na raiz das duas organizações. Para configurar as políticas da organização necessárias para a migração, você precisa ter o papel roles/orgPolicy.policyAdmin na organização de destino e na organização mãe.

  • No recurso da organização de origem: defina a política constraints/resourcemanager.allowedExportDestinations. Adicione o ID da organização de destino como um valor permitido.

  • No recurso da organização de destino: defina a política constraints/resourcemanager.allowedImportSources. Adicione o ID da organização de origem como um valor permitido.

Faça a migração

Depois que as permissões forem concedidas e as políticas forem aplicadas, migre o projeto usando a Google Cloud CLI ou a API Resource Manager.

gcloud

Para migrar um projeto para outro recurso de organização, execute o seguinte comando:

gcloud beta projects move PROJECT_ID \
    --organization ORGANIZATION_ID

Também é possível especificar uma pasta como o recurso de destino com o seguinte comando:

gcloud beta projects move PROJECT_ID \
    --folder FOLDER_ID

Substitua os seguintes campos:

  • PROJECT_ID: o ID ou número do projeto que você quer migrar.
  • ORGANIZATION_ID: o ID do recurso da organização para onde você está movendo o projeto.
  • FOLDER_ID: o ID da pasta para onde você está movendo o projeto.

Só é possível especificar um destino, seja uma pasta ou um recurso de organização.

API

Usando a API Resource Manager v1, é possível migrar um projeto entre recursos de organização definindo o campo parent como o ID do recurso de destino.

Para migrar um projeto, faça o seguinte:

  • Consiga o objeto project usando o método projects.get().
  • Atualize o campo parent para o ID do recurso de destino.
  • Execute o método projects.update().

O snippet de código a seguir demonstra essas etapas:

    project = crm.projects().get(projectId=flags.projectId).execute()
    project['parent'] = {
        'type': 'organization',
        'id': flags.organizationId
    }

    project = crm.projects().update(
    projectId=flags.projectId, body=project).execute()

Tarefas pós-migração

Depois de migrar o projeto, é preciso realizar várias tarefas pós-migração para garantir a continuidade das operações, a conformidade com a segurança e o faturamento adequado. A migração de um projeto muda a hierarquia de recursos, o que afeta as permissões herdadas e as políticas no nível da organização.

Confira algumas etapas que você pode concluir após a migração:

  1. Verificação de política: verifique se o projeto está herdando as políticas da organização esperadas do novo pai.

  2. Controle de acesso: audite os papéis do IAM para garantir que os usuários da nova organização tenham o acesso necessário.

  3. Faturamento: atualize a conta de faturamento se o projeto precisar ser faturado para a organização de destino. Essa é uma etapa opcional. Para mais detalhes, consulte Mudar a conta de faturamento de um projeto e Migrar uma conta de faturamento entre recursos da organização.

  4. Limpeza: revogue os papéis temporários de Transportador de projetos e remova as restrições allowedExportDestinations e allowedImportSources."

Alterar a conta de faturamento de um projeto

É possível usar as contas do Cloud Billing em recursos da organização. Migrar um projeto de um recurso de organização para outro não afeta o faturamento, e as cobranças continuarão sendo feitas na conta de faturamento antiga. No entanto, a migração de projetos entre recursos de organização geralmente também inclui um requisito de migração para uma nova conta de faturamento.

Para mudar a conta de faturamento, faça o seguinte:

  1. Acesse a página de faturamento no console do Cloud de Confiance .
    Acessar a página "Faturamento"
  2. Clique no nome da conta de faturamento que você quer alterar.
  3. Em Projetos vinculados a esta conta de faturamento, localize o nome do projeto que será migrado e clique no botão de menu à direita.
  4. Clique em Alterar faturamento e selecione a nova conta de faturamento.
  5. Clique em Definir conta.

As cobranças já incorridas, mas que ainda não apareceram no histórico de faturamento, serão efetuadas na conta de faturamento anterior. Isso pode incluir cobranças de até dois dias antes da migração do projeto.

Migrar uma conta de faturamento entre recursos da organização

É possível migrar uma conta de faturamento de um recurso de organização para outro, mesmo que isso não seja uma etapa necessária. A maioria dos recursos de organização atuais já tem uma conta de faturamento para ser usada.

Se uma nova conta de faturamento não tiver um recurso de organização associado a ela, você precisará receber a função roles/billing.admin na conta de faturamento e as funções roles/billing.admin e roles/billing.creator no recurso de organização que você quer associar à conta de faturamento.

Se você precisar migrar uma conta de faturamento atual:

  1. No console Cloud de Confiance , acesse a página "Faturamento".
    Acessar a página "Faturamento"
  2. Clique no nome da conta de faturamento que você quer migrar.
  3. Na parte superior da página Gerenciamento de contas, clique em Alterar organização.
  4. Selecione o recurso da organização de destino e clique em Ok.

A conta de faturamento agora está associada ao recurso de organização especificado.

Reverter uma migração

Se você migrou um projeto por engano, pode reverter a operação executando a migração novamente, com a origem antiga como o novo destino e o destino antigo como a nova origem. Você precisa ter as permissões de IAM necessárias e as políticas da organização aplicadas para permitir isso como se fosse uma migração totalmente nova.

Para reverter uma migração, faça o seguinte:

  1. Troque os IDs de origem e destino nas políticas da organização (allowedExportDestinations e allowedImportSources).
  2. Repita o comando de migração, movendo o projeto de volta para o ID de origem original.

A seguir