IAM-платформа на .NET
Микросервисная архитектура
Технологический стэк
Компонент
Технологии
Назначение
Backend
.NET 10 (C#)
Auth Core
OpenIddict
Frontend
Показать больше
Архитектура
Микросервисная архитектура на .NET 10.
Микрофронтовый подход (Module Federation) для UI.
Характеристики
Протокол авторизации
OAuth 2.0 / OpenID Connect (OpenIddict)
Формат токенов
Взаимодействие сервисов
Event Streaming
Масштабирование
Обновление
Поэтапное через ArgoCD
Почему reference-токены,
а не JWT
Мультиключ перешёл на reference-токены с интроспекцией вместо JWT
Reference-токены
JWT
Хранение
Вся информация в токене
Токен — только идентификатор, данные на сервере
Ревокация
Невозможна до истечения срока (или blocklist)
Мгновенная — удаляем токен на сервере
Размер
Растёт с количеством claims
Фиксированный, компактный
Утечка
Скомпрометированный JWT активен до expiry
Отзывается мгновенно
Функциональные модули
Управление пользователями
- Создание, изменение, блокировка, архивация и восстановление аккаунтов.
- Ревокация сессий при архивации пользователя.
- Расширенные поля профиля.Отчество, часовой пояс, дата рождения, должность, контакты
Роли и права доступа
- Ролевая модель с тонкой настройкой прав.Permissions и scopes
- Локализация permissions и scopes в интерфейсе.
- Запрос ролей с маршрутом согласования.Запрос → одобрение/отклонение
Аутентификация
Auth Gateway на OpenIddict
- OAuth 2.0 / OpenID Connect
- Reference-токены + интроспекция
- 2FA (TOTP)QR-коды для подключения + резервные коды
- Rate-limiter от спама попыток входаПо user и по IP
- Personal Access Tokens (PAT)
- Внешние провайдерыKeycloak, LDAP, Google
- Секреты через HashiCorp Vault
- Хеширование паролей: Argon2id
Аудит и аналитика
- Полный аудит-трейл всех операцийХранение в ClickHouse, 2x производительность vs MongoDB
- Debezium + KafkaСтриминг событий изменений пользователей
- Дашборд с графиками пользователей и круговой диаграммой статистикиЗапрос → одобрение/отклонение
- БэкапыРучной запуск, скачивание, отслеживание статусов
APP-UI 2.0
- Готовый веб-интерфейс для пользователей и администраторов.
- Настройка брендинга и сценариев self-service.
- Согласованный UX с остальными продуктами линейки.
- Микрофронт для отслеживания и проведения миграций
- 35+ UX/UI улучшений в последнем релизе
Мобильные приложения
- Android: все основные экраны — пользователи, роли, уведомления, профиль
- iOS: экран входа, загрузка профиля, KMP-интеграция.
- Общая кодовая база через Kotlin Multiplatform
Мультиключ SDK и интеграции
SDK позволяет новому сервису подключить авторизацию и управление токенами очень быстро.
Доступны интеграции с Keycloak и Google
Безопасность
Аутентификация
Многофакторная
Защита от перебора
Хеширование паролей
Управление секретами
Ревокация
Аудит
Журнал аудита для соответствия 152-ФЗ
В процессе включения в Реестр отечественного ПО (Минцифры)
Импортонезависимый стек
.NET, PostgreSQL, ClickHouse, Redis — open-source
Варианты развёртывания
On-premise
Облако (SaaS)
Гибрид
Системные требования
Системные требования для Core-сервисов. Расчёт произведён на основе Resource Requests (Min) и Limits (Recommended) с учётом сайдкаров (Istio, Vault).
Компонент
Реплики
CPU (Min/Rec)
RAM (Min/Rec)
mcdis-control-cluster-authorization
6
2.0 / 6.0 vCPU
2.0 / 6.0 GiB
mcdis-control-user-accounts-management
1
0.5 / 1.0 vCPU
1.5 / 2.0 GiB
ui-hub & auth-id-page
2
0.5 / 1.0 vCPU
1.0 / 2.0 GiB
Остальные (db-owner, status-checker, etc.)
~2
0.5 / 1.0 vCPU
1.0 / 2.0 GiB
Ресурсы, необходимые для работы вспомогательных служб при развёртывании на том же узле:
Служба
CPU (Зарезервировано)
RAM (Зарезервировано)
PostgreSQL v16+
1.0 vCPU
4.0 GiB
PgBouncer
1.0 vCPU
1.0 GiB
Redis v7.4+
1.0 vCPU
2.0 GiB
RabbitMQ v3.13+
1.0 vCPU
2.0 GiB
ElasticSearch
2.0 vCPU
8.0 GiB
HashiCorp Vault
1.0 vCPU
2.0 GiB
Argo CD
1.0 vCPU
2.0 GiB