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:
- Contas de usuário do console do Google 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) inclui dois papéis predefinidos que você pode usar para controlar o acesso de usuários na sua organização.
Papel | Título | 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 AWS IAM.
{
"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.
O Migrate to Virtual Machines requer as 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
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"