AWS CLI — это консольная утилита которая позволяет работать с AWS IAM через командную строку
Работа с группами
Создание группы
1 |
# aws iam create-group --group-name mygroup |
Просмотр групп
1 |
# aws iam list-groups |
1 2 3 4 5 6 7 8 9 10 11 |
{ "Groups": [ { "Path": "/", "CreateDate": "2017-11-30T15:34:09Z", "GroupId": "AGPAIRLGU6GKO2YDSYAC2", "Arn": "arn:aws:iam::211718304900:group/mygroup", "GroupName": "mygroup" } ] } |
Удаление группы
1 |
# aws iam delete-group --group-name=mygroup |
Переименование группы
1 |
# aws iam update-group --group-name mygroup --new-group-name mygroup2 |
Просмотр политик,которые были назначены группе
1 |
# aws iam list-attached-group-policies --group-name mygroup |
1 2 3 |
{ "AttachedPolicies": [] } |
Присоединение политики к группе
Указано в разделе работа с политиками
Удаление группы
1.Удалить всех пользователей с группы
А) Просмотр всех пользователей, состоящих в группе
1 |
# aws iam get-group --group-name mygroup |
Б) Удаление пользователя с группы(например, пользователя myuser)
1 |
# aws iam remove-user-from-group --group-name mygroup --user-name myuser |
2.Отсоединить все политики от группы
А) просмотр политик, которые были назначены группе
1 |
# aws iam list-attached-group-policies --group-name mygroup |
Б) отключение назначенных политик(например, политики AdministratorAccess)
1 |
# aws iam detach-group-policy --group-name mygroup --policy-arn arn:aws:iam::aws:policy/AdministratorAccess |
3. Непосредственно удалить группу
1 |
# aws iam delete-group --group-name mygroup |
Работа с пользователями
Создание пользователя
1 |
# aws iam create-user --user-name=myuser |
1 2 3 4 5 6 7 8 9 |
{ "User": { "UserName": "myuser", "Path": "/", "CreateDate": "2017-11-30T15:39:54.643Z", "UserId": "AIDAJB4BOFVBGM5VUDRW4", "Arn": "arn:aws:iam::211718304900:user/myuser" } } |
Просмотр списка пользователей
1 |
# aws iam list-users |
1 2 3 4 5 6 7 8 9 10 11 |
{ "Users": [ { "UserName": "myuser", "Path": "/", "CreateDate": "2017-11-30T15:39:54Z", "UserId": "AIDAJB4BOFVBGM5VUDRW4", "Arn": "arn:aws:iam::211718304900:user/myuser" } ] } |
Добавление созданного пользователя в группу
1 |
# aws iam add-user-to-group --group-name=mygroup --user-name=myuser |
Просмотр списка групп, в которых состоит пользователь
1 |
# aws iam list-groups-for-user --user-name myuser |
1 2 3 4 5 6 7 8 9 10 11 |
{ "Groups": [ { "Path": "/", "CreateDate": "2017-11-30T15:34:09Z", "GroupId": "AGPAIRLGU6GKO2YDSYAC2", "Arn": "arn:aws:iam::211718304900:group/mygroup", "GroupName": "mygroup" } ] } |
Переименование пользователя
1 |
# aws iam update-user --user-name myuser --new-user-name myuser2 |
Для удаления пользователя необходимо
1.Удалить профиль пользователя
1 |
# aws iam delete-login-profile --user-name myuser |
2.Удалить пользователя из группы
1 |
# aws iam remove-user-from-group --group-name mygroup --user-name myuser |
3.Непосредственно удалить пользователя
1 |
# aws iam delete-user --user-name myuser |
Работа с политиками
Просмотр существующих политик
1 |
# aws iam list-policies |
Добавление политики для пользователя
Например, политики, предоставляющей пользователю полные права
Узнаем имя политики (для ограничения списка только AWS-управляемых политик используем опцию —score AWS)
1 |
# aws iam list-policies --scope AWS | grep AdministratorAccess |
1 2 |
"PolicyName": "AdministratorAccess", "Arn": "arn:aws:iam::aws:policy/AdministratorAccess", |
Получение описания политик
1 |
# aws iam get-policy --policy-arn arn:aws:iam::aws:policy/AdministratorAccess |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
{ "Policy": { "PolicyName": "AdministratorAccess", "Description": "Provides full access to AWS services and resources.", "CreateDate": "2015-02-06T18:39:46Z", "AttachmentCount": 1, "IsAttachable": true, "PolicyId": "ANPAIWMBCKSKIEE64ZLYK", "DefaultVersionId": "v1", "Path": "/", "Arn": "arn:aws:iam::aws:policy/AdministratorAccess", "UpdateDate": "2015-02-06T18:39:46Z" } } |
Присоединение политики к пользователю
1 |
# aws iam attach-user-policy --policy-arn=arn:aws:iam::aws:policy/AdministratorAccess --user-name=myuser |
Просмотр политик подключенных к пользователю
1 |
# aws iam list-attached-user-policies --user-name myuser |
1 2 3 4 5 6 7 8 |
{ "AttachedPolicies": [ { "PolicyName": "AdministratorAccess", "PolicyArn": "arn:aws:iam::aws:policy/AdministratorAccess" } ] } |
Отключение политики подключенной к пользователю
1 |
# aws iam detach-user-policy --policy-arn=arn:aws:iam::aws:policy/AdministratorAccess --user-name=myuser |
Проверяем,что пользовательская политика была отключена
1 |
# aws iam list-attached-user-policies --user-name myuser |
1 2 3 |
{ "AttachedPolicies": [] } |
Удобнее применять политики к группам(а не к отдельным пользователям) и включать пользователей в эти группы.
Присоединим политику с полными правами к группе mygroup, в которой находится пользователь myuser
Присоединение политики к группе
1 |
# aws iam attach-group-policy --group-name mygroup --policy-arn arn:aws:iam::aws:policy/AdministratorAccess |
Проверка политик, которые подключены к группе mygroup
1 |
# aws iam list-attached-group-policies --group-name mygroup |
1 2 3 4 5 6 7 8 |
{ "AttachedPolicies": [ { "PolicyName": "AdministratorAccess", "PolicyArn": "arn:aws:iam::aws:policy/AdministratorAccess" } ] } |
Просмотр списка ролей
1 |
# aws iam list-roles |
Изменение URL для входа пользователя в AWS-консоль
Для входа в панель управления теперь можно использовать специальный URL входа:
1 |
https://<AWS-account-ID>.signin.aws.amazon.com/console |
AWS-account-ID представляет собой ваш цифровой номер аккаунта.Его можно видоизменить на понятное для человека имя(алиас)
Например,на имя myalis
1 |
# aws iam create-account-alias --account-alias myalias |
Проверка существующих алиасов
1 |
# aws iam list-account-aliases |
1 2 3 4 5 |
{ "AccountAliases": [ "myalias" ] } |
Теперь URL для входа пользователя в AWS-консоль имеет вид
1 |
https://myalias.signin.aws.amazon.com/console |
Удаление алиаса
1 |
# aws iam delete-account-alias --account-alias myalias |
Работа с ключами пользователя
Создание ключей пользователя
1 |
# aws iam create-access-key --user-name=myuser |
1 2 3 4 5 6 7 8 9 |
{ "AccessKey": { "UserName": "myuser", "Status": "Active", "CreateDate": "2017-11-30T16:20:15.762Z", "SecretAccessKey": "my_secret_key", "AccessKeyId": "my_access_key" } } |
Просмотр ключей пользователя (ключ SecretAccessKey не отображается)
1 |
# aws iam list-access-keys --user-name myuser |
1 2 3 4 5 6 7 8 9 10 |
{ "AccessKeyMetadata": [ { "UserName": "myuser", "Status": "Active", "CreateDate": "2017-11-30T16:20:15Z", "AccessKeyId": "my_access_key" } ] } |
Отключить/деактивировать ключ (сделать его неактивным)
1 |
# aws iam update-access-key --access-key-id=my_access_key --status Inactive --user-name=myuser |
1 |
# aws iam list-access-keys --user-name myuser |
1 2 3 4 5 6 7 8 9 10 |
{ "AccessKeyMetadata": [ { "UserName": "myuser", "Status": "Inactive", "CreateDate": "2017-11-30T16:20:15Z", "AccessKeyId": "my_access_key" } ] } |
Включить/активировать ключ (сделать его активным)
1 |
# aws iam update-access-key --access-key-id=my_access_key --status Active --user-name=myuser |
1 |
# aws iam list-access-keys --user-name myuser |
1 2 3 4 5 6 7 8 9 10 |
{ "AccessKeyMetadata": [ { "UserName": "myuser", "Status": "Active", "CreateDate": "2017-11-30T16:20:15Z", "AccessKeyId": "my_access_key" } ] } |
Удаление ключей пользователя
1 |
# aws iam delete-access-key --access-key-id=my_access_key --user-name=myuser |
1 |
# aws iam list-access-keys --user-name myuser |
1 2 3 |
{ "AccessKeyMetadata": [] } |
Работа с паролями
Просмотр политики паролей
1 |
# aws iam get-account-password-policy |
1 2 3 4 5 6 7 8 9 10 11 12 |
{ "PasswordPolicy": { "AllowUsersToChangePassword": true, "RequireLowercaseCharacters": true, "RequireUppercaseCharacters": false, "MinimumPasswordLength": 10, "RequireNumbers": true, "RequireSymbols": false, "HardExpiry": false, "ExpirePasswords": false } } |
Создание пароля пользователя
1 |
# aws iam create-login-profile --user-name myuser --password mypassword123 |
1 2 3 4 5 6 7 |
{ "LoginProfile": { "UserName": "myuser", "CreateDate": "2017-11-30T16:26:44.750Z", "PasswordResetRequired": false } } |
Обновления логина/пароля пользователя
1 |
# aws iam update-login-profile --user-name myuser --password mynewpassword123 |
Источник:
http://docs.aws.amazon.com/cli/latest/reference/iam/
http://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html
https://linux-notes.org/rabota-s-aws-iam-cherez-komandnuyu-stroku-v-unix-linux/
https://rtfm.co.ua/aws-iam-identity-and-access-management/