Amazon IAM

Amazon IAM или Identity and Access Management — сервис для создания в интерфейсе или в консоли пользователей и политик ограничения доступа.

 

Amazon IAM — управление пользователями и доступом

В интерфейсе пользователи и политики задаются очень наглядно. Рассмотрим как делать это в консоли. Консоль обычно удобнее, поскольку позволяет автоматизировать процессы.

Все идентификаторы в статье изменены на несуществующие.

 

Чтобы управлять ресурсами Amazon нужно иметь активный аккаунт и добавить на локальном компьютере конфигурационный файл с настройками и реквизитами (начало работы с AWS)

 

Просмотреть список уже добавленных пользователей

aws iam list-users

{
"Users": [
{
"Path": "/",
"UserName": "aws",
"UserId": "AIDAJBZYUHLBSZ4TNM7QA",
"Arn": "arn:aws:iam::483165675673:user/aws",
"CreateDate": "2019-01-02T14:12:29Z"
}
]
}

 

Вывести в консоль все группы пользоватлей

aws iam list-groups

{
"Groups": [
{
"Path": "/",
"GroupName": "aws",
"GroupId": "AGP90CIWL782J2ELPFEIA",
"Arn": "arn:aws:iam::483162975213:group/aws",
"CreateDate": "2019-01-02T14:13:30Z"
}
]
}

 

Вывести роли, информация о ролях очень обширна, ниже приведена часть того, что возвращается при запросе

aws iam list-roles

{
"Roles": [
{
"Path": "/aws-service-role/support.amazonaws.com/",
"RoleName": "AWSServiceRoleForSupport",
"RoleId": "AROAIIZYWVWISJOJAEAFS",
"Arn": "arn:aws:iam::483162975213:role/aws-service-role/support.amazonaws.com/AWSServiceRoleForSupport",
"CreateDate": "2018-12-31T08:02:42Z",
"AssumeRolePolicyDocument": {
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Service": "support.amazonaws.com"
},
"Action": "sts:AssumeRole"
}
]
},
"Description": "Enables resource access for AWS to provide billing, administrative and support services",
"MaxSessionDuration": 3600
...

 

Добавить AWS пользователя через консоль

Передавать можно только имя пользователя через флаг —user-name

aws iam create-user —user-name Tester

{
"User": {
"Path": "/",
"UserName": "Tester",
"UserId": "AIDAJO78AYZ4WISL4TF5A",
"Arn": "arn:aws:iam::4834562975213:user/Tester",
"CreateDate": "2019-01-03T11:32:44Z"
}
}

 

Сгенерировать секретный ключ. Его в дальнейшем увидеть нельзя, в том числе в интерфейсе. Только создать новый.

aws iam create-access-key —user-name Tester

{
"AccessKey": {
"UserName": "Tester",
"AccessKeyId": "AKIAISKG3Z47KARSFHHQ",
"Status": "Active",
"SecretAccessKey": "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",
"CreateDate": "2019-01-03T11:41:17Z"
}
}

 

 

Создать группу пользователей

aws iam create-group —group-name Dev

{
"Group": {
"Path": "/",
"GroupName": "Dev",
"GroupId": "AGP78NWH37Ui74R2XSDQ",
"Arn": "arn:aws:iam::4831645275213:group/Dev",
"CreateDate": "2019-01-03T11:42:52Z"
}
}

 

Добавить пользователя AWS в группу

aws iam add-user-to-group —user-name Tester —group-name Dev

При отсутствии ошибок команда в консоль ничего не выводится

 

Получить информацию о политиках

aws iam list-policies —scope AWS

Политик может быть три: «all», «AWS» и добавленная администратором

 

 

Чаще других предоставляется полный доступ (AmazonEC2FullAccess для группы Dev)

aws iam attach-group-policy —policy-arn arn:aws:iam::aws:policy/AmazonEC2FullAccess —group-name Dev

 

Вывести список политик для группы

aws iam list-attached-group-policies —group-name Dev

 

Создать роль AWS

Для создания роли удобно информацию сначала сохранить в json

cat ec2-role-trust-policy.json

{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {"Service": "ec2.amazonaws.com"},
"Action": "sts.AssumeRole"
}
]
}

 

Затем передавать путь к файлу

aws iam create-role —role-name TestRole —assume-role-document file://ec2-role-trust-policy.json

 

Удалить роль

aws iam delete-role-name TestRole

 

Удалить группу AWS

aws iam delete-group —user-name Tester

Запись опубликована автором в рубрике AWS.