Если я войду в экземпляр EC2 и попытаюсь ввести команду
aws glacier list-vaults --account-id ######
Я получаю сообщение об ошибке, что у пользователя нет разрешения, я смог предоставить пользователям IAM правильные разрешения, и он отлично работает с локального компьютера. Но это не работает внутри экземпляра EC2.
Куда добавить разрешение? Кто является фактическим пользователем, который выдает команду из экземпляра EC2 (например, команды "aws s3" работают без проблем)
Если некоторые другие команды aws cli действительно работают для вас, наиболее вероятная причина в том, что существует Профиль экземпляра прикреплен к экземпляру.
Профили экземпляров создаются из ролей EC2. Чтобы узнать, какая роль IAM используется для профиля, используйте
aws sts get-caller-identity --query Arn
Результат выглядит так:
"arn:aws:sts::$accountID:assume-role/$rolename/$instanceID"
где $instanceID
это имя роли IAM, которую вы ищете. Вам необходимо добавить разрешение IAM glacier:ListVaults
на эту роль.