Политика IAM для запуска/остановки инстанса AWS EC2

Я хочу, чтобы пользователь мог войти в учетную запись aws и запустить и остановить ОДИН конкретный экземпляр ec2. До сих пор я узнал, что описание ec2 работает только с универсальной звездой «*» в ресурсах. Пользователь может войти в систему, видит все экземпляры, НО он не может запустить или остановить экземпляр, потому что появляется ошибка отказа в разрешении :(

это моя политика

{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "TheseActionsDontSupportResourceLevelPermissions",
"Effect": "Allow",
"Action": [
"ec2:Describe*"
],
"Resource": "*"
},
{
"Sid": "TheseActionsSupportResourceLevelPermissions",
"Effect": "Allow",
"Action": [
"ec2:TerminateInstances",
"ec2:StopInstances",
"ec2:StartInstances"
],
"Resource": "arn:aws:ec2:eu-central-1a:MY_ACCOUNT_ID:instance/MY_INSTANCE_ID"
}
]
}

person user3046913    schedule 11.11.2015    source источник
comment
Изначально я начал читать эту запись, но до сих пор не могу понять, что с ней не так " rel="nofollow noreferrer">blogs.aws.amazon.com/security/post/Tx2KPWZJJ4S26H6/ Тогда есть хороший инструмент, но кажется, что как только я ограничиваю запуск/остановку ресурса, работать больше... policysim.aws.amazon.com   -  person user3046913    schedule 11.11.2015


Ответы (1)


Ответ в том, что вы не можете.

ec2:Stopinstances, ec2:StartInstances и ec2:TerminateInstances действительно поддерживают разрешения на уровне ресурсов, но не для ключа условия идентификатора экземпляра. Они поддерживают условные ключи:

  • ec2: Зона доступности
  • ec2:EbsОптимизированный
  • ec2: профиль экземпляра
  • ec2: тип экземпляра
  • ec2: группа размещения
  • ec2: Регион
  • ec2: ResourceTag/тег-ключ
  • ec2: тип корневого устройства
  • ec2: Аренда

Это подчеркивается в документации здесь. (Поиск вызовов API на странице)

Единственным потенциально полезным ключом условия является ec2:ResourceTag/tag-key. Вы можете добавить тег ресурса для конкретного экземпляра и разрешить пользователю вызывать эти 3 вызова API для экземпляров с этим тегом.

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

Надеюсь это поможет.

person mickzer    schedule 16.11.2015
comment
Не забудьте отметить ответ как правильный, если он ответил на ваш вопрос :) - person mickzer; 24.11.2015
comment
я пытался проголосовать, но у меня недостаточно репутации - person user3046913; 25.11.2015
comment
Вам не нужно голосовать за него, вам просто нужно нажать на галочку, чтобы отметить его как правильный :) - person mickzer; 25.11.2015