У меня проблемы с созданием политики IAM для определенного пользователя, чтобы предоставить права на запуск и остановку экземпляра EC2.
Я пробовал несколько способов, но не нашел ошибок.
Это моя политика:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Stmt1468227127000",
"Effect": "Allow",
"Action": [
"ec2:DescribeInstances"
],
"Resource": [
"*"
]
},
{
"Sid": "Stmt1468227157000",
"Effect": "Allow",
"Action": [
"ec2:StartInstances",
"ec2:StopInstances"
],
"Resource": [
"arn:aws:ec2:region:user:instance/instance-ID"
]
}
]
}
Насколько я прочитал, я не могу описать только один экземпляр, в первой части я описываю все свои экземпляры ec2, и он работает, но во второй части я разрешаю пользователю запускать и останавливать один экземпляр, но я не могу запустить Это.
Этот мне подходит. Пожалуйста, обратите внимание, я добавил несколько довольно полезных (с моей точки зрения) действий, конечно, не стесняйтесь удалять их, если они не нужны:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"ec2:DescribeInstances",
"ec2:DescribeInstanceStatus",
"ec2:DescribeTags"
],
"Resource": "*"
},
{
"Effect": "Allow",
"Action": [
"ec2:StartInstances",
"ec2:StopInstances",
"ec2:RebootInstances"
],
"Resource": "arn:aws:ec2:us-east-1:361111111111:instance/i-0e411111111111111"
}
]
}
Вот 361111111111
это идентификатор учетной записи, как вы видите в настройках учетной записи, i-0e411111111111111
это именно идентификатор экземпляра, должен начинаться с i-
, можно найти в самой левой верхней строке на вкладке описания экземпляра.
Обратите внимание, в этом регионе нет зоны доступности.
Для любопытных: старался ограничить ec2:Describe*
действия по arn:aws:ec2:us-east-1:361111111111:instance/*
, но это не работает. Я снял крайние правые части, пока не заработает, и оказывается, что "*"
работает только.
Попытка предложения Путника у меня не сработала, да и что-то подобное.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [ "ec2:*" ],
"Resource": "*"
]
}
Я не мог ни запустить, ни остановить экземпляры EC2, так как остановленные экземпляры на короткое время переходили в состояние ожидания, а затем снова возвращались в состояние «остановлено» с довольно бесполезным Client.InternalError
сообщение.
Однако добавление PassRole
в мою политику работала.
{
"Version": "2012-10-17",
"Statement": [
{
"Action": [ "ec2:Describe*" ],
"Resource": [ "*" ],
"Effect": "Allow"
},
{
"Action": [
"ec2:StartInstances",
"ec2:StopInstances",
"ec2:RebootInstances"
],
"Resource": [
"arn:aws:ec2:us-east-1:361111111111:instance/i-0e411111111111111"
],
"Effect": "Allow"
},
{
"Effect": "Allow",
"Action": "iam:PassRole",
"Resource": "*"
}
]
}
Проверьте свой ARN. Он должен быть в формате, показанном на этой странице. http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#arn-syntax-ec2
Когда он говорит, что аккаунт есть. Это числовой аккаунт AWS для идентификатора