8.9 Creación de una directiva de IAM y asignación de un usuario de IAM a la directiva

Para migrar cargas de trabajo a AWS con PlateSpin Migrate, se necesita un usuario de AWS Identity and Access Management (IAM, gestión de identidades y acceso de AWS) en su cuenta de AWS con una función de IAM adecuada y los permisos necesarios para realizar migraciones a la nube privada virtual de AWS. También necesita la clave de acceso de AWS y la clave de acceso secreta de AWS para este usuario.

Puede crear una directiva de IAM nueva con una de estas herramientas:

8.9.1 Uso de la herramienta de funciones de AWS para crear una directiva de IAM nueva

PlateSpin Migrate proporciona una herramienta de funciones de AWS (AWSRoleTool.exe) para permitir que los administradores puedan crear una directiva de IAM nueva basada en una directiva por defecto (PolicyJSON.txt) que PlateSpin Migrate define y, también, para permitirles que asignen un usuario IAM (ya sea uno que exista o uno nuevo) a la directiva. La herramienta de funciones de AWS de PlateSpin Migrate (AWSRoleTool.exe) se incluye en el directorio carpeta-instalación-Migrate\PlateSpin Migrate Server\bin\AWSRolesTool.

Por defecto, el archivo PolicyJSON.txt que define PlateSpin Migrate contiene los permisos mínimos requeridos para que un usuario de IAM pueda migrar cargas de trabajo a AWS con PlateSpin Migrate. Para obtener información sobre los permisos mínimos definidos para un usuario de IAM en la directiva por defecto, consulte la Sección 8.9.3, Definición de los permisos mínimos de un usuario de IAM.

Cuando se utiliza la herramienta de funciones de AWS para crear una directiva nueva, esta se crea como réplica de la directiva por defecto y tiene todos los permisos que se incluyen en dicha directiva por defecto. Sin embargo, puede crear una directiva nueva con permisos modificados respecto a los que se muestran en la directiva por defecto. Para crear una directiva nueva con permisos modificados, debe editar el archivo PolicyJSON.txt para que muestre solo los permisos que desea que aparezcan en la directiva nueva y, a continuación, crear la directiva.

NOTA:si ha modificado el archivo PolicyJSON.txt y desea restablecer la directiva por defecto que define PlateSpin Migrate, elimine el archivo PolicyJSON.txt. El archivo PolicyJSON.txt se vuelve a crear con los permisos por defecto en el directorio carpeta-instalación-Migrate\PlateSpin Migrate Server\bin\AWSRolesTool cuando se ejecuta la herramienta de funciones de AWS.

  1. Entre como administrador en el host del servidor de PlateSpin Migrate.

  2. Abra un indicador de comandos, acceda a la ubicación donde se encuentre la herramienta de funciones de AWS y ejecute el comando siguiente:

    AWSRoleTool.exe

    NOTA:si la directiva por defecto (PolicyJSON.txt) no está disponible en el directorio carpeta-instalación-Migrate\PlateSpin Migrate Server\bin\AWSRolesTool, la herramienta vuelve a crear el archivo PolicyJSON.txt con los permisos por defecto que recomienda PlateSpin Migrate.

  3. Introduzca la clave de acceso de AWS y la clave de acceso secreta de AWS de un usuario de AWS que tenga permiso para crear directivas y usuarios de IAM.

  4. Introduzca un nombre para la directiva de AWS que desea crear.

  5. Introduzca el nombre de un usuario existente o de uno nuevo al que desee asignar esta directiva. La herramienta crea la nueva directiva como una réplica del archivo PolicyJSON.txt, asigna la directiva al usuario especificado y proporciona las credenciales de clave de acceso y la clave de acceso secreta del usuario.

  6. También es posible guardar las credenciales en un archivo o mostrarlas en el indicador de comandos:

    • Para guardar las credenciales a un archivo, escriba y. Se muestra la vía del archivo que contiene las credenciales.

    • Para mostrar las credenciales en el indicador de comandos, escriba n y anote las credenciales mostradas.

  7. (Opcional) Para restablecer la directiva por defecto que define PlateSpin Migrate, elimine el archivo PolicyJSON.txt y ejecute la herramienta de funciones de AWS para volver a crear el archivo PolicyJSON.txt con los permisos por defecto.

8.9.2 Uso de la consola de gestión de AWS para crear una directiva de IAM nueva

Puede utilizar la consola de gestión de AWS para crear o editar una directiva de IAM y definir los permisos de los usuarios asignando al usuario a una directiva. Consulte Creación de directivas de IAM.

PlateSpin Migrate proporciona una directiva por defecto (PolicyJSON.txt) que contiene los permisos mínimos requeridos para que un usuario de IAM pueda migrar cargas de trabajo a AWS con PlateSpin Migrate. Para obtener información sobre los permisos mínimos definidos para un usuario de IAM en el archivo de directiva por defecto, consulte la Sección 8.9.3, Definición de los permisos mínimos de un usuario de IAM.

Puede utilizar la consola de gestión de AWS para crear una directiva nueva con los permisos recomendados incluidos en esta directiva por defecto.

8.9.3 Definición de los permisos mínimos de un usuario de IAM

PlateSpin Migrate proporciona un archivo PolicyJSON.txt que contiene por defecto los permisos mínimos requeridos para que un usuario de IAM pueda migrar cargas de trabajo a AWS con PlateSpin Migrate. Cuando se utiliza la herramienta de funciones de AWS para crear una directiva nueva, esta se crea como réplica de la directiva por defecto y tiene todos los permisos que se incluyen en dicha directiva por defecto.

El contenido del archivo PolicyJSON.txt es el siguiente:

{
    "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/*"
            ]
        }
    ]
}