Я використовую команду "aws ec2 run-instance" (з інтерфейсу командного рядка AWS (CLI) ) для запуску екземпляра Amazon EC2 . Я хочу встановити роль IAM для екземпляра EC2, який я запускаю. Роль IAM налаштована, і я можу її успішно використовувати при запуску екземпляра з веб-інтерфейсу AWS. Але коли я намагаюся зробити це за допомогою цієї команди та параметра "--iam-instance-profile", це не вдалося. Виконання "aws ec2 run-instanci help" показує Arn = та Name = підполі для значення. Коли я намагаюся шукати Arn за допомогою "aws iam list-instance-профілі", воно видає це повідомлення про помилку:
Виникла помилка клієнта (AccessDenied): Користувач: arn: aws: sts :: xxxxxxxxxxxx: предполагаемая роль / shell / i-15c2766d не має права виконувати: iam: ListInstanceProfiles на ресурсі: arn: aws: iam :: xxxxxxxxxxxx: instance -профіль /
(де xxxxxxxxxxxx - мій 12-значний номер облікового запису AWS)
Я шукав рядок Arn через веб-інтерфейс і використовував це через "--iam-instance-profile Arn = arn: aws: iam :: xxxxxxxxxxxx: instance-profile / shell" в команді run-instance, і це не вдалося з :
Сталася помилка клієнта (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" ... складаючи це ім'я)?
FYI, все включає Linux, який працює на екземплярах. Крім того, я запускаю все це з екземпляра, тому що мені не вдалося встановити ці інструменти на робочому столі. Це і я не хочу розміщувати свої облікові дані користувачів IAM у будь-якому сховищі AWS, як радить тут AWS .
після відповіді:
Я не згадав дозвіл на запуску екземпляра "PowerUserAccess" (проти "AdministratorAccess"), оскільки я не усвідомлював, що потрібен додатковий доступ під час запитання. Я припускав, що роль IAM - це "інформація", що додається до запуску. Але це насправді більше. Це надання дозволу.