8.9 Création d'une stratégie IAM et assignation d'un utilisateur IAM à la stratégie

Pour migrer des workloads vers AWS avec PlateSpin Migrate, vous avez besoin d'un utilisateur de gestion des identités et des accès (IAM) AWS dans votre compte AWS, avec un rôle IAM approprié et les autorisations requises pour effectuer des migrations vers le VPC (Virtual Private Cloud) AWS. Vous devez également disposer de la clé d'accès AWS et de la clé d'accès secrète AWS pour cet utilisateur.

Vous pouvez créer une stratégie IAM à l'aide d'un des outils suivants :

8.9.1 Utilisation de l'outil de rôle AWS pour créer une stratégie IAM

PlateSpin Migrate fournit un outil de rôle AWS (AWSRoleTool.exe) pour permettre à un administrateur de créer une stratégie de gestion des identités et des accès (IAM) basée sur une stratégie par défaut (PolicyJSON.txt) que PlateSpin Migrate définit, et de lui assigner un utilisateur IAM (existant ou nouveau). L'outil de rôle AWS PlateSpin Migrate (AWSRoleTool.exe) est inclus dans le répertoire Migrate-Install-folder\PlateSpin Migrate Server\bin\AWSRolesTool.

Par défaut, le fichier PolicyJSON.txt que PlateSpin Migrate définit contient les autorisations minimales requises pour un utilisateur IAM afin de migrer des workloads vers AWS avec PlateSpin Migrate. Pour plus d'informations sur les autorisations minimales définies pour un utilisateur IAM dans la stratégie par défaut, reportez-vous à la section Section 8.9.3, Définition d'autorisations minimales pour un utilisateur IAM.

Lorsque vous utilisez l'outil de rôle AWS pour créer une stratégie, celle-ci est créée en tant que réplique de cette stratégie par défaut et a toutes les autorisations qui sont répertoriées dans la stratégie par défaut. Toutefois, vous pouvez choisir de créer une stratégie avec des autorisations modifiées par rapport à celles de la stratégie par défaut. Pour créer une stratégie avec des autorisations modifiées, vous devez d'abord éditer le fichier PolicyJSON.txt de manière à répertorier uniquement les autorisations que vous souhaitez reprendre dans la nouvelle stratégie, puis vous pouvez créer la stratégie.

REMARQUE :si vous avez modifié le fichier PolicyJSON.txt et souhaitez restaurer la stratégie par défaut que PlateSpin Migrate définit, supprimez le fichier PolicyJSON.txt édité. Le fichier PolicyJSON.txt est recréé avec les autorisations par défaut dans le répertoire Migrate-Install-folder\PlateSpin Migrate Server\bin\AWSRolesTool lors de l'exécution de l'outil de rôle AWS.

  1. Connectez-vous en tant qu'administrateur à l'hôte du serveur PlateSpin Migrate.

  2. Ouvrez une invite de commande et accédez à l'emplacement de l'outil de rôle AWS, puis exécutez la commande suivante :

    AWSRoleTool.exe

    REMARQUE :si la stratégie par défaut (PolicyJSON.txt) n'est pas disponible dans le répertoire Migrate-Install-folder\PlateSpin Migrate Server\bin\AWSRolesTool, l'outil crée à nouveau le fichier PolicyJSON.txt avec les autorisations par défaut que PlateSpin Migrate recommande.

  3. Entrez la clé d'accès AWS et la clé d'accès secrète AWS d'un utilisateur AWS disposant des autorisations requises pour créer une stratégie et des utilisateurs IAM.

  4. Entrez un nom pour la stratégie AWS que vous souhaitez créer.

  5. Entrez le nom d'un utilisateur existant ou nouveau auquel vous voulez assigner cette stratégie. L'outil crée la stratégie en tant que réplique du fichier PolicyJSON.txt, assigne la stratégie à l'utilisateur spécifié et fournit les informations d'identification de clé d'accès et de clé d'accès secrète de l'utilisateur.

  6. Vous pouvez choisir d'enregistrer les informations d'identification dans un fichier ou de les afficher dans l'invite de commande :

    • Pour enregistrer les informations d'identification dans un fichier, entrez y. Le chemin d'accès au fichier contenant les informations d'identification s'affiche.

    • Pour afficher les informations d'identification dans l'invite de commande, entrez n et notez les informations d'identification affichées.

  7. (Facultatif) Pour rétablir la stratégie par défaut que PlateSpin Migrate définit, supprimez le fichier PolicyJSON.txt modifié et exécutez l'outil de rôle AWS afin de recréer le fichier PolicyJSON.txt avec les autorisations par défaut.

8.9.2 Utilisation de la console de gestion AWS pour créer une stratégie IAM

Vous pouvez utiliser la console de gestion AWS pour créer ou éditer une stratégie IAM et définir les autorisations utilisateur en assignant l'utilisateur à une stratégie. Reportez-vous à la section Création de stratégies IAM.

PlateSpin Migrate fournit une stratégie par défaut (PolicyJSON.txt) qui contient les autorisations minimales requises pour un utilisateur IAM afin de migrer des workloads vers AWS avec PlateSpin Migrate. Pour plus d'informations sur les autorisations minimales définies pour un utilisateur IAM dans le fichier de stratégie par défaut, reportez-vous à la section Section 8.9.3, Définition d'autorisations minimales pour un utilisateur IAM.

Vous pouvez utiliser la console de gestion AWS pour créer une stratégie avec les autorisations recommandées incluses dans cette stratégie par défaut.

8.9.3 Définition d'autorisations minimales pour un utilisateur IAM

PlateSpin Migrate fournit un fichier PolicyJSON.txt qui contient les autorisations minimales requises pour un utilisateur IAM afin de migrer des workloads vers AWS avec PlateSpin Migrate. Lorsque vous utilisez l'outil de rôle AWS pour créer une stratégie, celle-ci est créée en tant que réplique de cette stratégie par défaut et a toutes les autorisations qui sont répertoriées dans la stratégie par défaut.

Le contenu du fichier PolicyJSON.txt est le suivant :

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": [
                "ec2:TerminateInstances",
                "ec2:DeleteTags",
                "ec2:StartInstances",
                "ec2:CreateTags",
                "kms:DescribeKey",
                "ec2:RunInstances",
                "ec2:StopInstances"
            ],
            "Resource": [
                "arn:aws:kms:*:*:key/*",
                "arn:aws:ec2:*:*:subnet/*",
                "arn:aws:ec2:*:*:instance/*",
                "arn:aws:ec2:*:*:volume/*",
                "arn:aws:ec2:*:*:security-group/*",
                "arn:aws:ec2:*:*:network-interface/*",
                "arn:aws:ec2:*::image/*"
            ]
        },
        {
            "Sid": "VisualEditor1",
            "Effect": "Allow",
            "Action": [
                "ec2:DeregisterImage",
                "ec2:DeleteSnapshot",
                "ec2:DescribeInstances",
                "ec2:CreateImage",
                "ec2:DescribeSnapshots",
                "ec2:DescribePlacementGroups",
                "ec2:DescribeSecurityGroups",
                "pricing:GetProducts",
                "ec2:DescribeImages",
                "ec2:DescribeAvailabilityZones",
                "ec2:DescribeVpcs",
                "ec2:DescribeVolumes",
                "kms:ListAliases",
                "ec2:DescribeAccountAttributes",
                "ec2:DescribeReservedInstances",
                "ec2:ModifyInstanceAttribute",
                "ec2:DescribeSubnets",
                "ec2:DescribeKeyPairs",
                "ec2:DescribeInstanceStatus"
            ],
            "Resource": "*"
        },
        {
            "Sid": "VisualEditor2",
            "Effect": "Allow",
            "Action": [
                "kms:Decrypt",
                "kms:Encrypt",
                "ec2:CreateVolume"
            ],
            "Resource": [
                "arn:aws:ec2:*:*:volume/*",
                "arn:aws:kms:*:*:key/*"
            ]
        },
        {
            "Sid": "VisualEditor3",
            "Effect": "Allow",
            "Action": [
                "ec2:AttachVolume",
                "kms:CreateGrant"
            ],
            "Resource": [
                "arn:aws:ec2:*:*:instance/*",
                "arn:aws:ec2:*:*:volume/*",
                "arn:aws:kms:*:*:key/*"
            ]
        },
        {
            "Sid": "VisualEditor4",
            "Effect": "Allow",
            "Action": "ec2:DetachVolume",
            "Resource": [
                "arn:aws:ec2:*:*:instance/*",
                "arn:aws:ec2:*:*:volume/*"
            ]
        },
        {
            "Sid": "VisualEditor5",
            "Effect": "Allow",
            "Action": "ec2:DeleteVolume",
            "Resource": "arn:aws:ec2:*:*:volume/*"
        },
        {
            "Sid": "VisualEditor6",
            "Effect": "Allow",
            "Action": "ec2:RunInstances",
            "Resource": [
                "arn:aws:ec2:*:*:subnet/*",
                "arn:aws:ec2:*:*:key-pair/*",
                "arn:aws:ec2:*:*:instance/*",
                "arn:aws:ec2:*::snapshot/*",
                "arn:aws:ec2:*:*:launch-template/*",
                "arn:aws:ec2:*:*:volume/*",
                "arn:aws:ec2:*:*:security-group/*",
                "arn:aws:ec2:*:*:placement-group/*",
                "arn:aws:ec2:*:*:network-interface/*",
                "arn:aws:ec2:*::image/*"
            ]
        }
    ]
}