Я хочу заблокировать iam-test-user от production-ec2instance - PullRequest
0 голосов
/ 28 мая 2018

Я хочу заблокировать iam-test-user от production-ec2instance с тегом ec2.

Я думаю, что политика IAM неявно запрещает.

Поэтому я добавил тег "Purpose / Test"to test-ec2instance.

И я применил файл iam-policy ниже к iam-test-user.

{
"Version": "2012-10-17",
"Statement": [
    {
        "Effect": "Allow",
        "Action": "ec2:*",
        "Resource": "*",
        "Condition": {"StringEquals": {"ec2:ResourceTag/Purpose": "Test"}}
    }
] }

Но iam-test-user не может видеть все включения ec2instancetest-ec2instance на aws-console.

Неправильный ли файл json?

1 Ответ

0 голосов
/ 01 июня 2018

Ваша политика гласит:

  • Разрешить этому объекту делать что-либо (ec2:*) на EC2 ...
  • Если ресурс имеет тег Purpose:Test

Это должно работать при запуске и остановке экземпляра с этим тегом.

Затем вы говорите: не может видеть все ec2instance, включая test-ec2instance на aws-console

Вызов API, который возвращает список экземпляров, DescribeInstances.Эта команда НЕ связана с одним экземпляром, поэтому она не может использовать теги.Поэтому команда будет не функционировать.

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

Вот пример:

  • Я даю вам разрешение разговаривать только с тем, у кого есть имя 'Keisuke'
  • I тогдапопросите вас посчитать, сколько людей стоит в комнате

В комнате нет названия Кейсуке, поэтому вы не можете подсчитать количество людей в комнате.

Аналогично, невозможно ограничить количество экземпляров, возвращаемых командой DescribeInstances.Вы либо предоставляете объектам разрешения на перечисление все , либо список нет .

...