Как управлять AWS IAM с помощью aws-cli
На этой странице
- Предварительные требования
- Что будем делать?
- Проверьте aws cli и экспортируйте доступ и секретный ключ AWS на свой локальный компьютер.
- Управление IAM с помощью aws-cli
- Заключение
Управлять пользователями, группами и ролями IAM с вашего терминала легко и интересно, вам просто нужно выполнить команды для выполнения задачи. В этой статье мы увидим команды для создания пользователей, групп и ролей. Мы также увидим команды для присоединения и отсоединения политик к пользователю, группе и роли IAM, которые мы создаем. Это руководство поможет вам приступить к управлению ресурсами IAM с терминала.
Прежде чем мы продолжим, предполагается, что вы знакомы с пользователями IAM, группами, ролями и политиками.
Вот несколько команд, которые мы рассмотрели в этой статье.
- list-users: получить список существующих пользователей.
- list-groups: получить список существующих групп.
- list-roles: получить список существующих ролей.
- create-user: создать нового пользователя.
- create-group: Создайте новую группу.
- create-role: создайте новую роль.
- добавить пользователя в группу: добавить пользователя в существующую группу.
- get-group: получить список пользователей, входящих в группу.
- attach-user-policy: прикрепите управляемую политику к существующему пользователю.
- attach-group-policy: прикрепите управляемую политику к существующей группе.
- attach-role-policy: прикрепите управляемую политику к существующей роли.
- list-attached-user-policies: Список политик, прикрепленных к пользователю.
- list-attached-group-policies: список политик, прикрепленных к группе.
- list-attached-role-policies: список политик, прикрепленных к роли.
- detach-user-policy: удаление управляемой политики для существующего пользователя.
- detach-group-policy: удалить управляемую политику из существующей группы.
- detach-user-policy: удалить управляемую политику из существующей роли.
- remove-user-from-group: удаление пользователя из групп.
- delete-user: удалить пользователя IAM.
- delete-group: удалить группу IAM.
- delete-role: удалить роль IAM.
Посетите официальную документацию AWS, чтобы узнать обо всех командах aws-cli для IAM.
Предпосылки
- Аккаунт AWS (создайте, если у вас его нет).
- Основные сведения об IAM (нажмите здесь, чтобы узнать, как создать пользователя, группу и роль IAM с помощью консоли AWS).
- Пользователь AWS IAM, создайте пользователя IAM).
- AWS CLI установлен на вашем локальном компьютере.
Что мы будем делать?
- Проверьте aws cli и экспортируйте доступ и секретный ключ AWS на свой локальный компьютер.
- Управление IAM с помощью aws-cli
Проверьте aws cli и экспортируйте доступ и секретный ключ AWS на свой локальный компьютер.
Проверьте, установлен ли на вашем локальном компьютере aws-cli.
aws --version #aws-cli/2.0.0 Python/3.8.2 Darwin/19.2.0 botocore/2.0.0dev7
Следующим шагом будет экспорт вашего пользовательского доступа AWS и секретного ключа в ваш терминал. Ключи у вас будут другие, не используйте указанные ниже.
export AWS_ACCESS_KEY_ID=<your-iam-user-access-key-here>
export AWS_SECRET_ACCESS_KEY=<your-iam-user-secret-key-here>
Выполните следующую команду, чтобы проверить личность пользователя, ключи которого вы экспортировали.
aws sts get-caller-identity
Управление IAM с помощью aws-cli
Чтобы начать работу с IAM, давайте сначала проверим существующих пользователей, группы и роли IAM в учетной записи.
aws iam list-users
aws iam list-groups
aws iam list-roles
Чтобы создать пользователя IAM, выполните следующую команду.
aws iam create-user --user-name test-user
Давайте создадим группу IAM.
aws iam create-group --group-name test-group
При создании роли нам также необходимо установить доверительные отношения. Для этого нам нужна политика.
Создайте в локальной системе файл со следующим содержимым, назовите файл \trust-relationship-policy.json\. Следующая политика позволяет службе EC2 взять на себя эту роль.
{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Principal": {"Service": "ec2.amazonaws.com"}, "Action": "sts:AssumeRole" } }
Теперь мы готовы создать роль IAM.
aws iam create-role --role-name test-role --assume-role-policy-document file://trust-relationship-policy.json
На данный момент у нас есть пользователь IAM, группа и роль.
Теперь мы можем добавить пользователя в созданную нами группу с помощью следующей команды.
aws iam add-user-to-group --user-name test-user --group-name test-group
Проверьте детали группы после добавления в нее пользователя.
aws iam get-group --group-name test-group
Давайте добавим политику «ReadOnlyAccess» к созданным нами Пользователю, Группе и Роли.
aws iam attach-user-policy --policy-arn arn:aws:iam::aws:policy/ReadOnlyAccess --user-name test-user
aws iam attach-group-policy --policy-arn arn:aws:iam::aws:policy/ReadOnlyAccess --group-name test-group
aws iam attach-role-policy --policy-arn arn:aws:iam::aws:policy/ReadOnlyAccess --role-name test-role
Убедитесь, что политика была добавлена к пользователю, группе и роли.
aws iam list-attached-user-policies --user-name test-user
aws iam list-attached-group-policies --group-name test-group
aws iam list-attached-role-policies --role-name test-role
Как мы добавили политику для пользователя, группы и роли, мы также можем ее отсоединить.
Чтобы открепить политику, нам нужно передать ее имя команде.
aws iam detach-user-policy --user-name test-user --policy-arn arn:aws:iam::aws:policy/ReadOnlyAccess
aws iam detach-group-policy --group-name Testers --policy-arn arn:aws:iam::aws:policy/ReadOnlyAccess
aws iam detach-group-policy --group-name test-group --policy-arn arn:aws:iam::aws:policy/ReadOnlyAccess
aws iam detach-role-policy --role-name test-role --policy-arn arn:aws:iam::aws:policy/ReadOnlyAccess
После отсоединения политики мы можем убедиться, что политика больше не привязана к пользователю, группе и роли.
aws iam list-attached-user-policies --user-name test-user
aws iam list-attached-group-policies --group-name test-group
aws iam list-attached-role-policies --role-name test-role
Если нам больше не нужны созданные нами Пользователь, Группа и Роль, мы можем удалить их, выполнив следующую команду.
aws iam delete-user --user-name test-user
Обратите внимание, что перед удалением пользователя необходимо удалить его из группы, в которую он был добавлен.
aws iam remove-user-from-group --user-name test-user --group-name test-group
aws iam delete-user --user-name test-user
aws iam delete-group --group-name test-group
aws iam delete-role --role-name test-role
Заключение
В этой статье мы видели команду для управления пользователем, группой и ролью IAM. Сначала мы создали эти ресурсы IAM, а затем добавили к ним политики, управляемые IAM. Мы также увидели, как политики могут быть отделены от пользователя, группы и роли. Позже мы также увидели команду для удаления созданных нами ресурсов IAM. Теперь вы можете попробовать другие команды и управлять IAM с помощью aws-cli.