Поиск по сайту:

Правильно управляйте своими пользователями IAM с помощью групп


IAM позволяет предоставлять управляемый доступ к вашим ресурсам AWS вашим сотрудникам, сервисам AWS и программам, работающим на удаленных серверах. Группы IAM — это полезный инструмент организации, который позволяет вам определять разрешения для нескольких пользователей одновременно.

Организационные инструменты IAM

Прежде всего, краткий обзор различных инструментов IAM:

Политики IAM объединяют отдельные разрешения в единый объект, который можно применять к пользователям, ролям и группам. Например, вы можете создать политику, позволяющую помещать объекты в определенный набор корзин S3.

У пользователей IAM есть ключи доступа или пароли, которые позволяют им получать доступ к сервисам AWS из интерфейса командной строки, API или консоли управления. Это позволяет сотрудникам получать доступ к ресурсам AWS из-за пределов вашей учетной записи AWS. К их учетной записи могут быть привязаны политики, которые дают им разрешения.

Роли IAM аналогичны пользователям, но не имеют ключей доступа. Они используются для предоставления другим сервисам AWS разрешения на использование ваших ресурсов и не предоставляют доступ к API или CLI кому-либо за пределами вашей учетной записи. Например, вы можете назначить экземпляру EC2 роль, которая позволит ему получить доступ к S3, и, поскольку он уже запущен в вашей учетной записи AWS, он может действовать как роль, не требуя ключей доступа.

AWS Organizations — это специальный инструмент, который позволяет разделить корневую учетную запись AWS на четыре разных дочерних учетных записи с централизованным выставлением счетов и контролем. Хотя технически это не связано с IAM, это позволяет вам полностью разделить среды разработки, тестирования, промежуточной и рабочей среды, что позволяет вам предоставлять более слабые разрешения IAM сотрудникам, работающим только в среде разработки.

Группы IAM — это то, что мы будем обсуждать сегодня. Этот инструмент позволяет вам присоединять несколько политик к группе и добавлять пользователей в эту группу, которым будут назначены те же политики, что и группе. Это отличный организационный инструмент, который имеет решающее значение для отслеживания нескольких пользователей.

Как работать с группами

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

Создайте новую группу на вкладке «Группы» в консоли управления IAM.

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

Нажмите «Создать», и это все необходимые настройки. Вы можете добавить нового пользователя в группу на вкладке «Пользователи» группы:

Или, если вы автоматизируете процесс адаптации, вы можете сделать это из командной строки с помощью:

aws iam add-user-to-group --group-name <value> --user-name <value>

Это добавит разрешения группы к текущим разрешениям пользователя в отдельной категории. Если вы удалите пользователя из группы, разрешения группы больше не применяются.

Вы не можете создавать подгруппы, но пользователи могут быть включены в несколько групп одновременно. Имея это в виду, вы можете создать группу «Разработчики», которая назначает основные разрешения, и группу «Старшие разработчики», которая дает больше разрешений, а затем назначить их обоих сотруднику, чтобы предоставить им оба набора разрешений.

Группы не отменяют разрешения

В IAM разрешение не может «переопределить» другое разрешение. По умолчанию все неявно запрещено, и пользователь будет иметь доступ только к тем службам, которые явно разрешены политикой разрешений. Вы также можете выбрать явный отказ в разрешениях для пользователя. Эти разрешения всегда будут иметь приоритет над любыми другими разрешениями, независимо от того, исходит ли оно от пользователя или группы.

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

Например, мы создадим тестового пользователя и прикрепим к нему политику AWSDenyAll напрямую. Мы также создадим группу, прикрепим к ней разрешение AdministratorAccess и добавим пользователя в эту группу.

В симуляторе политик IAM все отображается как явный отказ из-за наличия политики AWSDenyAll. Если мы поменяем вещи и наложим политику Deny на группу, а политику Allow непосредственно на пользователя, произойдет то же самое. Запретить всегда имеет приоритет перед Разрешить.

Более полезная форма этого — границы разрешений. Вместо того, чтобы явно запрещать все, что вы не хотите, чтобы пользователь мог делать, даже если группа говорит, что они могут, вы можете вместо этого установить политику в качестве границы разрешений. Это будет иметь приоритет над всеми другими разрешениями, прикрепленными к пользователю, как из групп, так и напрямую, и не позволит ничего, что также не разрешено границей разрешений.

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