IAM в AWS может быть вызовом в использовании и понимании, особенно для новых пользователей. Но не волнуйтесь! Если у вас возникли трудности с пониманием того, как IAM работает в управлении правами пользователей в AWS, вы пришли по адресу, чтобы понять, что возможно с IAM.
В этом руководстве вы узнаете основные концепции IAM, пройдя через серию примеров, которые будут пошагово развиваться.
Готовы? Сделайте глубокий вдох и погружайтесь!
Предварительные требования
Этот учебник будет практическим демонстрационным материалом. Если вы хотите следовать за ним, убедитесь, что у вас есть компьютер и учетная запись AWS. Если у вас нет учетной записи AWS, доступна бесплатная учетная запись в бесплатном уровне.
Создание пользователей IAM в AWS
Прежде чем погрузиться в то, как работает IAM, начнем это руководство с создания пользователей. Пользователи могут использоваться для самых разных целей. Но в этом учебнике вы создадите пользователей, у которых нет никаких разрешений, которые не принадлежат ни к каким группам и которые вообще не имеют доступа к чему-либо.
1. Войдите в Консоль AWS. В этой демонстрации используется имя пользователя cloud_user, но ваше имя пользователя будет другим.

2. На консоли AWS введите IAM в строке поиска, затем нажмите на службу IAM, которая появится, как показано ниже. Ваш браузер перенаправит вас на панель управления IAM.

IAM – это глобальная служба, что означает, что пользователи и их разрешения применяются ко всей учетной записи/региону AWS. Если несколько людей используют одну учетную запись AWS (что очень распространено, например, в случае команды разработки для всей компании), вам нужно будет обеспечить правильную ротацию сотрудников IAM.
Также вы можете создать экземпляр EC в регионе us-east. Экземпляры являются региональными. Однако управление идентификацией и доступом AWS не является региональным. Разрешения, предоставленные пользователю, будут применяться независимо от региона, к которому подключаются пользователи экземпляров EC.

4. На панели управления IAM нажмите Пользователи слева, затем нажмите Добавить пользователей в верхнем правом углу страницы, чтобы начать добавление пользователей.

Теперь настройте данные пользователя следующим образом:
- Укажите имя пользователя в поле Имя пользователя, показанное ниже. В этом примере имя пользователя установлено как user-1.
- Включите опцию Пароль – доступ к консоли управления AWS, чтобы разрешить пользователям входить в консоль управления AWS.
- Выберите опцию Пользовательский пароль для Пароль консоли и укажите безопасный пароль в текстовом поле.
- Отмените выбор опции Требовать сброс пароля, чтобы пользователю не требовалось создавать новый пароль при следующем входе, затем нажмите на Далее: Разрешения.

5. Пропустите настройку разрешений и нажмите на Далее: Теги, поскольку вы создаете пользователя, у которого нет разрешений.

6. Пропустите также добавление тегов и нажмите Далее: Проверка.

7. Проверьте данные пользователя и нажмите на Создать пользователя, чтобы завершить создание пользователя.

После создания пользователя вы получите экран Успешно подобный нижеизложенному.

8. Теперь вернитесь на страницу Пользователи в вашем панели управления IAM и нажмите на только что созданного пользователя (пользователь-1), чтобы просмотреть информацию о пользователе. Открытие вашего пользователя-1

Ниже, на вкладках Разрешения и Группы, вы можете увидеть, что у пользователя-1 нет никаких связанных с ним разрешений и он не является членом каких-либо групп.


На вкладке Учетные данные безопасности вы увидите различные ключи доступа, которые могут быть у пользователя-1. Вы можете загрузить открытый ключ SSH на этой вкладке, что отлично подходит для ваших экземпляров AWS EC2.

Вкладка Советчик по доступу показывает вам сервисы, к которым обращался пользователь-1, либо непосредственно, либо через другие сервисы, а также когда пользователь-1 в последний раз обращался к этому сервису.

9. Наконец, повторите процесс (шаги от трех до семи), чтобы создать еще двух пользователей (пользователь-2 и пользователь-3). Вернитесь на страницу Пользователи вашей панели управления IAM, и вы увидите список, аналогичный приведенному ниже.

Создание групп пользователей
Теперь, когда вы создали пользователей, пришло время создать группы. Вы будете создавать группы с использованием управляемой политики AWS и файла JSON.
Для этого учебного пособия вы создадите три группы:
- EC2-Admin: Предоставляет разрешения на просмотр, запуск и остановку экземпляров EC2
- EC2-Support: Предоставляет только чтение доступа к EC2
- S3-Support: Предоставляет только чтение доступа к S3
Для начала создания групп пользователей:
1. На панели управления IAM щелкните Группы пользователей слева, затем щелкните Создать группу.
2. Укажите Имя группы пользователей (EC2-Admin) на странице Создать группу пользователей, как показано ниже.

Оставьте разрешения по умолчанию и нажмите Создать группу, чтобы завершить создание группы EC2-Admin.

После создания новой группы вы получите сообщение Группа пользователей EC2-Admin создана в верхней части страницы, как показано ниже. Затем ваш браузер автоматически перенаправит вас на страницу Группы пользователей (шаг три).

3. Щелкните по группе EC2-Admin в столбце Имя группы, чтобы просмотреть краткую информацию о группе, где вы можете добавить встроенные политики (шаг четыре).

4. Теперь щелкните вкладку Разрешения —> Добавить разрешения —> Создать встроенную политику, чтобы создать встроенную политику. Встроенные политики обычно ассоциируются непосредственно с пользователями и обычно используются для предоставления разрешений в единичных случаях.
Например, ваша команда мигрирует старое окружение EC2 на новое. Вы хотите обеспечить доступ администратора старого экземпляра EC2 для запуска/остановки и копирования настроек группы безопасности на новый экземпляр EC2.

5. На странице Создать политику щелкните вкладку JSON, показанную ниже, чтобы открыть редактор JSON, где вы создадите политику.

6. Вставьте код (политику) ниже в поле редактора и щелкните Проверить политику, чтобы создать встроенную политику. Эта встроенная политика предварительно создана либо AWS, либо администратором в вашей учетной записи AWS и может быть использована, настроена или отредактирована под ваши точные потребности.
Согласно этой политике, участникам группы EC2-Admin разрешено запускать ("ec2:StartInstances"
), останавливать ("ec2:StopInstances"
) и просматривать ("ec2:Describe*"
) экземпляры EC2. Им разрешено (”Effect”: “Allow”
) выполнять действия со всеми ресурсами ("Resource": "*"
). Эти действия связаны с программными или API-вызовами AWS.
Участникам группы EC2-Admin также предоставлено разрешение просматривать все балансировщики нагрузки (Action": "elasticloadbalancing:Describe
), перечислять метрики (cloudwatch:ListMetrics
), получать статистику метрик cloudwatch:GetMetricStatistics
и описывать метрики (cloudwatch:Describe
).
Метрики CloudWatch автоматически настроены для вашего экземпляра EC2, и то же самое относится к службе автомасштабирования.

7. Просмотрите сводку политики и щелкните Сохранить изменения, чтобы сохранить политику.

8. Теперь снова перейдите на свою панель управления IAM и инициализируйте создание группы, как вы делали на втором шаге. Но на этот раз назовите Имя группы пользователя как EC2-Support.
Прокрутите вниз, найдите AmazonEC2ReadOnlyAccess в поле поиска Прикрепить политики разрешений, чтобы прикрепить эту политику к группе (EC2-Support):
AmazonEC2ReadOnlyAccess является управляемой политикой, аналогичной встроенной политике, поскольку ее также можно прикрепить к нескольким пользователям или группам пользователей. Но в отличие от встроенной политики, этот тип политики, созданный администраторами, является многоразовым и может быть использован в вашей организации или совместно использоваться со всеми учетными записями AWS в вашей учетной записи.
A managed policy is a shared policy. As a result, all users or groups of users who use the shared policy will have updated permissions automatically when the policy is updated.
Эта функция автоматического обновления делает управляемые политики более привлекательными, чем встроенные политики. В случае встроенных политик каждое разрешение должно быть обновлено администратором при изменении политики.
Выберите опцию AmazonEC2ReadOnlyAccess и нажмите Создать группу, чтобы завершить создание группы.

10. Теперь повторите шаги с восьмого по девятый, чтобы создать группу S3-Support с управляемой политикой AmazonS3ReadOnlyAccess. После создания группы S3-Support у вас будет список групп, подобный приведенному ниже, который показывает, что для каждой группы определены разрешения.

Добавление пользователей в соответствующие группы
Вы создали пользователей и группы с определенными разрешениями. Теперь пришло время добавить пользователей в соответствующие группы. Вы откроете страницу суммарной информации каждой группы и вручную добавите пользователя в эту группу.
Таблица ниже показывает соответствующие группы, в которые вы добавите каждого пользователя:
Users | In-group | Permissions |
---|---|---|
user-1 | S3-Support | Read-only access to S3 Bucket |
user-2 | EC2-Support | Read-only access to EC2 Instance |
user-3 | EC2-Admin | Full EC2 Access (View/Start/Stop) |
1. На вашей панели управления IAM перейдите на страницу Группы пользователей и щелкните на группе S3-Support, указанной ниже, чтобы получить доступ к сводной информации о группе.

2. Затем нажмите на вкладку Пользователи -> Добавить пользователей, чтобы начать добавление пользователей в группу. Ваш браузер перенаправит вас на страницу, где вы увидите список пользователей, которые пока не принадлежат ни к одной группе (шаг третий).

3. Установите флажок перед пользователь-1, затем нажмите Добавить пользователей, чтобы добавить пользователя в группу S3-Support. Ваш браузер автоматически перенаправится на страницу сводной информации о группе S3-Support.

Ниже вы можете увидеть, что пользователь-1 теперь является частью группы S3-Support.

4. Повторите шаги с первого по третий, чтобы добавить пользователя-2 и пользователя-3 в их соответствующие группы.
5. Наконец, перейдите на страницу Группы пользователей, и вы увидите, что у групп теперь есть по одному пользователю, как на скриншоте ниже.

Проверка работы разрешений пользователей
Вы полностью создали пользователей в их собственных группах с определенными разрешениями. Но как узнать, что все работает правильно? Пришло время проверить, что разрешения работают так, как задумано, и существует несколько способов сделать это. Один из наиболее распространенных способов – использование веб-ориентированной консоли управления AWS.
1. Перейдите на вашу панель управления IAM и скопируйте URL для входа IAM пользователя на правой панели, как показано ниже.

2. В вашем веб-браузере перейдите по URL для входа, который вы ранее отметили (шаг первый), и войдите с учетными данными пользователя-1. Google Chrome и Firefox наиболее рекомендуемые браузеры для этой задачи.

3. Введите S3 в поле поиска и нажмите на ссылку S3 ниже, чтобы перейти на страницу Amazon S3 ведер.

4. Теперь нажмите Создать ведро, чтобы начать создание ведра S3 .

5. Введите имя ведра в разделе Общая конфигурация, затем нажмите Создать ведро, чтобы попытаться создать ведро S3.


Если вы помните, вы прикрепили политику AmazonS3ReadOnlyAccess к пользователю-1, которая предоставляет только права на чтение пользователю-1 для просмотра ведер S3. Следовательно, если пользователь-1 попытается создать, удалить или обновить ведро S3, появится сообщение об ошибке, показанное ниже.
Сообщение об ошибке ниже указывает, что установленные вами разрешения для пользователя-1 работают правильно.

Обратите внимание, что у пользователя-1 также нет разрешений EC2. Поэтому для проверки перейдите на свою панель управления EC2, и вы получите много сообщений об ошибках API, как на скриншоте ниже.
Вы получаете эти ошибки из-за принципа наименьших привилегий (PoLP). PoLP – это концепция, согласно которой учетная запись или процесс ОС должны иметь абсолютно минимальные привилегии, необходимые для выполнения задачи.

6. Теперь выйдите из учетной записи пользователя-1 и войдите под учетной записью пользователя-2, затем перейдите на панель управления EC2.

7. Щелкните на любом запущенном экземпляре EC2, чтобы просмотреть разрешения пользователя-2. Как показано ниже, вы получите информацию об экземпляре, такую как ID экземпляра, публичный IPv4-адрес и так далее.

8. Щелкните на состоянии экземпляра в правой части страницы и выберите одну из опций “Остановить экземпляр”, “Перезагрузить экземпляр” или “Удалить экземпляр”, чтобы протестировать работу разрешений пользователя-2.

Помните, что у пользователя-2 есть только доступ только для чтения к экземплярам EC2 (AmazonEC2ReadOnlyAccess). Поэтому, если пользователь попытается изменить экземпляр EC2, появится следующее сообщение об ошибке.
Получение указанной ниже ошибки указывает на то, что разрешения пользователя-2 работают правильно.

9. Наконец, выйдите из учетной записи пользователя-2, затем войдите под учетной записью пользователя-3 и попробуйте изменить любые запущенные экземпляры EC2 в вашей учетной записи. Поскольку у пользователя-3 есть полные права на EC2, вы можете запускать, останавливать или удалять экземпляры без получения сообщения об ошибке.
Заключение
На протяжении этого руководства вы узнали, как создавать пользователей IAM и группы пользователей с определенными политиками. Вы также коснулись темы проверки корректности разрешений, попытавшись изменить состояние экземпляра EC2 и создать ведро S3.
На данном этапе у вас есть базовая настройка для управления разрешениями пользователей IAM и групп. Конечно же, вы всегда можете добавить больше пользователей в свою учетную запись и применить дополнительные политики, как считаете нужным.
Итак, какой следующий шаг для расширения ваших новых знаний? Возможно, стоит изучить настройку ваших служб EC2 на Автомасштабирование для работы с IAM.