Referência de papéis e permissões

Neste documento, você encontra uma referência para os diferentes papéis e permissões exigidos pelo Migrate to Virtual Machines. No Google Cloud, os papéis e permissões geralmente estão associados à conta de serviço ou à conta de usuário.

As seções a seguir descrevem esses papéis e permissões organizados pelos principais componentes do Migrate to Virtual Machines:

Além disso, o Cloud Identity and Access Management (IAM) inclui dois papéis predefinidos que você pode usar para controlar o acesso de usuários na sua organização.

Papel Nome Descrição
roles/vmmigration.admin Administrador do VM Migration Permite que os usuários criem novas origens do Migrate to Virtual Machines e executem todas as outras operações de migração.
roles/vmmigration.viewer Visualizador do VM Migration Permite que os usuários recuperem informações sobre o Migrate to Virtual Machines no console do Google Cloud. Destinado a usuários que monitoram migrações, mas não as realizam.

Por exemplo, se você quiser permitir que um usuário na organização possa visualizar informações sobre uma migração, mas não poder realizar uma migração, atribua a ele o papel roles/vmmigration.viewer.

Contas de usuário do console do Google Cloud

Um projeto target do Migrate to Virtual Machines define o projeto de destino de uma instância do Compute Engine que executa a VM migrada. O projeto host do Migrate to Virtual Machines pode ser usado como um projeto de destino. Se você quiser migrar VMs para outros projetos, adicione-as como projetos de destino para Migrate to Virtual Machines.

Para que um usuário possa adicionar um projeto de destino e configurar os detalhes da instância do Compute Engine no projeto de destino, esse usuário exige o necessárioGerenciamento de identidade e acesso (IAM) papéis e permissões.

Como você executa essas ações no Console do Google Cloud, a conta de usuário que exige essas permissões é a conta usada para fazer login no Console do Google Cloud:

  • Para adicionar um projeto de destino ao Migrate to Virtual Machines, a conta de usuário usada para fazer login no console do Google Cloud requer as permissões descritas em Permissões para adicionar um destino projeto.

  • Para configurar os detalhes de destino da instância do Compute Engine em execução no projeto de destino, a conta de usuário usada para fazer login no console do Google Cloud requer permissões para acessar dados no destino projeto, como redes, tipos de instâncias e muito mais. Consulte Permissões para configurar uma instância de destino.

Dependendo de como você configurar o IAM para seu ambiente, poderá configurar um único usuário para executar as duas ações ou configurar dois usuários separados.

Permissões para adicionar um projeto de destino

Para adicionar um projeto de destino, a conta de usuário usada para fazer login no console do Google Cloud requer:

  • o papel vmmigration.admin no projeto host
  • o papel resourcemanager.projectIamAdmin no projeto de destino

Consulte Como configurar permissões na conta de serviço padrão do projeto host para instruções sobre como definir essas permissões.

Permissões para configurar os detalhes do destino de uma instância do Compute Engine

Para configurar os detalhes de destino da instância do Compute Engine no projeto de destino, a conta de usuário usada para fazer login no console do Google Cloud requer:

  • o papel roles/compute.viewer no projeto de destino

Consulte Como configurar permissões na conta de serviço padrão do projeto host para instruções sobre como definir essas permissões.

Conta de serviço padrão do Migrate to Virtual Machines

O Migrate to Virtual Machines cria uma conta de serviço padrão no projeto host quando você ativa a API Migrate para máquinas virtuais e atribui a ela o papel vmmigration.serviceAgent. O Migrate to Virtual Machines usa essa conta de serviço para criar a instância do Compute Engine no projeto de destino como parte do clone de teste e fazer a transição.

Dependendo do ambiente, talvez seja necessário editar as permissões na conta de serviço padrão.

Permissões ao usar uma VPC compartilhada no projeto de destino

Para implantar uma instância do Compute Engine em um projeto de destino que acessa uma VPC compartilhada, você precisa adicionar o papel compute.networkUser à conta de serviço padrão do Migrate to Virtual Machines para permitir o acesso a sub-redes na VPC compartilhada projeto host.

Consulte Como configurar permissões para uma VPC compartilhada para obter instruções sobre como definir essas permissões.

Conta de serviço do projeto de destino

Por padrão, quando você implanta a VM migrada em uma instância de destino do Compute Engine, nenhuma conta de serviço é atribuída a ela.

Se a instância do Compute Engine exigir acesso aos serviços e às APIs do Google Cloud, crie uma conta de serviço no projeto de destino com as permissões necessárias para acessar esses serviços e APIs. Em seguida, anexe a conta de serviço à instância do Compute Engine como parte da configuração dos detalhes de destino.

No entanto, para anexar a conta de serviço de destino à instância do Compute Engine, a conta de serviço padrão do Migrate to Virtual Machines requer as permissões necessárias, conforme descrito em Como configurar permissões na conta de serviço do projeto de destino ,

Permissões para configurar a AWS como uma origem

Nesta seção, detalhamos os campos do modelo JSON de permissões. Para detalhes sobre como implementar permissões de migração, consulte a seção Criar uma política do IAM da AWS.

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ec2:DescribeInstances",
                "ec2:DescribeVolumes",
                "ec2:DescribeInstanceTypes",
                "ec2:DescribeSnapshots",
                "ec2:CreateTags",
                "ec2:CreateSnapshots",
                "ec2:StopInstances"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "ebs:ListSnapshotBlocks",
                "ebs:ListChangedBlocks",
                "ebs:GetSnapshotBlock",
                "ec2:DeleteSnapshot",
                "ec2:DeleteTags"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "aws:ResourceTag/m2vm-resource": "snapshot"
                }
            }
        }
    ]
}

Para mostrar o inventário das instâncias candidatas à migração, conceda ao Migrate to Virtual Machines permissões para ec2:DescribeInstances, ec2:DescribeVolumes e ec2:DescribeInstanceTypes.

A migração para máquinas virtuais requer as seguintes permissões para migrar os volumes EC2 da AWS para o Google Cloud:

  1. Para criar um snapshot dos volumes, conceda permissões para ec2:describeSnapshots, ec2:CreateSnapshots e ec2:CreateTags.
  2. Para copiar os dados no Google Cloud, conceda permissões para ebs:ListSnapshotBlocks, ebs:ListChangedBlocks e ebs:GetSnapshotBlock.
  3. Para excluir snapshots antigos, conceda permissões para ec2:DeleteSnapshot e ec2:DeleteTags.

Para fazer uma transição, conceda ao Migrate to Virtual Machines permissões para ec2:StopInstances.

Permissões para configurar o Azure como uma origem

Nesta seção, descrevemos os campos do modelo JSON de permissões. Para detalhes sobre como implementar permissões de migração, consulte a seção Criar um papel personalizado.

As permissões a seguir são necessárias para criar um grupo de recursos associado à origem, verificar se ele existe, listar os recursos contidos nele e excluí-lo quando a origem for excluída:

"Microsoft.Resources/subscriptions/resourceGroups/write",
"Microsoft.Resources/subscriptions/resourceGroups/read",
"Microsoft.Resources/subscriptions/resourceGroups/delete"

A permissão a seguir é necessária para receber a lista de inventário e os detalhes das VMs que estão sendo migradas:

"Microsoft.Compute/virtualMachines/read"

A permissão a seguir é necessária para desalocar uma VM quando ela é transferida para uma VM do Google Cloud:

"Microsoft.Compute/virtualMachines/deallocate/action"

As seguintes permissões são necessárias para criar, listar e excluir snapshots/pontos de restauração da VM que está sendo migrada:

"Microsoft.Compute/restorePointCollections/read",
"Microsoft.Compute/restorePointCollections/write",
"Microsoft.Compute/restorePointCollections/delete",
"Microsoft.Compute/restorePointCollections/restorePoints/read",
"Microsoft.Compute/restorePointCollections/restorePoints/write",
"Microsoft.Compute/restorePointCollections/restorePoints/delete",
"Microsoft.Compute/snapshots/delete",
"Microsoft.Compute/snapshots/write",
"Microsoft.Compute/snapshots/read"

As seguintes permissões são necessárias para ler dados de snapshots/pontos de restauração:

"Microsoft.Compute/restorePointCollections/restorePoints/diskRestorePoints/read",
"Microsoft.Compute/restorePointCollections/restorePoints/diskRestorePoints/beginGetAccess/action",
"Microsoft.Compute/restorePointCollections/restorePoints/diskRestorePoints/endGetAccess/action",
"Microsoft.Compute/snapshots/beginGetAccess/action",
"Microsoft.Compute/snapshots/endGetAccess/action"