Работа с AWS IAM через командную строку в Unix/Linux
AWS CLI — это консольная утилита которая позволяет работать с AWS IAM через командную строку. Я хотел бы сделать заметку о том как работать AWS IAM в консоле.
Работа с AWS IAM через командную строку в Unix/Linux
Устанавливаем AWS CLI:
Установка AWS CLI в Unix/Linux
Открываем конфиг:
# vim ~/.aws/credentials
Прописываем ключи. Например:
[Your_acc_name] aws_access_key_id = XXXXXXXXXXXXXXXXXXXXXXXXX aws_secret_access_key = YYYYYYYYYYYYYYYYYYYY
Где:
- Your_acc_name — Имя для аккаунта. Потом можно его использовать.
- aws_access_key_id — Ключик.
- aws_secret_access_key — Еще один ключик.
И так, если в системе не имеется никаких юзеров, то стоит создать. Логинимся в аккаунт -> Переходи в AWS services и выбираем IAM -> Создаем группу, роль, полиси и юзера ( с нужными правами).
Создание/Удаление группы через командную строку в Unix/Linux
И так, создадим группу:
$ aws iam create-group --group-name=test { "Group": { "Path": "/", "CreateDate": "2017-05-27T14:44:57.246Z", "GroupId": "AGPAIIW6A737HTMLZCDDW", "Arn": "arn:aws:iam::316963130188:group/test", "GroupName": "test" } }
Для просмотра групп, используйте:
$ aws iam list-groups
Чтобы удалить ненужную группу, используйте:
$ aws iam delete-group --group-name=test
И так, группа создана ( у меня она называется test).
Смотрим какие полиси были назначены группе:
$ aws iam list-attached-group-policies --group-name test
Чтобы переименовать группу, используйте следующую команду:
$ aws iam update-group --group-name Test --new-group-name Test-1
Создание/Удаление пользователя через командную строку в Unix/Linux
И так, создадим юзверя:
$ aws iam create-user --user-name=test
Для просмотра пользователей, используйте:
$ aws iam list-users
Добавим созданного юзера в группу:
$ aws iam add-user-to-group --group-name=test --user-name=test
Чтобы посмотреть в каких группах стостоит юзер, используйте:
$ aws iam list-groups-for-user --user-name test
Роль и полиси создаются аналогичными действиями. Я буду использовать стандартные роли и полиси. И так, давайте добавим некоторые права пользователю.
Чтобы переименовать пользователя, используйте следующую команду:
$ aws iam update-user --user-name test --new-user-name test-1
Создание/Удаление роли/полиси через командную строку в Unix/Linux
Для начала, посмотрим какие полиси имеются:
$ aws iam list-policies
ИЛИ, для конкретного пользователя:
$ aws iam list-user-policies --user-name test
И так, добавим некоторую полис для юзверя:
$ aws iam attach-user-policy --policy-arn=arn:aws:iam::aws:policy/CloudWatchEventsFullAccess --user-name=test
PS: Можно дать полные права юзеру:
$ aws iam attach-user-policy --policy-arn=arn:aws:iam::aws:policy/AdministratorAccess --user-name=test
Для просмотра используем:
$ aws iam list-attached-user-policies --user-name test
Чтобы удалить полиси, юзайте:
$ aws iam detach-user-policy --policy-arn=arn:aws:iam::aws:policy/CloudWatchEventsFullAccess --user-name=test
Для просмотра ролей, используйте:
$ aws iam list-roles
Создание/Удаление алиаса для входа
Сейчас, вы входите по такому принципу:
https://Your_AWS_Account_ID.signin.aws.amazon.com/console/
Где, Your_AWS_Account_ID — это ваш номер аккаунта в виде цифр. Как по мне, его нету смысла запоминать и это не есть удобным решением, по этому — я предлагаю создать удобный для запоминания алиас. Чтобы задать алиас, используйте:
$ aws iam create-account-alias --account-alias My_alias_name
и сейчас, можно перейти по такому УРЛу:
https://My_alias_name.signin.aws.amazon.com/console/
Чтобы проверить имеющиеся алиасы, используйте:
$ aws iam list-account-aliases
Чтобы удалить алиас, используйте:
$ aws iam delete-account-alias --account-alias My_alias_name
Создание/Удаление ключей для пользователей
Для создания ключей для конкретного пользователя, используйте:
$ aws iam create-access-key --user-name=test
Данная команда выведет на экран ключики.
Сейчас, я добавлю сгенерированный ключ пользователю ( статус будет — инактив. Т.е не активный):
$ aws iam update-access-key --access-key-id=AKIAJ44TBBGGHN64K3PQ --status Inactive --user-name=test
PS: Как я уже говорил, данный ключ не будет использоваться т.к он неактивный. Чтобы он стал активным, пропишите в команде что выше:
--status Active
Для просмотра используйте:
$ aws iam list-access-keys --user-name test
Для удаления, служит следующая команда:
$ aws iam delete-access-key --access-key AKIAJ44TBBGGHN64K3PQ --user-name test
Работа с паролями
Смотрим политику по паролем:
$ aws iam get-account-password-policy
Чтобы задать свою политику, используйте:
$ aws iam update-account-password-policy --minimum-password-length 8 --require-numbers
Обновляем пароль и логин для пользователя:
$ aws iam update-login-profile --user-name test --password My_password
Работа с aws Instance Profile
Смотрим какие имеються:
$ aws iam list-instance-profiles
Чтобы удалить, выполните:
$ aws iam delete-instance-profile --instance-profile-name profile_name_here
Где:
- profile_name_here — Имя профиля
Вот и все, статья «Работа с AWS IAM через командную строку в Unix/Linux» завершена.