Мне дали пару ключа доступа AWS и секрета доступа AWS. Я хотел бы подтвердить, что пользователь AWS, связанный с ключом, имеет соответствующие разрешения и не имеет других неожиданных ролей. Но я не смог найти хорошего API для этого. Есть ли какой-нибудь хороший API для определения ролей, прикрепленных к самому пользователю?
Хотя я прочитал документ и погуглил его, я не смог найти хорошего способа. Я знаю, что можно протестировать, вызывая сам API один за другим. Но я хотел бы получить исчерпывающий список ролей, прикрепленных к пользователю, если это возможно.
Решено:
Это получить идентификатор вызывающего абонента, который мне нужно было знать. Команда возвращает учетную запись AWS, идентификатор пользователя AWS и ARN пользователя, чтобы я мог использовать рекомендуемые команды, чтобы узнать его политики, группы и т. д.
Роли IAM не «прикреплены» к пользователям. Вместо этого пользователи могут запросить AssumeRole()
. Если у них есть необходимые разрешения, им будут предоставлены временные учетные данные для использования роли IAM.
Таким образом, чтобы определить, может ли конкретный пользователь IAM использовать определенную роль IAM, вам необходимо посмотреть:
Однако если вы использовали слово «роли» для обозначения разрешений в целом, вам нужно будет просмотреть политики, прикрепленные к пользователю IAM, чтобы узнать, какие разрешения им были предоставлены. Вы можете использовать Интерфейс командной строки (CLI) AWS с такими командами, как:
Пользователи также могут наследовать разрешения от групп IAM, поэтому вам следует проверить, входит ли пользователь в группу IAM и какие разрешения прикреплены к этой группе.
Чтобы просмотреть приведенную выше информацию, вам также необходимо иметь разрешение на выполнение этих вызовов API. Возможно, у вас нет таких разрешений, поэтому вы не сможете просмотреть фактически предоставленные вам разрешения.
Чтобы получить список ролей и политик IAM, прикрепленных к конкретному пользователю AWS, вы можете использовать интерфейс командной строки AWS.
перечисляет управляемые политики, прикрепленные к пользователю.
aws iam list-attached-user-policies --user-name <username>
перечисляет встроенные политики, встроенные в пользователя.
aws iam list-user-policies --user-name <username>
Если пользователь принадлежит к каким-либо группам, эта команда выводит список этих групп.
aws iam list-groups-for-user --user-name <username>
Хотя пользователям IAM не могут быть напрямую прикреплены к ним роли, вам необходимо проверить политики, если вы хотите проверить, какие роли может выполнять пользователь. В частности, вам следует искать политики, прикрепленные к пользователю или его группам, включая действия sts:AssumeRole
.