Что такое IAM (Identity and Access Management)?

Что такое IAM (Identity and Access Management)

IAM — это система управления цифровыми идентичностями и правами доступа: набор процессов, правил и технических механизмов, которые определяют кто (identity) и какие действия (access) может выполнять над ресурсами в облачной или корпоративной среде. Основная цель — обеспечить безопасный, контролируемый и поддающийся аудиту доступ к системам и данным.

Ключевые компоненты

  • Идентичности: пользователи (human users), сервисные аккаунты (service accounts), группы, роли. Идентичности представляют субъекты, запрашивающие доступ.

  • Аутентификация (Authentication): проверка того, что субъект — это тот, за кого он себя выдаёт (пароль, ключи API, сертификаты, OAuth/OIDC, SAML, MFA).

  • Авторизация (Authorization): решение о том, разрешено ли субъэкту выполнять конкретное действие над ресурсом (на основе политик/правил).

  • Политики и права (Policies / Permissions): формальные правила, описывающие какие действия разрешены/запрещены для каких идентичностей над какими ресурсами и при каких условиях (например, allow s3:GetObject on bucket/* if source IP = …).

  • Аудит и логирование: запись событий доступа и изменений прав для последующего анализа и расследования (audit logs, access logs).

Модели контроля доступа

  • RBAC (Role-Based Access Control): доступ выдаётся ролям, пользователи получают роли — проще управлять большими организациями.

  • ABAC (Attribute-Based Access Control): решения принимаются на основе атрибутов (тегов ресурсов, атрибутов пользователя, времени, IP и т. д.) — гибче и тоньше.

  • Resource-based vs Identity-based policies: политика может быть привязана к субъекту (identity) или к ресурсу (resource), или оба вида одновременно.

Парадигмы и механизмы безопасности

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

  • Временные/динамические креденшелы: использование краткоживущих токенов и механизма выдачи временных прав (STS, token exchange) вместо долгоживущих ключей.

  • Федерация и SSO: подключение внешних провайдеров идентичности (корпоративный AD, IdP по SAML/OIDC) для единого входа и централизованного управления пользователями.

  • Многофакторная аутентификация (MFA): обязательный второй фактор для привилегированных аккаунтов.

  • Разделение обязанностей (Separation of duties): отдельные роли для разработчиков, админов, операторов безопасности и т.д.

Правила оценки и поведение политик

  • Обычно действует правило «по умолчанию отказ» (default deny) — всё запрещено, если явно не разрешено.

  • Явный Deny имеет приоритет над Allow.

  • Политики могут содержать условия (time-of-day, IP, MFA present, ресурсные теги).

Операционные практики и лучшие подходы

  • Не использовать корневой/административный аккаунт для повседневных задач.

  • Давать права через роли и группы, а не индивидуально.

  • Применять MFA ко всем привилегированным учетным записям.

  • Минимизировать использование долгоживущих секретов, регулярно их менять и автоматически ротацировать.

  • Ограничивать права сервисных аккаунтов (least privilege) и использовать краткоживущие токены/импэрсонацию.

  • Включать аудит, хранение логов и мониторинг аномалий доступа, использовать alerting.

  • Тестировать политики в песочнице/симуляторе прежде чем разворачивать в проде.

Риски и уязвимости

  • Чрезмерные права (privilege creep) приводят к возможности эскалации.

  • Утечка ключей/токенов опаснее, если они долгоживущие.

  • Неправильно настроенные публичные политики (прямой публичный доступ к ресурсам) — частая причина инцидентов.

  • Сложные и разрозненные политики усложняют аудит и повышают риск ошибок.

Технические примеры применения

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

  • Настройка политики, разрешающей доступ к базе только из конкретной подсети или при наличии MFA.

  • Федерация корпоративных пользователей в облако через SSO, чтобы сотрудники использовали корпоративные учётки и политики доступа централизованно.

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