Identity and Access Management (IAM)
Зачем
Identity Provider (IDP) в IAM with industry standard supported protocols:
- SAML 2.0 XML (Security Assertion Markup Language)
- OAuth
- OpenID Connect (OIDC)
- Social Authentication (FB, Google и тп)
Функционал IAM:
- Single Sign On
- Аутентификация
- Multi-Factor Authentication (MFA)
- Passwordless Authentication
- Адаптивная аутентификация (применение более строгих форм проверки подлинности в зависимости от контекста пользователя — геолокации, устройства, с которого осуществляется вход, и т. д.)
- 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
Протоколы
OpenID Connect (OIDC)
- OpenID Сonnect нужен, чтобы получить у пользователя его учетные данные и проверить их - Authentication protocol.
OAuth
- OAuth 2.0 нужен, чтобы получать токены доступа и с ними обращаться к ресурсам - Authorization framework, not an authentication protocol.
Критерии выбора
Критерии выбора:
- Функционал
- Производительность
- Масштабируемость
- Отказоуйстойчивость
- Открытый исходный код
- Технологический стек
Сравнения
- WSO2-Keycloack-Glue
- Keycloack-Glue
- Top Okta-MS-Keycloak
- Top Okta-MS-WSO2
- keycloak-ory hydra
- Keycloak лучше ADFS
Технологии
Варианты решений:
- OIDC certified решения
- in house (on premise)
- Commercial
- ADFS
- Отечественное UIDM
- Identity Blitz
- Open Source
- WSO2 Identity Server
- IdentityServer (.NET Core) 4я версия бесплатная, с 6й версии нет?
- Keycloak (Red Hat Java)
- Ory Hydra
- Blitz Identity Provider
- Commercial
- online
- Commercial
- AWS Cognito
- GCP Identity Platform
- Okta Auth0
- OneLogin
- Commercial