Как мы создавали IAM в Astra Cloud Platform 2.1: архитектура, проблемы и решения

Инженеры Astra Cloud рассказали, как проектировали компонент IAM для облачной платформы 2.1. Разбираем архитектуру, ключевые решения и то, как это повлияет на безопасность облачных сервисов.

Как мы создавали IAM в Astra Cloud Platform 2.1: архитектура, проблемы и решения

IAM (Identity and Access Management) — это сердце безопасности любой облачной платформы. Именно он отвечает на вопросы: кто имеет доступ к ресурсам, что он может делать и имел ли на это право. В свежем релизе Astra Cloud Platform 2.1 команда архитектора Алексея Боровикова полностью переработала этот компонент. Рассказываем, как устроен новый IAM, с какими вызовами столкнулись разработчики и почему это важно для пользователей платформы.

Новый IAM в Astra Cloud Platform 2.1: что изменилось

Astra Cloud Platform — это российская облачная платформа, которая позволяет строить частные и гибридные облака. В версии 2.1 разработчики представили полностью переработанный компонент IAM. Как отмечает Алексей Боровиков, работа над ним была колоссальной, и в статье он решил сфокусироваться именно на этом элементе, поскольку он критически важен для безопасности.

Новый IAM построен на принципах zero trust и поддерживает федерацию удостоверений. Это означает, что он не доверяет ни одному запросу по умолчанию и проверяет каждое действие. Ключевое изменение — переход от монолитной архитектуры к микросервисной. Раньше IAM был единым блоком, теперь он разбит на несколько сервисов, которые взаимодействуют через API. Это повышает масштабируемость и отказоустойчивость: если один сервис выходит из строя, остальные продолжают работать.

Также в новом IAM появилась поддержка OAuth 2.0 и OpenID Connect. Это стандартные протоколы, которые используются в большинстве современных облачных платформ. Благодаря этому пользователи могут использовать единый вход (SSO) и управлять доступом через внешних провайдеров, например, через корпоративные системы аутентификации.

Предыстория и контекст

Разработка IAM началась задолго до релиза 2.1. В предыдущих версиях платформы использовался более простой механизм управления доступом, который не соответствовал современным требованиям безопасности. С ростом популярности платформы и увеличением числа клиентов стало очевидно, что нужно более гибкое и надёжное решение.

Команда Astra Cloud провела анализ рынка и изучила лучшие практики, такие как AWS IAM, Azure AD и Google Cloud IAM. Однако они не стали копировать западные решения, а разработали собственную архитектуру, учитывающую особенности российского рынка и требования законодательства. Например, новый IAM полностью совместим с требованиями 152-ФЗ о персональных данных и поддерживает шифрование данных на уровне хранилища.

Важно отметить, что Astra Cloud Platform — это не просто ещё одна облачная платформа, а стратегический продукт, который должен обеспечить технологическую независимость России. Поэтому разработка IAM велась с учётом импортозамещения: используются только открытые стандарты и собственные наработки.

Как работает новый IAM?

Новый IAM в Astra Cloud Platform 2.1 работает по принципу управления доступом на основе ролей (RBAC) и атрибутов (ABAC). Это означает, что права пользователя определяются не только его ролью, но и атрибутами, такими как отдел, уровень доступа или временные ограничения. Такой подход позволяет более точно настраивать права и снижать риски.

Пользователь или сервис при запросе к ресурсам проходит аутентификацию через Identity Provider. Если аутентификация успешна, IAM проверяет политики доступа и выдаёт токен, который позволяет выполнить действие. Всё это происходит в реальном времени и логируется. Логи можно экспортировать в SIEM-системы для мониторинга и расследования инцидентов.

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

Технические подробности: архитектура и технологии

Архитектура нового IAM включает несколько компонентов: Identity Provider (IdP), Policy Decision Point (PDP), Policy Enforcement Point (PEP) и Identity Management Service (IMS). Каждый компонент отвечает за свою функцию и может масштабироваться независимо.

Identity Provider отвечает за аутентификацию пользователей и выдачу токенов. Он поддерживает стандартные протоколы OAuth 2.0 и OpenID Connect, а также может интегрироваться с внешними системами через LDAP или SAML. Policy Decision Point принимает решения о доступе на основе политик, которые хранятся в репозитории. Policy Enforcement Point перехватывает запросы и обращается к PDP за решением. Identity Management Service управляет жизненным циклом учётных записей и ролей.

Для хранения данных используется PostgreSQL с расширением для работы с JSONB. Это позволяет гибко хранить атрибуты пользователей и политики. Кэширование реализовано на Redis, что ускоряет обработку запросов. Все компоненты написаны на Go, что обеспечивает высокую производительность и лёгкость развёртывания в контейнерах.

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

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

Кого затронет и как

Новый IAM в Astra Cloud Platform 2.1 затронет всех пользователей платформы: администраторов, разработчиков и конечных пользователей. Администраторы получат более гибкие инструменты для управления доступом, а также возможность настраивать политики в соответствии с требованиями компании. Разработчики, которые используют API платформы, смогут интегрировать свои приложения с IAM через стандартные протоколы, что упростит разработку.

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

Однако переход на новый IAM потребует миграции с предыдущих версий. Команда Astra Cloud предоставляет инструменты для автоматической миграции, но в некоторых случаях может потребоваться ручная настройка. Рекомендуется заранее планировать обновление, чтобы избежать простоев.

Что будет дальше

Astra Cloud не планирует останавливаться на достигнутом. В ближайших планах — расширение функциональности IAM, включая поддержку многофакторной аутентификации (MFA) и биометрических данных. Также ожидается интеграция с российскими сервисами электронной подписи.

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

Для пользователей платформы это означает, что безопасность будет только усиливаться, а управление доступом станет ещё более удобным. Следите за обновлениями Astra Cloud Platform, чтобы не пропустить новые возможности.

Итог

Новый IAM в Astra Cloud Platform 2.1 — это значительный шаг вперёд в области облачной безопасности. Архитектура на основе микросервисов, поддержка стандартных протоколов и гибкие политики доступа делают платформу более надёжной и соответствующей современным требованиям. Для российских компаний это особенно важно, так как платформа обеспечивает технологическую независимость и соответствие законодательству.

Если вы используете Astra Cloud Platform или планируете её внедрение, обязательно изучите новый IAM. Он не только повысит безопасность, но и упростит управление доступом для вашей организации.