Политика AWS IAM для ограничения доступа для чтения на экземплярах EC2

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

Цель: у меня много экземпляров EC2 и много разных пользователей в AWS, и я хочу иметь группу пользователей, которые могут видеть ТОЛЬКО отдельные экземпляры EC2, а не все.

Есть ли возможность сделать это?

Я пытался ограничить доступ, помечая экземпляры, но API Describe * не может быть ограничен Условием, а не Ресурсом, если я правильно понял.

1 ответ

Решение

К сожалению, единственный чистый способ сделать это - создать несколько учетных записей AWS (желательно в рамках Организации), а затем ограничить разные группы пользователей разными учетными записями.

Некоторые, но не все действия поддерживают разрешения на уровне ресурсов, поэтому вы можете написать политику, подобную следующей, которая ограничивает, какие экземпляры EC2 пользователь IAM может запускать / останавливать / перезагружать:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Action": [
                "ec2:StartInstances",
                "ec2:StopInstances",
                "ec2:RebootInstances"
            ],
            "Condition": {
                "StringEquals": {
                    "ec2:ResourceTag/Environment": "Staging"
                }
            },
            "Resource": [
                "arn:aws:ec2:us-east-1:123456789012:instance/*"
            ],
            "Effect": "Allow"
        },
        {
            "Effect": "Allow",
            "Action": "ec2:Describe*",
            "Resource": "*"
        }
    ]
}

Кроме того, вы можете ограничить распространение пар ключей SSH или учетных данных Windows, чтобы только определенные пользователи имели физический доступ к данному экземпляру EC2.

Другие вопросы по тегам