Documentation de référence sur les rôles et les autorisations

Ce document contient une documentation de référence sur les différents rôles et autorisations requis par Migrate to Virtual Machines. Dans Google Cloud, les rôles et les autorisations sont généralement associés à un compte de service ou à un compte utilisateur.

Les sections suivantes décrivent ces rôles et autorisations organisés par les principaux composants de Migrate to Virtual Machines :

De plus, Cloud Identity and Access Management (IAM) comprend deux rôles prédéfinis que vous pouvez utiliser pour contrôler les accès des utilisateurs de votre organisation.

Rôle Titre Description
roles/vmmigration.admin Administrateur VM Migration Permet aux utilisateurs de créer des sources Migrate to Virtual Machines et d'effectuer toutes les autres opérations de migration.
roles/vmmigration.viewer Lecteur VM Migration Permet aux utilisateurs de récupérer des informations sur Migrate to Virtual Machines dans la console Google Cloud. Destiné aux utilisateurs qui surveillent les migrations mais ne les effectuent pas.

Par exemple, si vous souhaitez autoriser un utilisateur de votre organisation à consulter les informations d'une migration, mais pas à effectuer une migration, attribuez-lui le rôle roles/vmmigration.viewer.

Comptes utilisateur Google Cloud Console

Un projet cible de Migrate to Virtual Machines définit le projet de destination pour une instance Compute Engine exécutant votre VM migrée. Le projet hôte de Migrate to Virtual Machines peut être utilisé en tant que projet cible. Si vous souhaitez migrer des VM vers d'autres projets, vous devez les ajouter en tant que projets cibles vers Migrate to Virtual Machines.

Pour qu'un utilisateur puisse ajouter un projet cible et configurer les détails de l'instance Compute Engine sur le projet cible, cet utilisateur a besoin des rôles et autorisations Identity and Access Management (IAM) nécessaires.

Étant donné que vous effectuez ces actions dans la console Google Cloud, le compte utilisateur nécessitant ces autorisations est celui que vous utilisez pour vous connecter à la console Google Cloud :

  • Pour ajouter un projet cible à Migrate to Virtual Machines, le compte utilisateur que vous utilisez pour vous connecter à la console Google Cloud nécessite les autorisations décrites dans la section Autorisations d'ajout d'un projet cible.

  • Pour configurer les détails de la cible de l'instance Compute Engine exécutée sur le projet cible, le compte utilisateur que vous utilisez pour vous connecter à la console Google Cloud doit disposer des autorisations d'accès aux données du projet cible, tels que les réseaux, types d'instances, etc. Consultez Autorisations pour configurer une instance cible.

Selon la façon dont vous configurez IAM dans votre environnement, vous pouvez configurer un seul utilisateur pour effectuer les deux actions ou configurer deux utilisateurs distincts.

Autorisations d'ajout d'un projet cible

Pour ajouter un projet cible, le compte utilisateur que vous utilisez pour vous connecter à la console Google Cloud requiert les éléments suivants :

  • Le rôle vmmigration.admin sur le projet hôte
  • Le rôle resourcemanager.projectIamAdmin sur le projet cible

Pour obtenir des instructions sur la définition de ces autorisations, consultez la page Configurer des autorisations sur le compte de service par défaut du projet hôte.

Autorisations permettant de configurer les détails de la cible pour une instance Compute Engine

Pour configurer les détails de la cible de l'instance Compute Engine sur le projet cible, le compte utilisateur que vous utilisez pour vous connecter à la console Google Cloud nécessite :

  • Le rôle roles/compute.viewer sur le projet cible

Pour obtenir des instructions sur la définition de ces autorisations, consultez la page Configurer des autorisations sur le compte de service par défaut du projet hôte.

Compte de service par défaut Migrate to Virtual Machines

Migrate to Virtual Machines crée un compte de service par défaut sur le projet hôte lorsque vous activez l'API Migrate to Virtual Machines et lui attribue le rôle vmmigration.serviceAgent. Migrate to Virtual Machines utilise ce compte de service pour créer l'instance Compute Engine sur le projet cible dans le cadre du clone de test et du basculement.

Selon votre environnement, vous devrez peut-être modifier les autorisations sur le compte de service par défaut.

Autorisations lors de l'utilisation d'un VPC partagé sur le projet cible

Pour déployer une instance Compute Engine sur un projet cible qui accède à un VPC partagé, vous devez ajouter le rôle compute.networkUser au compte de service par défaut de Migrate to Virtual Machines afin de lui permettre d'accéder aux sous-réseaux du projet hôte de VPC partagé.

Consultez Configurer des autorisations pour un VPC partagé pour obtenir des instructions sur la définition de ces autorisations.

Compte de service du projet cible

Par défaut, lorsque vous déployez votre VM migrée vers une instance Compute Engine cible, aucun compte de service n'est attribué à l'instance.

Si l'instance Compute Engine nécessite un accès aux API et services Google Cloud, créez un compte de service dans le projet cible avec les autorisations nécessaires pour accéder à ces services et API. Associez ensuite le compte de service à l'instance Compute Engine lors de la configuration des détails de la cible.

Toutefois, pour associer le compte de service cible à l'instance Compute Engine, le compte de service Migrate to Virtual Machines par défaut nécessite les autorisations nécessaires, comme décrit dans la section Configurer des autorisations sur le compte de service du projet cible.

Autorisations permettant de configurer AWS en tant que source

Cette section détaille les champs du modèle JSON d'autorisations. Pour en savoir plus sur l'implémentation des autorisations de migration, consultez la section Créer une stratégie IAM 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"
                }
            }
        }
    ]
}

Pour afficher l'inventaire des instances candidates à la migration, accordez les autorisations Migrate to Virtual Machines pour ec2:DescribeInstances, ec2:DescribeVolumes et ec2:DescribeInstanceTypes.

Migrate to Virtual Machines nécessite les autorisations suivantes pour migrer des volumes EC2 d'AWS vers Google Cloud:

  1. Pour créer un instantané des volumes, accordez des autorisations pour ec2:DescribeSnapshots, ec2:CreateSnapshots et ec2:CreateTags.
  2. Pour copier les données dans Google Cloud, accordez des autorisations pour ebs:ListSnapshotBlocks, ebs:ListChangedBlocks et ebs:GetSnapshotBlock.
  3. Pour supprimer les anciens instantanés, accordez des autorisations pour ec2:DeleteSnapshot et ec2:DeleteTags.

Pour effectuer un basculement, accordez les autorisations Migrate to Virtual Machines pour ec2:StopInstances.

Autorisations pour configurer Azure en tant que source

Cette section décrit les champs du modèle JSON d'autorisations. Pour en savoir plus sur l'implémentation des autorisations de migration, consultez la section Créer un rôle personnalisé.

Les autorisations suivantes sont requises pour créer un groupe de ressources associé à la source, vérifier qu'il existe, lister les ressources qu'il contient et le supprimer une fois la source correspondante supprimée :

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

L'autorisation suivante est requise pour obtenir la liste d'inventaire et les détails des VM en cours de migration :

"Microsoft.Compute/virtualMachines/read"

L'autorisation suivante est requise pour annuler l'allocation d'une VM faisant l'objet d'un basculement dans une VM Google Cloud :

"Microsoft.Compute/virtualMachines/deallocate/action"

Les autorisations suivantes sont requises pour créer, répertorier et supprimer des instantanés/points de restauration de la VM en cours de migration :

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

Les autorisations suivantes sont requises pour lire les données d'instantané /points de restauration:

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