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

Как добавить КОНКРЕТНЫЕ ограничения доступа CloudFormation, EC2, RDS и S3 в AWS - IAM

Я пытаюсь создать группу для внешней команды, которой требуется доступ к их CloudFormation, которая находится в нашей учетной записи. Я хотел бы установить ограничения для их группы, чтобы они могли просматривать и редактировать только свой собственный веб-сайт, не просматривая остальные сайты в учетной записи моей группы.

У меня есть тестовая политика, которая должна была позволить пользователю просматривать только конкретный экземпляр EC2 (пример ниже), но когда я вхожу в систему как ограниченная группа, у меня появляется сообщение: «Произошла ошибка при получении данных экземпляра. : У вас нет прав для выполнения этой операции ".

{
  "Statement":[{
    "Effect":"Allow",
    "Action":"ec2:*",
    "Resource":arn:aws:ec2:us-east-1:NUMBERS:instance/instance-ID",
    "Condition":{
      "ArnEquals":{
        "ec2:Owner":"arn:aws:ec2:us-east-1:NUMBERS:instance/instance-ID"
        }
      }
    }
  ]
}

Есть ли способ установить групповые ограничения для определенных CloudFormations, включая их экземпляры EC2, RDS и S3 Buckets?

Спасибо,

К сожалению AWS Identity and Access Management (IAM) не полностью охватывает этот аспект на сегодняшний день, потому что Разрешения на уровне ресурсов для ресурсов EC2 и RDS пока недоступны для всех действий API, см., например, это примечание от Имена ресурсов Amazon для Amazon EC2:

Важный В настоящее время не все действия API поддерживают отдельные ARN; мы добавим поддержку дополнительных действий API и ARN для дополнительных ресурсов Amazon EC2 позже. Информацию о том, какие ARN можно использовать с какими действиями API Amazon EC2, а также о поддерживаемых ключах условий для каждого ARN, см. Поддерживаемые ресурсы и условия для действий API Amazon EC2.

Вы обнаружите, что все ec2:Describe* действия действительно отсутствуют Поддерживаемые ресурсы и условия для действий API Amazon EC2 на момент написания этой статьи, что вызывает возникшую у вас ошибку.

  • См. Мой первоначальный ответ на Как ограничить пользователя определенным объемом экземпляра в AWS используя политику IAM в качестве примера, как разделить вашу политику IAM в отношении тех частей, которые поддерживают и не поддерживают разрешения на уровне ресурсов, чтобы избежать этой ошибки как таковой (очевидно, это не помешает пользователям видеть всю вашу учетную запись).

Смотрите также Предоставление пользователям IAM необходимых разрешений для ресурсов Amazon EC2 для краткого изложения вышеизложенного и подробностей о ключи условий ARN и Amazon EC2, которые можно использовать в заявлении политики IAM для предоставления пользователям разрешения на создание или изменение определенных ресурсов Amazon EC2 - на этой странице также упоминается, что AWS будет добавить поддержку дополнительных действий, ARN и условных ключей в 2014 г..

Альтернатива / обходной путь

В зависимости от конкретного сценария может быть проще просто выделить отдельную учетную запись AWS, которую можно интегрировать с вашей политикой IAM через Доступ между аккаунтами: совместное использование ресурсов между аккаунтами AWS и биллинг через Единый биллинг.