Предоставляет пользователю IAM разрешение на доступ к определенному региону и определенному серверу.

Я хочу настроить разрешения для вновь созданного пользователя IAM, чтобы пользователь мог получить доступ только к определенному экземпляру ec2 в заданном регионе.

Например. У меня есть 3 экземпляра ec2, запущенных в aws us-east, то есть Северная Вирджиния, я хочу ограничить пользователя для перезагрузки, запуска и остановки только одним сервером ec2

Я написал политику, как показано ниже, но она не работает. Я не уверен, что мне здесь не хватает.

{

"Version": "2012-10-17",
"Statement": [
    {
        "Sid": "TheseActionsSupportResourceLevelPermissions",
        "Effect": "Allow",
        "Action": [
            "ec2:StopInstances",
            "ec2:StartInstances",
            "ec2:RebootInstances",
            "ec2:Describe*"
        ],
        "Resource": "arn:aws:ec2:us-east-1:accountid:instance/i-d4f1b83a"
    }
]

}

Заранее благодарны за Вашу помощь.


person Shailesh Sutar    schedule 24.11.2014    source источник
comment
Что вы имеете в виду, говоря, что не работаете? Как они звонят (через консоль или API)? Какую ошибку они получают?   -  person John Rotenstein    schedule 24.11.2014
comment
Я пытаюсь настроить пользователя IAM для консоли управления aws здесь.   -  person Shailesh Sutar    schedule 24.11.2014


Ответы (2)


Ваша политика работает. Я протестировал его и успешно использовал для запуска только определенных экземпляров.

Несколько замечаний:

  • В разделе Ресурсы не забудьте заменить accountid своим 12-значным идентификатором учетной записи (доступен на странице биллинга / учетной записи).
  • IAM поддерживает только ограниченное количество ресурсов- конкретные вызовы API. Включены Stop, Start и Reboot, но вызовы Describe не привязаны к конкретным ресурсам.

Политики IAM можно проверить с помощью ссылки Simulate Policy рядом с определением политики, которая ведет на Симулятор политики. Это отличный инструмент для устранения проблем с разрешениями.

person John Rotenstein    schedule 24.11.2014
comment
Привет, Джон, спасибо за ответ. Я получаю следующую ошибку для операций ec2. Произошла ошибка при получении данных экземпляра: у вас нет прав для выполнения этой операции. даже после того, как поставил мой реальный аккаунт. - person Shailesh Sutar; 24.11.2014
comment
Какую команду вы вызывали? Попробуйте симулятор политики, чтобы проверить политику, или декодируйте закодированное сообщение об ошибке, возвращаемое с помощью команды aws sts decode-authorization-message. - person John Rotenstein; 24.11.2014
comment
Джон, теперь это решено. Я сделал что-то вроде ниже. - person Shailesh Sutar; 24.11.2014
comment
Также можем ли мы ограничить пользователя для службы облачных наблюдений в конкретном регионе? - person Shailesh Sutar; 25.11.2014
comment
Да, вы можете ограничить разрешения CloudWatch в зависимости от региона. Если вам нужна помощь, создайте еще один вопрос с более подробной информацией. - person John Rotenstein; 25.11.2014

Я сделал что-то подобное, и это мне помогло. Но все же все ресурсы видны этому пользователю IAM, чего я на самом деле не хочу. Любые дальнейшие ответы были бы большим подспорьем.

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "ec2:Describe*",
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "ec2:StartInstances",
                "ec2:StopInstances",
                "ec2:RebootInstances"
            ],
            "Resource": "arn:aws:ec2:us-west-1:accountid:instance/instance-id",
            "Condition": {
                "StringEquals": {
                    "ec2:ResourceTag/Name": "Test"
                }
            }
        }
    ]
}

person Shailesh Sutar    schedule 24.11.2014
comment
Вы не можете скрыть выборочные ресурсы. Либо они могут описать их все, либо ни одного. См. docs.aws.amazon.com / AWSEC2 / latest / UserGuide / - person John Rotenstein; 25.11.2014