Sari la conținut

GSSO — Дорожная карта

Acest conținut nu este încă disponibil în limba selectată.

Код документаSPEC-GSSO-2026 / Отчёт 05
Версия0.1-draft (исходный текст EN, имеющий преимущественную силу)
Дата2026-10-05
СтатусЧерновик
Сопутствующие отчёты00 Техническое задание · 01 ADR · 02 Требования · 03 Потребители и контракт · 04 Техническая документация
ВерсияДатаИзменения
0.1-draft2026-10-05Фазы S0–S5, MVP, риски, зависимости

1. Согласование с потребителями

Section titled “1. Согласование с потребителями”
Этап потребителяЧто требуется от GSSOФаза GSSO
CRM F0 (фундамент)CAP-GSSO-01: realm gstack, crm-gateway, сервисные клиенты, locale, UUID subS1
CRM F1+ / gDocFlow / gTendersCAP-GSSO-03, 07 (сессии, token exchange)S3
gFlow G1запрос «роль → пользователи», сервисные principal для каждого приложенияS3
gInsight (отложен)claims org_unit (CAP-GSSO-04)S2
Усиление существующих приложенийУстранение паттернов A/CS4

2. Фазы и контрольные точки выхода

Section titled “2. Фазы и контрольные точки выхода”

Каждая фаза завершается контрольной точкой (gate). В фазе S0 нельзя приступать к написанию кода, пока ADR из отчёта 01 не переведены в статус Acceptat (DEV-PLAYBOOK §4).

S0 — Фундамент (≈ 2 недели)

Section titled “S0 — Фундамент (≈ 2 недели)”
  • Создать репозиторий govtech/gstack/gsso, CLAUDE.md, gsso.jdl и test-scenarios.md и принять ADR.
  • keycloak/:
    • Dockerfile на версии 26.6.3;
    • базовые конфигурации gstack, cetatean и tenant-template через keycloak-config-cli;
    • тема входа GDS на RO/RU/EN. Модуль расширений в этой фазе — только каркас.
  • deploy/docker-compose.yml с Keycloak, двумя базами данных PostgreSQL и Kafka; docker-compose.test.yml.
  • Генерация gsso и gsso-gateway средствами JHipster 9.1.0; каркас gsso-web на GDS с боковой панелью и i18n. Версии зафиксированы.
  • Контрольная точка: AC-001 и AC-002 проходят локально, ADR приняты, /gsast без замечаний.

S1 — MVP консоли и каталога (≈ 4 недели)

Section titled “S1 — MVP консоли и каталога (≈ 4 недели)”
  • Realms (реестр, создание из шаблона, переключатель, ограничение области, adoption в режиме dry-run).
  • Платформы, клиенты, роли, массовое создание сервисных клиентов и audience mappers.
  • Пользователи: список, создание/приглашение, редактирование, включение/отключение, учётные данные, сессии, разблокировка, проекция.
  • Reconciler: задания outbox, worker, повторные попытки, полная сверка, drift REPORT/ENFORCE, экран синхронизации.
  • Собственные append-only события GSSO, пока без приёма событий из Kafka.
  • Экраны дизайна Realms, Applications, Users (drawer), Roles и Sync.
  • Контрольная точка: проходят AC-003..009, 026, 027 (частично) и 028. CAP-GSSO-01 предоставлена в локальной среде и на staging.

S2 — Управление (governance) (≈ 4 недели)

Section titled “S2 — Управление (governance) (≈ 4 недели)”
  • Grants (назначения доступа): жизненный цикл, принцип «четырёх глаз», входящие (inbox), истечение срока и уведомления, пакеты (bundles), организационные подразделения и роли с областью действия.
  • Слушатель событий Keycloak gsso-kafka, потребитель, хеш-цепочка, пересылка в GLog, back-fill и дашборд (KPI, входы за 24 ч, события, структура методов аутентификации).
  • Политики аутентификации: экран методов, условная MFA для чувствительных ролей, федерация LDAP, mock-брокер MPass в cetatean и брендинг.
  • Публикатор отзывов (revocation publisher) и отчёт о доступе.
  • Контрольная точка: проходят AC-010..019, 024, 025. Предоставлены CAP-GSSO-02 и 04.

S3 — Комплект интеграции и пилот (≈ 3 недели)

Section titled “S3 — Комплект интеграции и пилот (≈ 3 недели)”
  • gsso-spring-boot-starter и @gstack/gsso-angular.
  • api/v1/app (самостоятельная регистрация, справочные запросы, роли, сессии, запросы на назначение доступа).
  • Разрешения token exchange.
  • Пример приложения и runbook подключения.
  • Пилотные приложения:
    • gregistry (паттерн B): переходит на gstack и starter;
    • glog: starter и scopes, при этом GSSO становится клиентом приёма (ingest);
    • каркас шлюза CRM.
  • Контрольная точка: проходят AC-020..023, SSO работает между gsso-console + gregistry + glog, предоставлены CAP-GSSO-03, 06 и 07.

S4 — Миграция существующих приложений (≈ 6 недель, приложение за приложением)

Section titled “S4 — Миграция существующих приложений (≈ 6 недель, приложение за приложением)”
  • Производственный перенос под управление (takeover) действующего Keycloak (отчёт 04 §11.1) с одобрения владельца и в окно обслуживания.
  • Принять под управление (adopt) realm interdictii, затем решить Q-GSSO-1.
  • Мигрировать приложения паттерна A (interdictii, gdocs, gnotify) и паттерна C (drumuri: персонал — в gstack, MPass — в cetatean). Затем gstorage (realm gstorage → gstack), cancelarie, platform и gportal.
  • Вывести из употребления ROLE_ADMIN; после миграции удалить устаревшие realms (gdocs, gnotify, gstorage, ultra).
  • Создать realms tenant-* для whitelabel-сайтов.
  • Контрольная точка: AC-030; ни одно приложение не выпускает токены и не хранит локальные пароли; общий realm содержит только платформы gstack.

S5 — Расширения (по запросу)

Section titled “S5 — Расширения (по запросу)”
  • Кампании пересмотра доступа (access review).
  • Правила разделения обязанностей (segregation of duties).
  • Отчёт о неактивных учётных записях.
  • Вход с другого устройства по QR-коду в виде аутентификатора Keycloak для gsso_mob.
  • Magic link.
  • Keycloak Organizations.
  • gsso-cli или Terraform для подключения через CI.
  • Доработка Helm chart для production (HA Keycloak).
  • Вход с учётом риска (только на основе правил, GSSO-ADR-014).

MVP — это S0 + S1 + дашборд, события и grants из S2, работающие локально и на демонстрационном хосте с локальным или staging Keycloak (не production). Демонстрируется следующим:

  1. 6 экранов дизайна (Dashboard, Realms, Applications, Users с drawer, Roles, Authentication), а также Platforms, Grants и Sync — на RO/RU/EN.
  2. Регистрация платформы с клиентами и ролями, которые затем появляются в Keycloak.
  3. Запрос, одобрение и отзыв назначения доступа, видимые в токене пользователя и в событиях.
  4. Расхождение (drift), внесённое вручную в Keycloak, обнаруживается и исправляется.
  5. SSO между консолью GSSO и одним примером приложения.

4. Риски и меры по их снижению

Section titled “4. Риски и меры по их снижению”
#РискВлияниеМеры по снижению
R1Перенос под управление действующего Keycloak нарушает вход во все приложенияВысокоеТа же версия, резервная копия базы данных, сначала замена только образа, откат = предыдущий образ, окно обслуживания, одобрение владельца
R2Изменения Keycloak Admin API или SPI при обновленияхСреднееЗафиксирована версия 26.6.x; набор IT-тестов служит контрольной точкой для обновлений (NFR-OPS-004); адаптер изолирован в KeycloakAdminGateway
R3Reconciler удаляет объекты, созданные вручнуюВысокоеМаркер gsso.managed; неуправляемые объекты никогда не удаляются; IGNORE для принятых под управление realms; прогоны в режиме dry-run
R4Realm gstack — единая точка отказа для всех приложений персоналаВысокоеHA Keycloak в целевой архитектуре; вход не зависит от GSSO, Kafka или GLog (NFR-AVL-003)
R5Миграция приложений паттерна A идёт медленнее запланированногоСреднееПсевдонимы ролей в starter; старый клиент сохраняется параллельно в течение одного релиза; по одному приложению за раз
R6Продление TLS на демонстрационном хосте всё ещё не работаетВысокоеИсправить до S4; оповещение об истечении сертификата (NFR-AVL-006)
R7Задержка доступа к production MPassСреднееMock IdP; production cetatean ожидает его (Q-GSSO-8)
R8Шаги одобрения замедляют работу администраторовНизкоеПрямые назначения для нечувствительных ролей, пакеты (bundles), массовое одобрение
R9Утечка секретов из заметок в открытом видеВысокоеРотация всех секретов клиентов и паролей администраторов в ходе takeover; только хранилище секретов
R10Нехватка памяти на общем демонстрационном хостеСреднееБюджет памяти (отчёт 04 §8.1), Kafka опционально (общий кластер, если доступен)
ЗависимостьТребуется дляСтатус
Keycloak 26.6.3 (действующий)Takeover, adoptionРаботает
Кластер KafkaСобытия, отзывОбщий кластер запланирован; пока — локальный одиночный брокер
GLogПересылка аудитаРаботает; GSSO требуется клиент gsso-glog с audit:write
GNotifyУведомления, оповещенияРаботает; OIDC отключён, поэтому S4 его включает
Пакеты GDS @gstack/gds-angular, @gstack/gds-coreКонсоль, темыОпубликованы (GitLab npm project 581)
Тестовая среда MPasscetateanОжидается (Q-GSSO-2)
AD/LDAP учрежденияФедерацияОжидается (Q-GSSO-3)
Пограничный nginx + DNS gsso.gstack.esempla.systemsДемонстрационное развёртываниеТребуется одобрение владельца

6. Управление настоящей дорожной картой

Section titled “6. Управление настоящей дорожной картой”
  • Текст EN имеет преимущественную силу. Переводы RO и RU содержат заголовок Translated from EN rev.
  • Изменения вносятся путём ревизий, без перенумерации.
  • Контрольные точки фаз проверяет тимлид. Действия в production (S4) каждый раз требуют явного одобрения владельца.