Политика пользователя AWS Amazon IAM для доступа ТОЛЬКО к одному инстансу EC2 в регионе EU-WEST-1

Я прочитал документацию AWS, и она мне не помогла ... по крайней мере, для меня. Я читал об IAM и пользовательской политике на EC2.

Я хочу, чтобы у пользователей был полный доступ / (или разрешены только некоторые действия) только на ОДНОМ экземпляре ec2.

Я использую регион eu-west-1 (Ирландия). Я сделал эту политику:

{
  "Version": "2012-10-17",
  "Statement": [{ 
    "Effect": "Allow",
    "Action":   "ec2:*", 
    "Resource": "arn:aws:ec2:eu-west-1:ACCOUNT_ID:instance/INSTANCE_ID"
  }]
}

и когда я вхожу в систему как пользователь, я вижу, что я не авторизован:

  • У вас нет прав для описания запущенных экземпляров
  • У вас нет прав для описания эластичных IP-адресов
  • Вы не уполномочены описывать тома
  • У вас нет прав для описания снимков
  • Вы не уполномочены описывать пары ключей
  • У вас нет прав для описания балансировщиков нагрузки
  • У вас нет прав для описания групп мест размещения
  • У вас нет прав для описания групп безопасности

Если я применяю следующую политику для атрибута ресурса:

Ресурс: arn: aws: ec2: *

это нормально, но мне это не нужно, потому что у пользователей есть доступ ко всем экземплярам EC2.

Я хочу знать, является ли это ошибкой AWS, или есть проблемы с регионом eu-west-1, или эта политика уже не поддерживается? Или может я ошибаюсь, если да, пожалуйста, помогите мне, как это сделать



person Tedi Çela    schedule 18.12.2013    source источник
comment
вот ответ, но не могу помочь для eu-west-1: (stackoverflow.com/questions/20548062/aws-iam-access-management)   -  person Tedi Çela    schedule 19.12.2013


Ответы (1)


Недавно представленный на уровне ресурсов Разрешения для ресурсов EC2 и RDS пока доступны не для всех действий API, но AWS постепенно добавляет больше, см. Это примечание от Имена ресурсов Amazon для Amazon EC2:

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

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

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

Возможный обходной путь / альтернатива

Вместо или в дополнение к ограничению доступа на уровне отдельных ресурсов вы можете проверить (также) с помощью Условия в сочетании с Переменные политики, поскольку ec2:Region является одной из поддерживаемых Ключи условий для Amazon EC2 - вы можете объединить свою политику с политикой, которая специально обрабатывает Describe* действия, например что-то вроде этого (непроверено):

{
  "Statement": [
    {
      "Action": [
        "ec2:Describe*"
      ],
      "Effect": "Allow",
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "ec2:Region": "eu-west-1"
        }
      }
    }
  ]
}

Обратите внимание, что это по-прежнему позволит пользователю видеть все экземпляры в eu-west-1, даже если исходный фрагмент политики предотвратит все действия API, которые уже поддерживают разрешения на уровне ресурсов (например, создание / завершение экземпляра и т. Д.).

Я изложил еще один возможный подход в разделе Частичное решение в моем соответствующем ответе на Как скрыть экземпляры в EC2 на основе тега - с использованием IAM?.

Удачи!

person Steffen Opel    schedule 19.12.2013
comment
Даже с этой простой политикой я не получаю стабильного результата каждый раз, когда нажимаю CTRL + F5, а также после выхода из системы / входа в систему. Иногда я могу перечислить экземпляры, но иногда получаю Вы не уполномочены описывать запущенные экземпляры - person Bastien974; 25.01.2014
comment
Я также попытался заменить условие ec2: Region на ec2: ResourceTag. У меня только 1 экземпляр с правильным тегом, я все время получаю Ошибка при получении данных экземпляра - person Bastien974; 25.01.2014
comment
Пример обходного пути не удастся, потому что вы не можете использовать условия для описания действий EC2 в соответствии с официальной документацией. Вот список действий EC2, которые поддерживают условия: docs.aws.amazon.com/AWSEC2/latest/UserGuide/ - person Michael Thompson; 07.06.2017