AWS IAM SSM - ограничение документов, которые могут запускать экземпляры

Есть ли способ ограничить политику IAM для экземпляра EC2, если он может запустить только короткий список документов - я попытался ограничить доступ к ssm:GetDocument, например так:

{
  "Version": "2012-10-17",
  "Statement": [
    {
        "Effect": "Allow",
        "Action": [
            "ssm:GetDocument"
        ],
        "Resource": [
            "arn:aws:ssm:ap-southeast-2:*:document/MyCommand"
        ]
    }
 ]}

Но я могу выполнить любую команду на экземпляре, включая документ AWS-RunPowershellScript.

Эта ссылка показывает, как пользователи могут быть ограничены в отношении ssm: sendCommand: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/delegate-commands.html

1 ответ

Решение

Я не нашел способ ограничить SendCommand на основе документа. Если у пользователя нет доступа, вы получаете сообщение об ошибке:

Пользователь: arn:aws:iam::123456789012: пользователь / имя пользователя не авторизован для выполнения: ssm:SendCommand на ресурсе: arn:aws:ec2:us-east-1:123456789012:instance/i-01234567890abcdef

Это указывает на то, что ресурс в SendCommand может быть ограничен на основе идентификаторов экземпляров. Было бы неплохо, если бы одним из Условий был Document ARN, но до сих пор я не нашел способа сделать это (это не условие в мастере создания политик).

Обновление: я разместил этот вопрос на форумах AWS, надеюсь, я получу ответ: https://forums.aws.amazon.com/thread.jspa?threadID=249039

Обновление 2: я получил ответ, и решение состоит в том, что для этого вы должны использовать Ресурс, чтобы указать, на каких экземплярах вы разрешаете запускать команды, и на каком документе пользователю разрешено запускать. Например, вот чем я закончил:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ssm:SendCommand"
            ],
            "Resource": [
                "arn:aws:ec2:*:123456789012:instance/*",
                "arn:aws:ssm:*:123456789012:document/RestartServices"
            ]
        }
    ]
}
Другие вопросы по тегам