8.9 Criando uma política do IAM e atribuindo um usuário do IAM a ela

Para migrar cargas de trabalho para a AWS com o PlateSpin Migrate, você precisa de um usuário do AWS Identity and Access Management (IAM) em sua conta da AWS com a função do IAM apropriada e as permissões necessárias para executar as migrações para a VPC da AWS. Você também precisa da Chave de Acesso e da Chave de Acesso Secreta da AWS para esse usuário.

Você pode criar uma nova política do IAM usando uma das seguintes opções:

8.9.1 Usando a ferramenta de função da AWS para criar uma nova política do IAM

O PlateSpin Migrate dispõe de uma Ferramenta de Função da AWS (AWSRoleTool.exe) para permitir que um usuário administrador crie uma nova política do IAM, com base em uma política padrão (PolicyJSON.txt), que o PlateSpin Migrate define e atribui um usuário do IAM (existente ou novo) à política. A Ferramenta de Função da AWS (AWSRoleTool.exe) no PlateSpin Migrate está incluída no diretório Migrate-Install-folder\PlateSpin Migrate Server\bin\AWSRolesTool.

Por padrão, o arquivo PolicyJSON.txt que o PlateSpin Migrate define contém as permissões mínimas necessárias para um usuário do IAM migrar cargas de trabalho para a AWS com o PlateSpin Migrate. Para obter informações sobre as permissões mínimas definidas para um usuário do IAM na política padrão, consulte a Seção 8.9.3, Definindo permissões mínimas para um usuário do IAM.

Quando você usa a Ferramenta de Função da AWS para criar uma nova política, a nova política é criada como réplica dessa política padrão e tem todas as permissões listadas na política padrão. No entanto, você pode criar uma nova política com permissões diferentes do que as que estão listadas na política padrão. Para criar uma nova política com permissões diferentes, é necessário editar o arquivo PolicyJSON.txt para listar apenas as permissões que você deseja incluir na nova política e, em seguida, criar a política.

NOTA:Se você editou o arquivo PolicyJSON.txt e deseja restaurar a política padrão definida pelo PlateSpin Migrate, apague o arquivo PolicyJSON.txt editado. O arquivo PolicyJSON.txt é recriado com as permissões padrão no diretório Migrate-Install-folder\PlateSpin Migrate Server\bin\AWSRolesTool quando a ferramenta de função da AWS é executada.

  1. Efetue login como Administrador no host de Servidor do PlateSpin Migrate.

  2. Abra um prompt de comando, navegue até o local da ferramenta de função da AWS e execute o seguinte comando:

    AWSRoleTool.exe

    NOTA:Se a política padrão (PolicyJSON.txt) não estiver disponível no diretório Migrate-Install-folder\PlateSpin Migrate Server\bin\AWSRolesTool, a ferramenta recriará o arquivo PolicyJSON.txt com as permissões padrão recomendadas pelo PlateSpin Migrate.

  3. Insira a Chave de Acesso e a Chave de Acesso Secreta da AWS de um usuário da AWS que tenha permissões para criar políticas e usuários do IAM.

  4. Insira um nome para a política da AWS que deseja criar.

  5. Insira o nome do usuário novo ou existente ao qual você deseja atribuir essa política. A ferramenta cria uma nova política como réplica do arquivo PolicyJSON.txt, atribui a política ao usuário especificado e insere as credenciais de Chave de Acesso e Chave Secreta do usuário.

  6. Você pode gravar as credenciais em um arquivo ou exibi-las no prompt de comando:

    • Para gravar as credenciais em um arquivo, digite y. O caminho do arquivo que contém as credenciais é exibido.

    • Para exibir as credenciais no prompt de comando, digite n e anote as credenciais exibidas.

  7. (Opcional) Para restaurar a política padrão definida pelo PlateSpin Migrate, apague o arquivo PolicyJSON.txt editado e execute a Ferramenta de Função da AWS para recriar o arquivo PolicyJSON.txt com as permissões padrão.

8.9.2 Usando o Console de Gerenciamento da AWS para criar uma política do IAM

É possível usar o Console de Gerenciamento da AWS para criar ou editar uma política do IAM e definir permissões do usuário atribuindo-o à uma política. Consulte Como criar políticas do IAM.

O PlateSpin Migrate oferece uma política padrão (PolicyJSON.txt) que contém as permissões mínimas necessárias para um usuário do IAM migrar cargas de trabalho para a AWS com o PlateSpin Migrate. Para obter informações sobre as permissões mínimas definidas para um usuário do IAM no arquivo de política padrão, consulte a Seção 8.9.3, Definindo permissões mínimas para um usuário do IAM.

É possível usar o Console de Gerenciamento da AWS para criar uma nova política com as permissões recomendadas incluídas nessa política padrão.

8.9.3 Definindo permissões mínimas para um usuário do IAM

O PlateSpin Migrate oferece um arquivo PolicyJSON.txt que, por padrão, contém as permissões mínimas necessárias para um usuário do IAM migrar cargas de trabalho para a AWS com o PlateSpin Migrate. Quando você usa a Ferramenta de Função da AWS para criar uma nova política, a nova política é criada como réplica dessa política padrão e tem todas as permissões listadas na política padrão.

Veja a seguir o conteúdo do arquivo PolicyJSON.txt:

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