Что такое Identity & Access Management и как его выбрать?
Статьи 24.09.2020
Журнал «Информационная безопасность» №4, сентябрь, 2020
Экспертная статья Михаила Ванина, генерального директора компании ООО «РЕАК СОФТ»
Часто информационные технологии копируют привычные процессы из жизни. Представим пропускную систему в обычном бизнес-центре. Сотрудник компании-арендатора формирует заявку на гостевой пропуск. Посетитель в бюро пропусков показывает свой паспорт. Охрана выдает посетителю разовый пропуск после проверки, что фотография в паспорте соответствует предъявившему его лицу, а его имя есть списке заявок на вход. Посетитель использует пропуск для прохода на территорию, входа в разрешенные помещения и для выхода из бизнес-центра.
В цифровом мире информационные системы и приложения подобны арендаторам в бизнес центре. Приложениям нужна пропускная система. Пользователю в приложении должна быть заведена учетная запись и назначены полномочия. Каждый пользователь приложения должен пройти идентификацию и аутентификацию. Только вместо паспорта используется логин и пароль, а вместо пропуска создается сессия входа и выдается цифровой аналог пропуска – маркер безопасности (security token). Приложению остается проверить, что предъявленный пользователем маркер безопасности не просрочен, не отозван, и указанные в маркере разрешения достаточны для доступа.
Компании используют в своей работе множество приложений разных производителей. Это веб-приложения, мобильные приложения, классические десктопные приложения. Приложения могут быть развернуты на серверах компании или быть облачными сервисами.
Каждое приложение пытается решать задачи управления доступом самостоятельно. Пользователь вынужден запоминать пароли от множества учетных записей приложений. При входе в сетевой домен, а затем при обращении к каждому приложению пользователь должен каждый раз проходить идентификацию/аутентификацию. Представим, что каждый арендатор в бизнес-центре вдруг решил оборудовать свое бюро пропусков, свой турникет, свою форму пропуска. Это кажется абсурдным, но в цифровом мире часто так и происходит.
С ростом числа используемых приложений и развитием парольного хаоса компании приходят к осознанию потребности в централизованном управлении доступом.
Компоненты системы управления доступом
Система управления доступом может включать следующие сервисы:
- Сервисы управления идентификационными данными (Identity Management, IDM) – обеспечивают синхронизацию учетных записей пользователя в приложениях, автоматизируют заведение и удаления учетных записей, назначение и отзыв полномочий.
- Сервисы управления идентификацией и контролем доступа (Identity & Access Management, IAM) – обеспечивают единый вход и однократную аутентификацию (Single Sign-On, SSO), двухфакторную аутентификацию, контроль доступа к веб приложениям и сервисам (Web proxy, API gateway).
- Сервисы каталога (Directory Services) – обеспечивают хранение учетных записей пользователей, их атрибутов, полномочий и паролей.
С чего начать
Обычно компании начинают с внедрения IDM, но такие проекты растягиваются на долго, имеют высокую организационную сложность, требуют глубокой проработки бизнес процессов компании. Начать с внедрения IAM и сервисов каталога может быть лучшей альтернативой – такие проекты занимают короткое время и быстро приводят к результату. Внедрение IAM в первую очередь позволит раньше установить в компании требования к новым приложениям по необходимости поддержки в них возможностей по интеграции с IAM. До внедрения IAM компания может и не знать о важности наличия в приложениях функций входа через внешний сервис входа, что достигается поддержкой приложением одного из стандартов: OpenID Connect или SAML. Раннее внедрение в компании IAM позволит избежать появления в компании таких приложений, вход в которые через IAM требовал бы дополнительных затрат или был бы невозможен.
Такой разный IAM
В IAM выделяют два различных технологических подхода:
- Технология корпоративного единого входа (Enterprise SSO, ESSO).
- Технология поставщика идентификации (Web SSO, Identity Provider, IDP).
При внедрении ESSO на каждое пользовательское устройство устанавливают программу-агент ESSO. При включении устройства агент ESSO просит пользователя пройти идентификацию/аутентификацию с использованием комбинации методов аутентификации (проверки пароля, смарт-карты, биометрии). После этого пользователь может запустить нужное ему приложение. Приложение ничего не знает об использовании ESSO и при запуске попробует показать пользователю экран запроса логина и пароля. Агент ESSO перехватит экран входа и сам подставит за пользователя его логин и пароль.
Таким образом пользователь получит надежную идентификацию/аутентификацию при входе в устройство, а также удобный автоматический входа во все приложения компании. Но это будет достигнуто обманом приложений. Вход в приложения с помощью логина/пароля в обход запущенного агента ESSO по-прежнему возможен, а значит сохраняются и многие присущие парольной аутентификации угрозы. Другой существенный недостаток ESSO – ограниченность устройств, на которых возможна установка агента ESSO. Могут быть проблемы с поддержкой Linux и macOS, iOS и Android.
Внедрение IDP лишено недостатков ESSO. Пользователю для работы достаточно веб браузера. Можно использовать любые устройства, не только ПК и смартфоны, но даже голосовые станции, игровые приставки и Smart TV. Расплатой за такую гибкость является необходимость поддержки со стороны приложения возможности подключения к IDP. Для этого приложение должно поддерживать какой-либо из стандартов взаимодействия с IDP. Хорошо, что большинство популярных приложений и облачных сервисов уже имеют такую поддержку.
При использовании IDP вход пользователя в приложение работает следующим образом. Пользователь обращается в приложение. Приложение вместо отображения своего экрана входа отправляет на сервер IDP запрос на идентификацию. Если IDP уже знает пользователя, то IDP проверит, что пользователю разрешен вход в приложение и зарегистрирует факт входа. После этого IDP вернет приложению сведения о пользователе, полученные из каталога учетных записей компании. Если IDP не знает пользователя, то вначале попросит пользователя пройти идентификацию и аутентификацию. Вместо простой проверки логина/пароля IDP может использовать дополнительные методы аутентификации в зависимости от контекста входа и политики доступа. Например, при входе из рабочей сети пользователь может быть автоматически идентифицирован по результатам входа в домен (технология Kerberos SSO). Если пользователь входит в какое-то очень важное приложение или, например, осуществляет вход из сети Интернет с незнакомого устройства, то IDP может запросить подтверждение входа – попросить ввести разовый пароль, отправленный по СМС, либо сгенерированный мобильным приложением выработки разовых паролей. Для идентификации IDP также сам может обратиться к внешней системе входа, например, к ЕСИА, социальным сетям, Apple ID.
IAM представляет собой аналог пропускной системы из жизни и предоставляет всем приложениям компании единый сервис управления идентификацией и контроля доступа. IAM одновременно и облегчает доступ пользователей в приложения, и повышает безопасность.
Выбор решений IAM на рынке велик – решение можно развертывать на серверах компании или арендовать как облачный сервис (Identity as a Service). Можно разработать свой IAM на основе open source решений или внедрить проприетарное ПО, в том числе производства отечественных компаний, включенное в единый реестр российских программ. Начните создание системы управления доступом с внедрения IAM в вашей компании.
Полная версия статьи в журнале «Информационная безопасность»