Поиск по сайту:

Как управлять AWS IAM с помощью aws-cli


На этой странице

  1. Предварительные требования
  2. Что будем делать?
  3. Проверьте aws cli и экспортируйте доступ и секретный ключ AWS на свой локальный компьютер.
  4. Управление IAM с помощью aws-cli
  5. Заключение

Управлять пользователями, группами и ролями IAM с вашего терминала легко и интересно, вам просто нужно выполнить команды для выполнения задачи. В этой статье мы увидим команды для создания пользователей, групп и ролей. Мы также увидим команды для присоединения и отсоединения политик к пользователю, группе и роли IAM, которые мы создаем. Это руководство поможет вам приступить к управлению ресурсами IAM с терминала.

Прежде чем мы продолжим, предполагается, что вы знакомы с пользователями IAM, группами, ролями и политиками.

Вот несколько команд, которые мы рассмотрели в этой статье.

  1. list-users: получить список существующих пользователей.
  2. list-groups: получить список существующих групп.
  3. list-roles: получить список существующих ролей.
  4. create-user: создать нового пользователя.
  5. create-group: Создайте новую группу.
  6. create-role: создайте новую роль.
  7. добавить пользователя в группу: добавить пользователя в существующую группу.
  8. get-group: получить список пользователей, входящих в группу.
  9. attach-user-policy: прикрепите управляемую политику к существующему пользователю.
  10. attach-group-policy: прикрепите управляемую политику к существующей группе.
  11. attach-role-policy: прикрепите управляемую политику к существующей роли.
  12. list-attached-user-policies: Список политик, прикрепленных к пользователю.
  13. list-attached-group-policies: список политик, прикрепленных к группе.
  14. list-attached-role-policies: список политик, прикрепленных к роли.
  15. detach-user-policy: удаление управляемой политики для существующего пользователя.
  16. detach-group-policy: удалить управляемую политику из существующей группы.
  17. detach-user-policy: удалить управляемую политику из существующей роли.
  18. remove-user-from-group: удаление пользователя из групп.
  19. delete-user: удалить пользователя IAM.
  20. delete-group: удалить группу IAM.
  21. delete-role: удалить роль IAM.

Посетите официальную документацию AWS, чтобы узнать обо всех командах aws-cli для IAM.

Предпосылки

  1. Аккаунт AWS  (создайте, если у вас его нет).
  2. Основные сведения об IAM (нажмите здесь, чтобы узнать, как создать пользователя, группу и роль IAM с помощью консоли AWS).
  3. Пользователь AWS IAM, создайте пользователя IAM).
  4. AWS CLI установлен на вашем локальном компьютере.

Что мы будем делать?

  1. Проверьте aws cli и экспортируйте доступ и секретный ключ AWS на свой локальный компьютер.
  2. Управление 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.