Для работы с вашим облаком лучше всего создать специальную учётную запись в сервисе Identity and Access Management.
В первую очередь, выберите в консоли AWS необходимый сервис: IAM. Проще всего просто ввести “iam” в строке поиска:
Сервис IAM позволяет не только управлять пользователями, группами, политиками и ролями, но и использовать внешних поставщиков аутентификации, таких как SAML или OpenID Connect, а так же анализировать выданные доступы и создавать отчёты.
Это очень гибкая и мощная система, но сейчас нас интересует самый простой случай - необходимо создать учетную запись пользователя, которая предоставила бы нам значительные полномочия, но при этом была ограничена в правах.
В первую очередь, скопируйте и сохраните ссылку на страницу входа вашей записи - она пригодится, когда вы будете входить в систему как IAM пользователь, ведь тогда потребуется не только логин и пароль, но и идентификатор аккаунта.
Ваша ссылка будет немного отличаться из-за другого номера аккаунта. Обратите внимание, что эту ссылку можно изменить, нажав на “Customize” - это позволит ввести собственный идентификатор (алиас) аккаунта, если такой ещё свободен, конечно.
Теперь перейдите на вкладку Users:
И нажмите на кнопку “Add User”.
Введите желаемое имя пользователя:
Отметьте необходимый вам тип доступа. Для прохождения курса потребуются оба типа, и “programmatic access” (доступ к API), и “AWS Console access” (доступ к веб-интерфейсу). В дальнейшем, неиспользуемый тип доступа будет лучше отключить.
Поскольку мы запросили доступ к AWS Console, необходимо создать пароль: сгенерировать его или ввести собственный. Если вы создаёте учётную запись не для себя, можете потребовать сменить пароль при первом входе. В этом случае создаваемому пользователю будет автоматически назначена политика безопасности IAMUserChangePassword, чтобы разрешить смену пароля.
Следующим шагом новому пользователю нужно настроить доступ:
Сделать это можно тремя способами:
- добавить пользователя в группу
- скопировать разрешения существующего пользователя
- напрямую назначить политики безопасности
Поскольку ни групп, ни других пользователей IAM у нас ещё нет (root-аккаунт не считается), придётся назначить политики напрямую, смело выбирайте этот пункт.
На сегодняшний день AWS IAM предлагает около 640 (количество постоянно меняется) предустановленную политику безопасности, и если этого вам мало, можно создать собственную! В рамках этого задания мы остановимся на уже существующих.
Здесь вы можете пойти двумя путями:
Найти и выбрать PowerUserAccess - эта политика даст вам доступ ко всем сервисам AWS, за исключением доступа к управлению аккаунтами. Это достаточно хороший баланс между возможностями учётной записи и безопасностью - вам придётся переключаться в root-аккаунт только для создания новых пользователей или сброса паролей
Если же вы предпочитаете более строгие стандарты безопасности, можно остановиться на AmazonEC2FullAccess - эта политика предоставит полный доступ к сервису Elastic Cloud Computing, с которым мы начинаем работать уже совсем скоро. Обратите внимание, что AmazonEC2FullAccess будет недостаточно для выполнения практической части следующих модулей, поскольку мы начнём работать с другими сервисами, но вы всегда можете зайти в IAM, используя root аккаунт и добавить вашему пользователю новые политики.
Заметьте, что политики можно комбинировать, и, если к AmazonEC2FullAccess добавить ReadOnlyAccess, то ваш пользователь будет иметь право на просмотр любых ресурсов, но создание, изменение и удаление только ресурсов EC2.
Практические шаги в последующих уроках исходят из использования вами PowerUserAccess.
В следующем шаге можно назначить тэги на пользователя: в данном случае это не так важно, но когда вы начнёте управлять командным проектом, мы советуем назначать каждому пользователю как минимум такие тэги, как Name, Email, Department.
На следующей странице вам предложат проверить введённые данные и убедиться, что вас всё устраивает.
Жмите на кнопку “Create User”,
Только что IAM сервис создал для нас пользователя, назначил ему политику безопасности, создал ключи, необходимые для работы через API (они нам скоро понадобятся) и установил заданный нами пароль для входа.
Не забудьте сохранить эти данные в безопасном месте: можно просто скачать csv-файл нажав на кнопку “Download .csv” - там будет всё необходимое для работы под этой учётной записью: ссылка для входа, пароль, коды доступа. Разумеется, вы можете сохранить необходимые данные любым другим удобным вам способом, но помните о безопасности.
Готово! Осталось лишь зайти в систему, используя новую учетную запись: пройдите по предложенной ссылке, это автоматически выведет вас из системы как root-пользователя. Теперь необходимо ввести данные созданного IAM аккаунта: имя и пароль.
Если что-то пошло не так, вы можете повторно зайти как root, используя ссылку “Sign in using root user email” и повторить шаги, удалив пользователя и создав ещё одного. Ну а если всё прошло благополучно вы увидите AWS Management Console
=============================================================
Создание IAM группы
Управлять пользователями несложно, пока их немного. В этом занятии мы научимся создавать группы IAM, назначать групповые разрешения и добавлять пользователей, чтобы упростить работу с многочисленными коллегами из разных отделов.
Но сначала давайте настроим кое-что под себя. AWS предлагает более 250 сервисов, и со временем это число будет только расти. Будет гораздо удобнее, если мы добавим самые часто используемые сервисы в избранное. Для этого откройте выпадающее меню Services слева вверху
В Recently Visited будет наш любимый IAM сервис, а если навести - появится звёздочка.
Готово! Добавляйте часто используемые сервисы в избранное, чтобы упростить работу с AWS, они появятся в верхней части списка сервисов в Favorites.
Ну а теперь займёмся группами.
Нас попросили выдать доступ к AWS EC2 трём сотрудникам из отдела разработки. Создавать три аккаунта подряд и назначать им личные права будет неэффективно: завтра их окажется не трое, а десять, а послезавтра понадобятся права не только на EC2, но и на какой-нибудь другой сервис, и придётся добавлять политику каждому.
Перейдём в IAM и откроем вкладку Groups.
Нажмите на кнопку Create New Group
В первом шаге необходимо задать имя группы. Имя должно быть “машиночитаемым” - без пробелов и кириллицы
Присоедините необходимые политики, в нашем случае - AmazonEC2ReadOnlyAccess. Можно подключить сразу несколько политик, если это необходимо. Пока что я подключу только read-only доступ, так безопаснее. Если потребуется, full access можно будет выдать индивидуально тимлиду (если будет себя хорошо вести).
На следующей странице нужно проверить настройки, и подтвердить создание группы.
Готово, группа создана! Осталось добавить в неё пользователей
Перейдём во вкладку Users и добавим новых пользователей
В этот раз добавьте стразу трёх пользователей. Доступ к API (Programmatic Access) им будет ни к чему, а вот AWS Console (веб-интерфейс) может понадобиться.
Имена могут быть любые, а вот доступ пока можно разрешить только к веб-интерфейсу - Programmatic Access можно добавить и позднее, а лучшая политика безопасности: Least Privilege - выдавайте настолько мало привилегий, насколько это возможно.
Группа уже создана, а значит - мы просто добавим пользователей в неё. Выберите нашу группу и поставьте галочку возле её имени.
Добавим тэги!
Проверим, что система собирается сделать:
Обратите внимание, что пароли для этих учётных записей созданы, а access keys - нет. Дело в том, что пароли нужны для веб-интерфейса (AWS Console), а ключи доступа - для подключения через API (Programmatic Access). Мы не ставили галку “Programmatic Access”, поэтому ключи и не созданы.
Группы IAM пользователей отображаются в общем списке:
готово
Группа создана, пользователи добавлены