Подтвердить что ты не робот

Система AWS Amazon IAM Политика доступа к ТОЛЬКО одному экземпляру EC2 в регионе ЕС-Запад-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"
  }]
}

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

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

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

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

Это хорошо, но это не то, что мне нужно, потому что пользователи имеют доступ ко всем экземплярам EC2.

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


4b9b3361

Ответ 1

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

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

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

См. также Предоставление пользователям 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?.

Удачи!