Я использую команду «aws ec2 run-instances» (из интерфейса командной строки AWS (CLI) ) для запуска экземпляра Amazon EC2 . Я хочу установить роль IAM для запускаемого мной экземпляра EC2 . Роль IAM настроена, и я могу успешно использовать ее при запуске экземпляра из веб-интерфейса AWS. Но когда я пытаюсь сделать это с помощью этой команды и параметра «--iam-instance-profile», это не удалось. Выполнение «справки по запуску aws ec2» показывает подполя Arn = и Name = для значения. Когда я пытаюсь найти Арн с помощью «aws iam list-instance-profile», он выдает следующее сообщение об ошибке:
Произошла ошибка клиента (AccessDenied): Пользователь: arn: aws: sts :: xxxxxxxxxxxx: предполагаемая роль / shell / i-15c2766d не авторизован для выполнения: iam: ListInstanceProfiles на ресурсе: arn: aws: iam :: xxxxxxxxxxxx: экземпляр -профиль/
(где xxxxxxxxxxxx - это 12-значный номер моего счета AWS)
Я посмотрел строку Arn через веб-интерфейс и использовал ее с помощью "--iam-instance-profile Arn = arn: aws: iam :: xxxxxxxxxxxx: instance-profile / shell" в команде run-instances, и это не удалось с :
Произошла ошибка клиента (UnauthorizedOperation): вы не авторизованы для выполнения этой операции.
Если я полностью отключу опцию «--iam-instance-profile», экземпляр запустится, но у него не будет нужного мне параметра роли IAM. Таким образом, разрешение, похоже, связано с использованием «--iam-instance-profile» или доступом к данным IAM. Я повторил несколько раз в случае сбоев AWS (они случаются иногда) и безуспешно.
Я подозревал, что, возможно, существует ограничение, заключающееся в том, что экземпляру с ролью IAM не разрешается запускать экземпляр с более мощной ролью IAM. Но в этом случае экземпляр, в котором я выполняю команду, имеет ту же роль IAM, которую я пытаюсь использовать. названный "раковиной" (хотя я также попытался использовать другой, не удача).
Не разрешено ли даже задание роли IAM для экземпляра (через учетные данные роли IAM)?
Требуется ли какое-либо более высокое разрешение роли IAM для использования ролей IAM, чем для простого запуска простого экземпляра?
Является ли "--iam-instance-profile" подходящим способом для указания роли IAM?
Нужно ли использовать подмножество строки Arn или отформатировать его каким-либо другим способом?
Можно ли установить роль IAM, которая может осуществлять любой доступ к роли IAM (может быть, «Super Root IAM» ... создающий это имя)?
К вашему сведению, все включает в себя запуск Linux на инстансах. Кроме того, я запускаю все это из экземпляра, потому что я не мог установить эти инструменты на моем рабочем столе. Это и я не хочу помещать свои учетные данные пользователя IAM в любое хранилище AWS, как рекомендует AWS здесь .
после ответа:
Я не упомянул разрешение на запуск экземпляра «PowerUserAccess» (по сравнению с «AdministratorAccess»), потому что я не понимал, что дополнительный доступ был необходим в то время, когда был задан вопрос. Я предполагал, что роль IAM была «информацией», связанной с запуском. Но это действительно больше, чем это. Это предоставление разрешения.