Este documento contém uma referência dos papéis e das permissões exigidos pelo Migrate to Virtual Machines. No Google Cloud, os papéis e as permissões geralmente são associados a uma conta de serviço ou a uma 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:
- Contas de usuário do console doGoogle Cloud
- Conta de serviço padrão do Migrate to Virtual Machines
- Conta de serviço do projeto de destino
Além disso, o Cloud Identity and Access Management (IAM) do Cloud inclui dois papéis predefinidos para controle de acesso de usuários na 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 realizem todas as outras operações de migração. |
roles/vmmigration.viewer | Leitor do VM Migration | Permite que os usuários recuperem informações sobre o Migrate to Virtual Machines no console do Google Cloud . Para usuários que monitoram migrações, mas não as realizam. |
Por exemplo, para permitir que um usuário da organização visualize informações sobre uma migração, sem poder executá-la, atribua o papel roles/vmmigration.viewer
.
Contas de usuário do console doGoogle Cloud
Um projeto de destino do Migrate to Virtual Machines define o projeto 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. Para migrar VMs para outros projetos, adicione-as como projetos de destino no Migrate to Virtual Machines.
Para adicionar um projeto de destino e configurar os detalhes da instância do Compute Engine, o usuário precisa dos papéis e permissões necessários do Identity and Access Management (IAM).
Como essas ações são executadas no Google Cloud console, a conta de usuário que requer essas permissões é aquela usada para fazer login no console doGoogle 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 projeto de destino.
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 doGoogle Cloud requer permissões para acessar dados, como redes, tipos de instâncias e muito mais. Consulte Permissões para configurar uma instância de destino.
Dependendo da configuração do IAM no seu ambiente, você pode configurar um único usuário para realizar as duas ações ou definir 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 doGoogle Cloud requer:
- O papel
vmmigration.admin
no projeto host O papel
resourcemanager.projectIamAdmin
no projeto de destino
Acesse Como configurar permissões na conta de serviço padrão do projeto host para conferir as instruçõ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
Acesse Como configurar permissões na conta de serviço padrão do projeto host para conferir as instruçõ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 to Virtual Machines 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 da 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, adicione o papel compute.networkUser
à conta de serviço padrão do Migrate to Virtual Machines para permitir o acesso a sub-redes no projeto host de VPC compartilhada.
Acesse Como configurar permissões para uma VPC compartilhada para conferir as instruções.
Conta de serviço do projeto de destino
Por padrão, ao implantar a VM migrada em uma instância de destino do Compute Engine, nenhuma conta de serviço é atribuída à instância.
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. Em seguida, atribua a conta de serviço à instância do Compute Engine como parte da configuração dos detalhes de destino.
No entanto, para atribuir 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
Esta seção detalha 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 de 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 exibir 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.
O Migrate to Virtual Machines precisa das seguintes permissões para migrar volumes do EC2 da AWS para o Google Cloud:
- Para criar um snapshot dos volumes, conceda permissões para ec2:DescribeSnapshots, ec2:CreateSnapshots e ec2:CreateTags.
- Para copiar os dados para o Google Cloud , conceda permissões para ebs:ListSnapshotBlocks, ebs:ListChangedBlocks e ebs:GetSnapshotBlock.
- 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
Esta seção descreve 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 abaixo 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 permissões abaixo 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"
Conceder acesso à rede
Além de conceder permissões, verifique se o acesso aos discos não está bloqueado ou restrito a uma rede específica. Os discos precisam estar acessíveis a redes públicas.
Siga as etapas abaixo para tornar os discos acessíveis a redes públicas:
- Na conta do Azure, acesse as configurações de disco.
- Em Settings, abra a página Networking.
- Selecione Enable public access from all networks.
- Clique em Save.
Para mais informações, consulte Como gerenciar o acesso à rede para discos gerenciados (em inglês).