Могу ли я автоматизировать создание пользователей в сервисе AWS IAM? - PullRequest
0 голосов
/ 16 сентября 2018

В настоящее время я настраиваю проект веб-сайта и создаю 20 новых пользователей IAM на AWS. Поскольку это повторяющийся процесс, я решил, что должен быть способ автоматизировать это с помощью существующей информации о пользователе (электронная почта, имя пользователя и т. Д.). Каковы некоторые рекомендуемые способы сделать это? И каковы проблемы безопасности, поскольку секретный ключ доступа существует только один раз и должен быть восстановлен, если не скопирован?

1 Ответ

0 голосов
/ 16 сентября 2018

За исключением использования федерации для доступа к AWS, я не знаю ни одного инструмента, автоматизирующего создание пользователей.

К элементам безопасности, которые состоят из AAA (аутентификация, авторизация, учет), нужно относиться очень серьезно. Независимо от того, насколько скучными или повторяющимися ошибки на этом этапе могут стоить вам гораздо больше времени и денег для исправления позже. Другими словами, найдите время, чтобы обдумать, как вы будете внедрять AAA в AWS, и найдите время, чтобы сделать это правильно. Это также означает полное понимание того, что такое пользователь IAM, как управляются разрешения и т. Д.

Если вы пройдете процесс создания пользователя, вы обнаружите, что автоматизировать очень мало. AWS IAM хранит не столько информацию о пользователе, сколько его имя, пароль, группу, разрешения и учетные данные.

Давайте возьмем гипотетическую компанию, которая создает новую учетную запись AWS, и выполните шаги по правильной настройке AAA. Я игнорирую организации AWS, которые я настоятельно рекомендую, чтобы отделить рабочих пользователей и ресурсы от ресурсов разработчика и тестирования.

ШАГ 1. Создайте учетную запись AWS, заполните все различные формы для получения контактной информации, платежной информации и т. Д. Не создавайте пользователей на этом этапе.

ШАГ 2. Создание групп IAM. Для этой воображаемой компании у нас будут Администраторы, Финансы, Продажи, Разработчики и SysOps. Назначьте правильные разрешения (политики IAM) для каждой группы.

ШАГ 3: Создайте нового пользователя с правами администратора и биллинга. Этот пользователь заменит пользователя root, который AWS создает при создании учетной записи. Убедитесь, что вы можете войти в эту учетную запись.

ШАГ 4: снова войдите в систему как пользователь root, включите MFA, измените пароль. Надежно храните логин и пароль в безопасном месте. Этот логин больше не будет использоваться, кроме как в экстренных случаях.

ШАГ 5. Создайте корзину S3 и включите CloudTrail. Я создаю корзину с именем компании-cloudtrail и отправляю все журналы CloudTrail в эту корзину. Только администратор имеет права на это ведро. Это обеспечивает последний А в ААА.

Теперь мы находимся в состоянии, когда у нас заблокирован пользователь root, новый администратор со всеми разрешениями и необходимые группы IAM, созданные с назначенными политиками IAM. Отсюда вы можете посмотреть на автоматизацию создания пользователей. Однако для 5 групп и 20 пользователей вы потратите больше времени на автоматизацию, чем просто на создание пользователей.

Давайте создадим первого пользователя, который увидит процесс. Мы будем использовать интерфейс командной строки AWS, чтобы вы могли подробно увидеть, что требуется и где может помочь автоматизация.

Важным моментом является выбор имени пользователей. В этом примере мы будем использовать период имени Фамилия, объединенную вместе.

ШАГ 1: Создать пользователя IAM. Этот пользователь будет частью Финансовой группы:

aws iam create-user --user-name bob.henry

ШАГ 2. Назначьте этого пользователя в группу "Финансы":

aws iam add-user-to-group --user-name bob.henry --group-name Finance

ШАГ 3: При необходимости назначьте политику IAM, уникальную для этого пользователя:

aws iam put-user-policy --user-name bob.henry --policy-name BobHenryRole --policy-document file://C:\Policies\BobHenryPolicyFile.json

Для каждого пользователя я обычно создаю папку в компании S3 bucket `/Users/bob.henry '. В этой необязательной политике я даю bob.henry полный доступ к этой папке корзины. Теперь у каждого пользователя есть свое собственное хранилище, которое мы используем для резервного копирования.

ШАГ 4: Назначьте начальный пароль пользователя:

aws iam create-login-profile --password-reset-required --user-name bob.henry --password My!Password&Is-Bettern=Than^Yours@

На данный момент вы создали нового пользователя. Последний шаг - решить, какие пользователи должны иметь учетные данные AWS. Финансовому отделу они не нужны. Тем не менее, следующая команда продемонстрирует, как:

aws iam create-access-key --user-name bob.henry

Примечание: я рекомендую дать пользователям, которые должны иметь учетные данные безопасности, возможность создавать свои собственные. Таким образом, администратору учетной записи не нужно беспокоиться о создании и выдаче учетных данных.

Перейдите к описанным выше шагам и рассмотрите, что можно автоматизировать.

Я создаю командный файл, который включает в себя все описанные выше шаги для создания пользователя.Затем я редактирую командный файл и дважды проверяю правильность всех деталей.Я использую командный файл, потому что он помогает мне запомнить каждый шаг, который должен быть выполнен для нового пользователя.Вроде как контрольный список, чтобы я ничего не забыл.

...