Назад | Перейти на главную страницу

Проблема с политикой AWS IAM: невозможно разрешить все, кроме RunInstances

Мы изо всех сил пытаемся создать политику IAM, разрешающую все действия EC2, ЗА ИСКЛЮЧЕНИЕМ RunInstances. Это сделано для предотвращения запуска несанкционированных экземпляров из-за взлома ключа API. Мы пробовали это как с разрешением EC2, так и без него, потому что мне не ясно, подразумевает ли NotAction все действия.

С NotAction я не могу предоставлять тома EBS (см. Ниже). Нужно ли объединить экземпляры разрешений EC2 и Notaction Run в одном разделе политики?

EC2 Все разрешения:

«Действие»: «ec2:"," Эффект ":" Разрешить "," Ресурс ":"",

а затем вторая политика, которая запрещает RunInstances (из предыдущий ответ политики IAM по аналогичной теме

{"Заявление": [{"NotAction": ["ec2: RunInstances *"], "Эффект": "Запретить", "Ресурс": "*"}]}

ec2-54-196-184-11.compute-1.amazonaws.com * aws_ebs_volume [ip-10-140-10-132.volume15] действие создать

ec2-54-196-184-11.compute-1.amazonaws.com [2014-06-26T18: 17: 53 + 00: 00] ПРЕДУПРЕЖДЕНИЕ: ##### RightAws :: Ec2 вернул ошибку: 403 Запрещено

ec2-54-196-184-11.compute-1.amazonaws.com

ec2-54-196-184-11.compute-1.amazonaws.com UnauthorizedOperationУ вас нет прав для выполнения этой операции. Fcd71112-db50-4102-9855-a46749574de9 #####

ec2-54-196-184-11.compute-1.amazonaws.com [2014-06-26T18: 17: 53 + 00: 00] ПРЕДУПРЕЖДЕНИЕ: ##### RightAws :: запрос Ec2: https://us-east-1.ec2.amazonaws.com:443/?AWSAccessKeyId=XXXXXXXXXXXXXXXXXXX&Action=DescribeVolumes&SignatureMethod=HmacSHA256&SignatureVersion=2&Timestamp=2014-06-26T18%3A17%3A53.000Z&Version=2012-06-15&Signature=cRMAxfs3RP0R9rlQeb7JU9zYeey8L3CWQI2Pkj2o3V0%3D ####

ec2-54-196-184-11.compute-1.amazonaws.com

ec2-54-196-184-11.compute-1.amazonaws.com ================================= ===============================================

ec2-54-196-184-11.compute-1.amazonaws.com Ошибка при выполнении действия create на ресурсе 'aws_ebs_volume [ip-10-140-10-132.volume15]'

ec2-54-196-184-11.compute-1.amazonaws.com ================================= ===============================================

ec2-54-196-184-11.compute-1.amazonaws.com

ec2-54-196-184-11.compute-1.amazonaws.com

ec2-54-196-184-11.compute-1.amazonaws.com RightAws :: AwsError

ec2-54-196-184-11.compute-1.amazonaws.com ------------------

ec2-54-196-184-11.compute-1.amazonaws.com Несанкционированная операция: у вас нет прав для выполнения этой операции.

ec2-54-196-184-11.compute-1.amazonaws.com

ec2-54-196-184-11.compute-1.amazonaws.com

ec2-54-196-184-11.compute-1.amazonaws.com След Поваренной книги:

ec2-54-196-184-11.compute-1.amazonaws.com ---------------

ec2-54-196-184-11.compute-1.amazonaws.com /var/chef/cache/cookbooks/aws/providers/ebs_volume.rb:138:in `Current_attached_volume '

ec2-54-196-184-11.compute-1.amazonaws.com /var/chef/cache/cookbooks/aws/providers/ebs_volume.rb:26:in `block in class_from_file '

ec2-54-196-184-11.compute-1.amazonaws.com

ec2-54-196-184-11.compute-1.amazonaws.com

ec2-54-196-184-11.compute-1.amazonaws.com Декларация ресурсов:

ec2-54-196-184-11.compute-1.amazonaws.com ---------------------

ec2-54-196-184-11.compute-1.amazonaws.com # В /var/chef/cache/cookbooks/cook_aws/recipes/ebs.rb

ec2-54-196-184-11.compute-1.amazonaws.com

ec2-54-196-184-11.compute-1.amazonaws.com 26: узел aws_ebs_volume ['w2o'] ['ebs'] ['volume_name'] do

ec2-54-196-184-11.compute-1.amazonaws.com 27: действие [: создать,: прикрепить]

ec2-54-196-184-11.compute-1.amazonaws.com 28: узел aws_access_key ['aws'] ['access_key_id']

ec2-54-196-184-11.compute-1.amazonaws.com 29: узел aws_secret_access_key ['aws'] ['secret_access_key']

ec2-54-196-184-11.compute-1.amazonaws.com 30: узел устройства ['w2o'] ['ebs'] ['ebs_device']

ec2-54-196-184-11.compute-1.amazonaws.com 31: узел размера ['w2o'] ['ebs'] ['ebs_mount_size']

ec2-54-196-184-11.compute-1.amazonaws.com 32:

ec2-54-196-184-11.compute-1.amazonaws.com 33: # укажите piops, если они присутствуют в атрибуте узла

ec2-54-196-184-11.compute-1.amazonaws.com 34: если узел ['w2o'] ['ebs'] ['ebs_piops']> 0

ec2-54-196-184-11.compute-1.amazonaws.com 35: узел piops ['w2o'] ['ebs'] ['ebs_piops']

ec2-54-196-184-11.compute-1.amazonaws.com 36: volume_type 'io1'

ec2-54-196-184-11.compute-1.amazonaws.com 37: конец

ec2-54-196-184-11.compute-1.amazonaws.com 38:

ec2-54-196-184-11.compute-1.amazonaws.com

ec2-54-196-184-11.compute-1.amazonaws.com

ec2-54-196-184-11.compute-1.amazonaws.com

ec2-54-196-184-11.compute-1.amazonaws.com Скомпилированный ресурс:

ec2-54-196-184-11.compute-1.amazonaws.com ------------------

ec2-54-196-184-11.compute-1.amazonaws.com # Объявлено в /var/chef/cache/cookbooks/cook_aws/recipes/ebs.rb:26:in `from_file '

ec2-54-196-184-11.compute-1.amazonaws.com

ec2-54-196-184-11.compute-1.amazonaws.com aws_ebs_volume ("ip-10-140-10-132.volume15") делать

ec2-54-196-184-11.compute-1.amazonaws.com действие [: создать,: прикрепить]

ec2-54-196-184-11.compute-1.amazonaws.com повторных попыток 0

ec2-54-196-184-11.compute-1.amazonaws.com retry_delay 2

ec2-54-196-184-11.compute-1.amazonaws.com cookbook_name "cook_aws"

ec2-54-196-184-11.compute-1.amazonaws.com recipe_name "ebs"

ec2-54-196-184-11.compute-1.amazonaws.com aws_access_key "XXXXXXXXXXXXXXXXXXXXXX"

ec2-54-196-184-11.compute-1.amazonaws.com aws_secret_access_key "XXXXXXXXXXXXXXXXXXXXXX"

ec2-54-196-184-11.compute-1.amazonaws.com устройство "/ dev / xvdf"

ec2-54-196-184-11.compute-1.amazonaws.com размер 50

ec2-54-196-184-11.compute-1.amazonaws.com конец

ec2-54-196-184-11.compute-1.amazonaws.com

ec2-54-196-184-11.compute-1.amazonaws.com

ec2-54-196-184-11.compute-1.amazonaws.com

ec2-54-196-184-11.compute-1.amazonaws.com [2014-06-26T18: 17: 53 + 00: 00] ОШИБКА: запущены обработчики исключений.

ec2-54-196-184-11.compute-1.amazonaws.com [2014-06-26T18: 17: 53 + 00: 00] ОШИБКА: обработчики исключений завершены

ec2-54-196-184-11.compute-1.amazonaws.com [2014-06-26T18: 17: 53 + 00: 00] FATAL: Stacktrace выгружен в /var/chef/cache/chef-stacktrace.out ec2 -54-196-184-11.compute-1.amazonaws.com Chef Client не работает. 2 ресурса обновлены

ec2-54-196-184-11.compute-1.amazonaws.com [2014-06-26T18: 17: 54 + 00: 00] FATAL: Chef :: Exceptions :: ChildConvergeError: процесс запуска Chef завершился неудачно (код выхода 1)

Провел час с пробной учетной записью и симулятором IAM, чтобы получить:

{
"Version": "2012-10-17",
"Statement": [
    {
        "NotAction": [
            "ec2:RunInstances*"
        ],
        "Effect": "Allow",
        "Resource": "*"
    },
    {
        "Effect": "Allow",
        "Action": "elasticloadbalancing:*",
        "Resource": "*"
    },
    {
        "Effect": "Allow",
        "Action": "cloudwatch:*",
        "Resource": "*"
    },
    {
        "Effect": "Allow",
        "Action": "autoscaling:*",
        "Resource": "*"
    }
]

}

Публикация в случае, если это кому-то будет полезно, вы можете поместить любые действия в NotAction.