Referencia de roles y permisos

Este documento contiene una referencia de los diferentes roles y permisos que requiere Migrate to Virtual Machines. En Google Cloud, los roles y los permisos se suelen asociar a cuentas de servicio o cuentas de usuario.

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

Además, Gestión de Identidades y Accesos (IAM) de Cloud incluye dos roles predefinidos que puedes usar para controlar el acceso de los usuarios de tu organización.

Rol Cargo 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 Lector de VM Migration Permite a los usuarios obtener información sobre Migrate to Virtual Machines en la consola Google Cloud . Pensado para usuarios que monitorizan las migraciones, pero no las realizan.

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

Google Cloud cuentas de usuario de la consola

Un proyecto de destino de Migrate to Virtual Machines define el proyecto de destino de una instancia de Compute Engine que ejecuta tu VM migrada. El proyecto host de Migrate to Virtual Machines se puede usar como proyecto de destino. Si quieres migrar VMs a otros proyectos, debes añadirlos como proyectos de destino a Migrate to Virtual Machines.

Para que un usuario pueda añadir un proyecto de destino y configurar los detalles de la instancia de Compute Engine en el proyecto de destino, necesita los roles y permisos de Gestión de identidades y accesos (IAM) necesarios.

Como realizas estas acciones en la Google Cloud console, la cuenta de usuario que requiere estos permisos es la que usas para iniciar sesión en la consola deGoogle Cloud :

  • Para añadir un proyecto de destino a Migrate to Virtual Machines, la cuenta de usuario que utilices para iniciar sesión en la consola de Google Cloud debe tener los permisos descritos en Permisos para añadir un proyecto de destino.

  • Para configurar los detalles del destino de la instancia de Compute Engine que se ejecuta en el proyecto de destino, la cuenta de usuario que utilices para iniciar sesión en la consola deGoogle Cloud debe tener permisos para acceder a los datos del proyecto de destino, como redes, tipos de instancia y más. Consulta Permisos para configurar una instancia de destino.

En función de cómo configures IAM en tu entorno, puedes configurar un solo usuario para que realice ambas acciones o configurar dos usuarios independientes.

Permisos para añadir un proyecto de destino

Para añadir un proyecto de destino, la cuenta de usuario que utilices para iniciar sesión en la consolaGoogle Cloud debe cumplir los siguientes requisitos:

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

Consulta las instrucciones para configurar estos permisos.

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

Para configurar los detalles de destino de la instancia de Compute Engine en el proyecto de destino, la cuenta de usuario que utilices para iniciar sesión en la consola de Google Cloud debe tener los siguientes permisos:

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

Consulta las 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 Migrate to Virtual Machines y 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 prueba de clonación y la migración.

En función de tu entorno, puede que tengas que editar los permisos de la cuenta de servicio predeterminada.

Permisos al usar una VPC compartida en el proyecto de destino

Para desplegar una instancia de Compute Engine en un proyecto de destino que acceda a una VPC compartida, debes añadir el rol compute.networkUser a la cuenta de servicio predeterminada de Migrate to Virtual Machines para que pueda acceder a las subredes del proyecto del host de la VPC compartida.

Consulta las instrucciones para definir estos permisos en Configurar permisos para una VPC compartida.

Cuenta de servicio del proyecto de destino

De forma predeterminada, cuando implementas la 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 servicios y APIs, crea una cuenta de servicio en el proyecto de destino con los permisos necesarios para acceder a esos servicios y APIs. Google CloudA continuación, asocia la cuenta de servicio a la instancia de Compute Engine como parte de la configuración de los detalles de destino.

Sin embargo, para adjuntar 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, tal como se describe en Configurar permisos de la cuenta de servicio del proyecto de destino.

Permisos para configurar AWS como origen

En esta sección se detallan los campos de la plantilla JSON de permisos. Para obtener más información sobre cómo implementar permisos de migración, consulta la sección Crear una política de gestión de identidades y accesos 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 candidatas a la migración, concede a Migrate to Virtual Machines los permisos ec2:DescribeInstances, ec2:DescribeVolumes y ec2:DescribeInstanceTypes.

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

  1. Para crear una captura de los volúmenes, concede permisos para ec2:DescribeSnapshots, ec2:CreateSnapshots y ec2:CreateTags.
  2. Para copiar los datos en Google Cloud , concede permisos para ebs:ListSnapshotBlocks, ebs:ListChangedBlocks y ebs:GetSnapshotBlock.
  3. Para eliminar las instantáneas antiguas, concede los permisos ec2:DeleteSnapshot y ec2:DeleteTags.

Para realizar un cambio, concede permisos de Migrate to Virtual Machines para ec2:StopInstances.

Permisos para configurar Azure como origen

En esta sección se describen los campos de la plantilla JSON de permisos. Para obtener información sobre cómo implementar permisos de migración, consulta la sección Crear un rol personalizado.

Se necesitan los siguientes permisos para crear un grupo de recursos asociado a la fuente, verificar que existe, enumerar los recursos que contiene y eliminarlo cuando se elimine la fuente:

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

Para obtener la lista de inventario y los detalles de las máquinas virtuales que se están migrando, se necesita el siguiente permiso:

"Microsoft.Compute/virtualMachines/read"

Se necesita el siguiente permiso para desasignar una VM cuando se está migrando a una VM Google Cloud :

"Microsoft.Compute/virtualMachines/deallocate/action"

Se necesitan los siguientes permisos para crear, enumerar y eliminar capturas o puntos de restauración de la VM que se va a 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"

Para leer datos de capturas o puntos de restauración, se necesitan los siguientes permisos:

"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 acceso a la red

Además de conceder permisos, debes verificar que el acceso a tus discos no esté bloqueado ni restringido a ninguna red específica. Tus discos deben ser accesibles para redes públicas.

Para asegurarte de que tus discos sean accesibles a redes públicas, sigue estos pasos:

  1. En tu cuenta de Azure, ve a la configuración del disco.
  2. En Configuración, abre la página Redes.
  3. Selecciona Habilitar el acceso público desde todas las redes.
  4. Haz clic en Guardar.

Para obtener más información, consulta Gestionar el acceso a la red de discos gestionados.