Referencia de las funciones y los permisos

En este documento, se hace referencia de los diferentes roles y permisos que requiere Migrate for Virtual Machines. En Google Cloud, los roles y los permisos suelen asociarse con la cuenta de servicio o la cuenta de usuario.

En las siguientes secciones, se describen estos roles y permisos organizados por los componentes principales de Migrate to Virtual Machines:

Además, Cloud Identity and Access Management (IAM) incluye dos roles predefinidos que puedes usar para controlar el acceso de los usuarios en tu organización.

Rol Título Descripción
roles/vmmigration.admin Administrador de VM Migration Permite a los usuarios crear nuevas fuentes de Migrate to Virtual Machines y realizar todas las demás operaciones de migración.
roles/vmmigration.viewer Visualizador de VM Migration Permite a los usuarios recuperar información sobre Migrate to Virtual Machines en la consola de Google Cloud. Destinado a los usuarios que supervisan las migraciones, pero no las realizan.

Por ejemplo, si deseas permitir que un usuario de tu organización pueda ver información sobre una migración, pero no pueda realizar una, asígnale el rol roles/vmmigration.viewer.

Cuentas de usuario de la consola de Google Cloud

Un proyecto de destino de Migrate to Virtual Machines define el proyecto de destino de una instancia de Compute Engine que ejecuta la VM migrada. El proyecto de host de Migrate to Virtual Machines se puede usar como proyecto de destino. Si deseas migrar las VMs a proyectos adicionales, debes agregarlas como proyectos de destino a Migrate to Virtual Machines.

Para que un usuario pueda agregar un proyecto de destino y configurar los detalles de la instancia de Compute Engine en el proyecto de destino, ese usuario necesita roles y permisos de la administración de identidades y accesos (IAM) necesaria.

Debido a que realizas estas acciones en la consola de Google Cloud, la cuenta de usuario que requiere estos permisos es la cuenta que usas para acceder a la consola de Google Cloud:

  • Para agregar un proyecto de destino a Migrate to Virtual Machines, la cuenta de usuario que usas a fin de acceder a la consola de Google Cloud requiere los permisos descritos en Permisos para agregar un proyecto de destino.

  • Si quieres configurar los detalles del destino de la instancia de Compute Engine que se ejecuta en el proyecto de destino, la cuenta de usuario que usas para acceder a la consola de Google Cloud requiere permisos a fin de acceder a los datos en el destino. proyecto, como redes, tipos de instancia y más. Consulta Permisos para configurar una instancia de destino.

Según cómo configures IAM para tu entorno, puedes configurar un solo usuario a fin de que realice ambas acciones o configurar dos usuarios distintos.

Permisos para agregar un proyecto de destino

Para agregar un proyecto de destino, la cuenta de usuario que usas a fin de acceder a la consola de Google Cloud requiere lo siguiente:

  • El rol vmmigration.admin en el proyecto host
  • El rol resourcemanager.projectIamAdmin en el proyecto de destino

Consulta Configura los permisos en la cuenta de servicio predeterminada del proyecto host a fin de obtener instrucciones para configurar estos permisos.

Permisos para configurar los detalles del destino de una instancia de Compute Engine

Para configurar los detalles del destino de la instancia de Compute Engine en el proyecto de destino, la cuenta de usuario que usas a fin de acceder a la consola de Google Cloud requiere lo siguiente:

  • El rol roles/compute.viewer en el proyecto de destino

Consulta Configura los permisos en la cuenta de servicio predeterminada del proyecto host a fin de obtener instrucciones para configurar estos permisos.

Cuenta de servicio predeterminada de Migrate to Virtual Machines

Migrate to Virtual Machines crea una cuenta de servicio predeterminada en el proyecto host cuando habilitas la API de Migrate to Virtual Machines y se le asigna el rol vmmigration.serviceAgent. Migrate to Virtual Machines usa esta cuenta de servicio para crear la instancia de Compute Engine en el proyecto de destino como parte de la clonación de prueba y la transición.

Según tu entorno, es posible que debas editar los permisos en la cuenta de servicio predeterminada.

Permisos cuando se usa una VPC compartida en el proyecto de destino

Para implementar una instancia de Compute Engine en un proyecto de destino que acceda a una VPC compartida, debes agregar el rol compute.networkUser a la cuenta de servicio predeterminada de Migrate to Virtual Machines para permitir el acceso a las subredes en el proyecto host de la VPC compartida.

Consulta Configura los permisos de una VPC compartida si deseas obtener instrucciones para configurar estos permisos.

Cuenta de servicio del proyecto de destino

De forma predeterminada, cuando implementas tu VM migrada en una instancia de Compute Engine de destino, no se asigna ninguna cuenta de servicio a la instancia.

Si la instancia de Compute Engine requiere acceso a los servicios y las API de Google Cloud, crea una cuenta de servicio en el proyecto de destino con los permisos necesarios para acceder a esos servicios y APIs. Luego, adjunta la cuenta de servicio a la instancia de Compute Engine como parte de la configuración de los detalles del destino.

Sin embargo, para conectar la cuenta de servicio de destino a la instancia de Compute Engine, la cuenta de servicio predeterminada de Migrate to Virtual Machines requiere los permisos necesarios, como se describe en Configura permisos en la cuenta de servicio del proyecto de destino.

Permisos para configurar AWS como fuente

En esta sección, se detallan los campos de la plantilla JSON de permisos. Para obtener detalles sobre cómo implementar permisos de migración, revisa la sección Crea una política de IAM de 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 el inventario de las instancias de migración candidatas, otorga permisos de Migrate to Virtual Machines a ec2:DescribeInstances, ec2:DescribeVolumes y ec2:DescribeInstanceTypes.

Migrate to Virtual Machines requiere los siguientes permisos para migrar volúmenes EC2 desde AWS a Google Cloud:

  1. A fin de crear una instantánea de los volúmenes, otorga permisos para ec2:DescribeSnapshots, ec2:CreateSnapshots y ec2:CreateTags.
  2. A fin de copiar los datos en Google Cloud, otorga permisos para ebs:ListSnapshotBlocks, ebs:ListChangedBlocks y ebs:GetSnapshotBlock.
  3. A fin de borrar instantáneas antiguas, otorga permisos para ec2:DeleteSnapshot y ec2:DeleteTags.

A fin de realizar una migración de sistemas, otorga permisos de Migrate to Virtual Machines para ec2:StopInstances.

Permisos para configurar Azure como fuente

En esta sección, se detallan los campos de la plantilla JSON de permisos. Para obtener detalles sobre cómo implementar permisos de migración, consulta la sección Crea una función personalizada.

Los siguientes permisos son necesarios para crear un grupo de recursos asociado con la fuente, verificar que exista, enumerar los recursos que contiene y borrarlo cuando se borre la fuente:

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

Se requiere el siguiente permiso para obtener la lista de inventario y obtener los detalles de las VMs que se migrarán:

"Microsoft.Compute/virtualMachines/read"

Se requiere el siguiente permiso para desasignar una VM cuando se realiza una transición a una VM de Google Cloud:

"Microsoft.Compute/virtualMachines/deallocate/action"

Se requieren los siguientes permisos para crear, enumerar y borrar instantáneas o puntos de restablecimiento de la VM que se migrará:

"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"

Se requieren los siguientes permisos para leer los datos de instantáneas y puntos de restablecimiento:

"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"