НАЧАЛО >> Оглавление >> Общее описание >> История изменений >> Что нового в проекте I128 >> Версия 2026.3 >> [I128-2829] Расширить Security для системного хранения и ротации секретов интеграций📄 Скачать в DOCX
| Тип | Версия | Статус | Приоритет | Исполнитель |
|---|---|---|---|---|
| ⚙️ Новые возможности | 2026.3 | 🔘 Завершено |
Средний | Unassigned |
Компоненты: ИРБИС 128. Модуль Security - Подсистема безопасности
Завершено: 09.09.2026 06:33
Нужно расширить Security системным контрактом хранения и ротации секретов интеграций: токенов, паролей, webhook secrets, API keys и других чувствительных значений. Модули должны хранить ссылки на секреты, а не сами значения.
Решение должно быть общесистемным: оно используется I128FMail, EventBus transports, webhooks, API adapters, Automation и будущими интеграционными профилями.
Описать secret reference, secret metadata, owner module, allowed consumers, purpose, expiry, rotation policy, access policy, where-used, masking, audit и diagnostic policy.
Секретное значение должно отображаться только при создании или ротации по policy и не должно попадать в readback, export, logs, diagnostic packages, EventBus payload, Queue payload или Help examples.
Поддержать ротацию значения без изменения reference, если consumer продолжает использовать тот же secret reference.
Поддержать where-used: какие webhooks, mailbox profiles, API adapters, EventBus delivery или Automation profiles используют reference, без раскрытия значения.
Добавить migration warnings для существующих открыто сохраненных токенов и паролей: найти, классифицировать риск и предложить перенос в secret reference.
Передавать в Observability только masked safe signals и давать HealthCheck-проверки expired secrets, missing references, unsafe plain values и consumers without permission.
Security владеет secret reference, правами, masking, audit, rotation, expiry и policy доступа к значениям.
Доменный или интеграционный модуль владеет только ссылкой на секрет и собственным transport/protocol mapping.
Observability, Log, HealthCheck, EventBus и Queue получают только безопасные masked identifiers, а не secret value.
Администратор может создать secret reference, привязать его к интеграционному профилю, ротировать значение и увидеть where-used без раскрытия секрета.
Значение секрета не попадает в export, логи, diagnostics, EventBus payload, Queue payload или пользовательские ошибки.
Права чтения, изменения, ротации и использования секрета разделены.
Ротация сохраняет ссылку и не требует правки кода потребителя.
HealthCheck находит expired secrets, missing references и небезопасные plain values.
TestA должен покрыть создание, использование, ротацию, masking, where-used, access denied, migration warning и отсутствие secret value в diagnostics.
Help должен описать настройку secret references, ротацию и безопасную диагностику.
-
Первый кодовый срез по I128-2829: модуль Security получает системный контракт хранения ссылок на секреты и безопасной ротации значений. Доменные и интеграционные модули должны хранить secret://scope/name, а не открытые token, password, API key или webhook secret.
Security переведен на штатный ObjectModule::__call lifecycle без изменения существующей логики SID/прав.
Добавлены Security/__call функции: нормализация secret reference, ротация, безопасное resolve, metadata/list, masking и локальный health-check.
Значения секретов шифруются в DataPath/Security/Secrets и не возвращаются в list/metadata/health/help/audit.
Добавлен системный JSON-контракт modules/Security/system/secrets_contract.json.
Добавлена Helpстраница сценарий Security.Security/Secrets и расширен TestA
PHP lint: modules/Security/api.php, modules/Security/Tests/Module.inc, все modules/Security/__call/*.inc.
JSON parse: modules/Security/system/secrets_contract.json.
TestA target: Security:module - passed.
TestA suite по Security со structural=1: total=9, passed=9, failed=0.
Help HTTP: ?id=Help/Show&m=Security/Secrets - 200.
Этот PR не реализует UI-редактор секретов и не переносит в Security доменную логику API, I128FMail, EventBus, Queue или Tasks. Эти модули должны использовать только ссылку на секрет и собственные доменные правила.
[I128-2827] Расширить I128FMail как входящий почтовый канал задач
Статус: Завершено | Автор: Ilya Mikhaylenko
[I128-2830] Реестр API-контрактов и профилей внешней интеграции
Статус: Завершено | Автор: Ilya Mikhaylenko
[I128-2834] AI input profiles, masking и consent
Статус: Завершено | Автор: Ilya Mikhaylenko
[I128-2836] AIProvider/AIModel policy и routing
Статус: Завершено | Автор: Ilya Mikhaylenko
[I128-2797] Расширить Security для проектных прав, полей, действий и аудита доступа
Статус: Завершено | Автор: Ilya Mikhaylenko
[I128-2798] Реализовать HealthCheck для workflow-проектов и задач
Статус: Завершено | Автор: Ilya Mikhaylenko
[I128-2799] Подготовить TestA-контракты системных JSON и end-to-end сценариев
Статус: Завершено | Автор: Ilya Mikhaylenko
[I128-2818] Реализовать наблюдаемость Observability для промышленных модулей
Статус: Завершено | Автор: Ilya Mikhaylenko