Политика IAM не позволяет мне запускать экземпляры

0

Я прикрепил следующую политику к пользователю, чтобы он мог запускать и останавливать один конкретный экземпляр.

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": [
                "ec2:StartInstances",
                "ec2:StopInstances"
            ],
            "Resource": "arn:aws:ec2:::instance/i-01234567890"
        },
        {
            "Sid": "VisualEditor1",
            "Effect": "Allow",
            "Action": "ec2:DescribeInstanceStatus",
            "Resource": "*"
        }
    ]
}

Используя следующий код, я получаю 403, пытаясь запустить этот экземпляр:

conn = boto.ec2.connect_to_region("eu-west-1",
  aws_access_key_id=AWS_ACCESS,
  aws_secret_access_key=AWS_SECRET)

instance = conn.start_instances(instance_ids=['i-01234567890'], dry_run=True)

Что я делаю неправильно?

Я смоделировал политику в консоли, и, кажется, хорошо, я могу запустить этот конкретный экземпляр под симуляцией. Я попытался добавить DescribeInstances (*) к разрешениям, но даже такой подход не работает:

>>> conn.get_only_instances()[0]
Instance:i-01234567890
>>> conn.get_only_instances()[0].start()
<Permission Denied>
user31415629
источник
Можете ли вы запустить скрипт с подробным и вставить вывод здесь. Я думаю, что вам, возможно, придется проверить «строковую» опцию для вашей политики IAM.
Шайлеш Сутар
попробуйте добавить ec2: DescribeInstances
Сильвиуд
Я думаю, что ваш экземпляр ARN является неполным. Попробуйте добавить регион и номер счета.
Мэтт Хаузер

Ответы: