Я пытаюсь сузить минимальную политику для запуска предопределенного машинного образа. Изображение основано на двух моментальных снимках, и мне нужно только запустить типы экземпляров "m1.medium".
Исходя из этого и с помощью эта страница и эта статья, я разработал следующую политику:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Stmt1385026304010",
"Effect": "Allow",
"Action": [
"ec2:RunInstances"
],
"Condition": {
"StringEquals": {
"ec2:InstanceType": "m1.medium"
}
},
"Resource": [
"arn:aws:ec2:us-east-1::instance/*",
"arn:aws:ec2:us-east-1::image/ami-f1c3e498",
"arn:aws:ec2:us-east-1::snapshot/snap-e2f51ffa",
"arn:aws:ec2:us-east-1::snapshot/snap-18ca2000",
"arn:aws:ec2:us-east-1::key-pair/shenton",
"arn:aws:ec2:us-east-1::security-group/sg-6af56d02",
"arn:aws:ec2:us-east-1::volume/*"
]
}
]
}
Политика сужает точное изображение, моментальные снимки, группу безопасности и пару ключей, оставляя открытый экземпляр и том.
Я использую инструменты CLI следующим образом, как описано здесь:
aws ec2 run-instances --dry-run \
--image-id ami-f1c3e498 \
--key-name shenton \
--security-group-ids sg-6af56d02 \
--instance-type m1.medium
~/.aws/config
выглядит следующим образом:
[default]
output = json
region = us-east-1
aws_access_key_id = ...
aws_secret_access_key = ...
В результате команды генерируется общее сообщение You are not authorized to perform this operation
, и сообщение об ошибке с кодировкой авторизации указывает, что ни одно из моих операторов не было сопоставлено, и поэтому оно отклоняет действие.
Переход на "Resource": "*"
явно решает проблему, но я хочу получить больше информации о том, почему это не работает. Я полностью понимаю, что это связано с некоторой догадкой, поэтому я приветствую любые идеи.