Основное руководство по IAM (управление доступом к идентификационным данным) в 2022 г.

Основное руководство по IAM (управление доступом к идентификационным данным) в 2022 г.

7 апреля 2022 г.

Термин IAM является одним из распространенных в облачных средах. Но что делает такая система? И если вы знаете, сколько времени вам понадобилось, чтобы понять цель? Я объясню основные концепции этого массивного семейства программного обеспечения, имея в виду занятого инженера.


Основы, описанные здесь, не зависят от поставщика. Хотя большая часть моего опыта связана с реализацией AWS.


Что такое ИАМ


IAM расшифровывается как Identity Access Management. Это сложная система сущностей (люди, приложения и т. д.), которые запрашивают доступ к системе, с одной стороны. Кроме того, существует сложный иерархический набор правил для предоставления или отказа в запрошенном доступе. Прежде чем мы пойдем дальше, ниже приведены основные термины, с которыми вы столкнетесь.


  • Ресурс: Все, что стоит защищать. Служба хранения, виртуальная машина и т. д.

  • Политика: Набор правил, определяющих, "кто что может" на каком ресурсе. И конечно, кто не может

  • Действие: все, что кто-то может сделать в облачной среде. Например, создание виртуальной машины

  • Пользователь: Ну... пользователь :)

  • Группа: группа пользователей с одинаковыми разрешениями.

  • Принципал: пользователь или приложение, запрашивающее доступ

  • Роль: набор полномочий, назначенных принципалу. Обычно на ограниченное время.

Почему это полезно


Его основное использование бродит в сферах аутентификации, авторизации, гранулярного доступа и управления. Давайте посмотрим, что это за вещи:


  • Аутентификация: мы проверили, кто вы

  • Авторизация: мы хотим определить, можете ли вы выполнить требуемое действие. Обычно в сочетании с аутентификацией, но не обязательно.

  • Дробный доступ: Каждое действие, которое может произойти с ресурсом, контролируется разрешением. Наличие доступа для просмотра правил брандмауэра не означает, что вы можете их изменить. Это реализовано с помощью [Контроля доступа на основе ролей] (https://en.wikipedia.org/wiki/Role-based_access_control)

  • Управление: действия, которые вы предпринимаете, чтобы узнать, что, черт возьми, происходит с вашей средой. В основном из-за бюджета, соответствия, надлежащего объема доступа.

Вы компания из 1-3 человек? В таком случае установка полноценного решения IAM является излишним и обременительным для обслуживания. Но если вы больше этого или планируете масштабироваться, то вам следует начать обдумывать это.


Столбы IAM


Проблемы от отсутствия одного


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


Трудно проверять и администрировать доступ


Слышали ли вы о случаях, когда сотрудник имел больше доступа, чем должен? И дополнительно никто не знал? Этого можно избежать с помощью правильно настроенного решения IAM.


Создание новых учетных записей для найма — это боль


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


Но без него? Вам нужно сделать все настройки разрешений с нуля. У вас может быть эталонный пользователь, с которого можно «копировать». Но нужны ли нам все разрешения, которые есть у этого эталонного пользователя? Хотим ли мы иметь особую обработку для пользователей, которые находятся в компании менее 6 месяцев? Есть ли у эталонного пользователя права суперпользователя, которые нельзя случайно назначить новому сотруднику?


Отключение людей


Здесь у вас есть проблемы, похожие на «случай нового найма». Но вам также необходимо изменить пароль для всех учетных записей, которые они потенциально использовали. Это может очень быстро стать ужасным, не говоря уже о побочных эффектах, которые это оказывает на других членов команды.


Например, нужно будет обновлять все вхождения пароля при каждом удалении. В каждом скрипте и приложении. А если у вас смена команды 2-3 раза в месяц? Насколько это будет продуктивно?


Задачи идентификации товаров требуют вмешательства человека


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


Лучшие практики


Рекомендации


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


Нет полного доступа... НИКОГДА


В реальном сценарии вы не хотите, чтобы каждый пользователь имел неограниченный доступ к учетной записи. В идеале ни у кого не должно быть (кроме владельца аккаунта). Если Джек работает с журналами мониторинга, у него должен быть доступ для чтения к этому инструменту. Они не должны иметь возможность перезапустить службу. Или группа бухгалтерии должна только просматривать платежную информацию.


Знание того, как устанавливаются правила масштабируемости ВМ, никому не поможет.


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


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


Роли против нескольких групп против нового пользователя


Если у вас есть выбор, предпочтите назначить роль пользователю, а не создавать нового пользователя. Например, не создавайте пользователя с правами администратора и не делитесь паролем с 10 людьми. Создайте роль администратора и назначьте ее всем, кто в ней нуждается, на ограниченное время.


Разрешения должны часто проверяться


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


Вы также можете отправить электронное письмо определенной команде, когда произойдет подозрительное действие. Например, назначение роли администратора новому сотруднику.


Заранее установите границы


Если решение IAM позволяет это, добавьте границы в свою экосистему. Копирование из документации Amazon (я знаю, я обещал не зависеть от производителя :))


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


С точки зрения непрофессионала, вы можете определить «максимальные» разрешения, которые могут быть назначены кому угодно. Например, пользователь в лучшем случае сможет просмотреть журналы из соответствующего инструмента и перезапустить службу. Если кто-то попытается получить роль для создания новой виртуальной машины, ему будет отказано.


Заключение


Спасибо, что дочитали до этого места. Я надеюсь, вам понравилось знакомство с технологиями IAM. Любые вопросы, пожалуйста, обращайтесь.


Также опубликовано здесь: https://perigk.github.io/post/iam-intro-wish-i-had/



Оригинал
PREVIOUS ARTICLE
NEXT ARTICLE