Мы изо всех сил пытаемся создать политику 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.