Anton Sidorov homepage

Bookmark this to keep an eye on my project updates!

Follow me on GitHub

Identity and Access Management (IAM)

Зачем

Identity Provider (IDP) в IAM with industry standard supported protocols:

Функционал IAM:

  • Single Sign On
  • Аутентификация
  • Адаптивная аутентификация (применение более строгих форм проверки подлинности в зависимости от контекста пользователя — геолокации, устройства, с которого осуществляется вход, и т. д.)
  • Access Control mechanisms (ACMs)
    • Role Based Access (RBAC)
    • Attribute-based access Control (ABAC)
    • User-based access control (UBAC)
    • Context-based access control (CBAC)
    • Rule-based access control
    • Time-based access control
  • Custom Login Form
  • Session Managment Управление сессиями
    • One Logout
    • Timeout Session (Cookie, Token)

User store

User Provisioning:

  • Inbound - IAM получает из ИС источника пользовательские данные
  • Outbound - ИС источник предоставляет IAM пользовательские данные

Варианты:

  • Внутрення БД
  • User Federation - User Provisioning Inbound
    • встроенный LDAP
    • внешний LDAP
    • Microsoft Active Directory
    • SCIM
  • Apache Cassandra
  • Identity Brokering подключение к External IDP
    • SAML
    • OIDC
    • Social (FB, Google..)

Access Control

schema

Протоколы

scheme

OpenID Connect (OIDC)

  • OpenID Сonnect нужен, чтобы получить у пользователя его учетные данные и проверить их - Authentication protocol.

OAuth

Критерии выбора

Критерии выбора:

  • Функционал
  • Производительность
  • Масштабируемость
  • Отказоуйстойчивость
  • Открытый исходный код
  • Технологический стек

Сравнения

Технологии

Варианты решений: