AWS - Permitindo que o usuário inicie e pare uma instância do EC2

1

Estou com problemas para criar uma política do IAM para que um usuário específico conceda privilégios para iniciar e interromper a instância do EC2.

Eu tentei várias maneiras, mas não consigo encontrar os erros.

Esta é minha política:

{
"Version": "2012-10-17",
"Statement": [
    {
        "Sid": "Stmt1468227127000",
        "Effect": "Allow",
        "Action": [
            "ec2:DescribeInstances"
        ],
        "Resource": [
            "*"
        ]
    },
    {
        "Sid": "Stmt1468227157000",
        "Effect": "Allow",
        "Action": [
            "ec2:StartInstances",
            "ec2:StopInstances"
        ],
        "Resource": [
            "arn:aws:ec2:region:user:instance/instance-ID"
        ]
    }
]

}

Como eu li, não estou habilitado para descrever apenas uma instância, na primeira parte descrevo todas as instâncias ec2 e funciona, mas na segunda parte eu permito que o usuário inicie e pare uma instância, mas posso não comece.

    
por Carlos Sánchez 11.07.2016 / 11:13

3 respostas

2

Este funciona bem para mim. Pls note que adicionei algumas ações bastante úteis (do meu ponto de vista), claro sinta-se à vontade para removê-las se não for necessário:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ec2:DescribeInstances",
                "ec2:DescribeInstanceStatus",
                "ec2:DescribeTags"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "ec2:StartInstances",
                "ec2:StopInstances",
                "ec2:RebootInstances"
            ],
            "Resource": "arn:aws:ec2:us-east-1:361111111111:instance/i-0e411111111111111"
        }
    ]
}

Aqui 361111111111 é o ID da conta como você vê nas Configurações da conta, i-0e411111111111111 é exatamente o ID da instância, deve começar com i- , pode ser encontrado na linha superior esquerda na guia de descrição da instância.

Por favor, note que a região está sem zona de disponibilidade.

Para pessoas curiosas: tentei limitar ec2:Describe* actions a arn:aws:ec2:us-east-1:361111111111:instance/* , mas isso não funciona. Eu removi as partes mais à direita até que funcione, e acontece que "*" funciona apenas.

    
por 01.08.2016 / 13:46
0

Verifique seu ARN. Deve estar no formato mostrado nesta página link

Quando diz que conta é. Esta é a conta numérica da AWS para ID

    
por 20.07.2016 / 22:01
0

Tentar a sugestão de Putnik não funcionou para mim, nem fez algo assim.

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [ "ec2:*" ],
            "Resource": "*"
        ]
}

Não foi possível iniciar nem interromper as instâncias do EC2, com as Instâncias interrompidas fazendo a transição brevemente para o status Pendente, antes de voltarem ao Interromper com uma mensagem Client.InternalError bastante inútil.

No entanto, adicionar PassRole à minha política funcionou.

link

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Action": [ "ec2:Describe*" ],
            "Resource": [ "*" ],
            "Effect": "Allow"
        },
        {
            "Action": [
                "ec2:StartInstances",
                "ec2:StopInstances",
                "ec2:RebootInstances"
            ],
            "Resource": [
                "arn:aws:ec2:us-east-1:361111111111:instance/i-0e411111111111111"
            ],
            "Effect": "Allow"
        },
        {
            "Effect": "Allow",
            "Action": "iam:PassRole",
            "Resource": "*"
        }
    ]
}
    
por 15.06.2017 / 23:26