Перейти к содержанию

Общие требования к платформенным data services

Требования применяются к PostgreSQL, Valkey, NATS JetStream и MinIO, предоставляемым как общие платформенные data services. Уровни обязательности определены в корневом README.md.

INF-DAT-001. Явно управляемый экземпляр

Уровень: MUST

Применяется к: PostgreSQL, Valkey, NATS JetStream или MinIO

Для сервиса должны быть определены владелец, версия, topology, потребители, класс данных, limits/quotas, окно обслуживания, backup и маршрут наблюдаемости. Endpoint и credentials должны передаваться через конфигурацию и секреты, а не встраиваться в image. Поддерживаемый путь обновления и совместимость клиента должны проверяться до production.

Обоснование

Неявный общий экземпляр создаёт неизвестную ёмкость и область отказа.

Проверка

  • review service manifest и подключений workload;
  • сопоставление credentials с secret references.

Исключения

Local-профиль MAY использовать одноразовый экземпляр с сокращённым описанием.

INF-DAT-006. Изоляция потребителей

Уровень: MUST

Применяется к: общему платформенному сервису

Разные приложения и среды должны использовать отдельные database/roles, Valkey ACL и namespace, NATS accounts/permissions либо S3 buckets/prefix policies. Production credential не должен работать в non-production.

Обоснование

Логическая изоляция ограничивает ошибочное чтение, запись и удаление.

Проверка

  • негативные тесты перекрёстного доступа;
  • review mapping владельцев к ресурсам.

Исключения

Осознанно общий ресурс требует единого владельца данных и документированного контракта совместного использования.

INF-DAT-007. Шифрование и server identity

Уровень: MUST

Применяется к: соединению с production PostgreSQL, Valkey, NATS JetStream или MinIO через сеть

Соединение должно использовать TLS и проверять identity сервера по architecture:SEC-TLS-001SEC-TLS-003. Отключение проверки сертификата, передача credential в URL, попадающий в log, и общий административный credential приложения запрещены.

Обоснование

Внутренняя сеть не является доказательством подлинности data service.

Проверка

  • соединение с недоверенным сертификатом;
  • проверка client configuration и минимальных ролей;
  • canary-secret scan логов.

Исключения

Loopback-соединение одноразового local-профиля MAY использовать plaintext.

INF-DAT-008. Наблюдаемость data service

Уровень: MUST

Применяется к: production data service

Должны наблюдаться availability, latency, errors, connections/consumers, capacity, replication/quorum state, backup age и приближение к limits. Пороговый alert должен срабатывать до состояния, в котором невозможно восстановление реплики, compaction или штатная запись.

Обоснование

Заполненное storage или потерянный quorum часто становятся необратимыми раньше общего health failure.

Проверка

  • контролируемый отказ участника и достижение warning capacity;
  • проверка dashboard и alerts.

Исключения

Неприменимая метрика должна быть заменена эквивалентным признаком насыщения.

INF-DAT-016. Изоляция service writer

Уровень: MUST

Применяется к: доступу двух или более независимо развёртываемых сервисов к общему физическому data service

Deployment-конфигурация должна реализовывать architecture:ARC-SVC-004: каждый сервис должен использовать отдельные runtime identity и credential, а grants, access control list или resource policy должны разрешать изменение только принадлежащих сервису database, schema, tables, keyspace, bucket или prefix. Сервисы с разными владельцами данных не должны совместно использовать credential с write, delete или управляющими полномочиями.

Управляемая конфигурация должна связывать identity с сервисом-владельцем и закрытым перечнем разрешённых ресурсов. Фактические полномочия должны сверяться с этой конфигурацией, а отклонение должно блокировать deployment или создавать обязательный сигнал remediation до выдачи доступа.

Обоснование

Логическое соглашение о владельце данных не ограничивает ошибочную запись, если платформа выдаёт нескольким сервисам общий credential или пересекающиеся write-права.

Проверка

  • запрос фактических grants, ACL или resource policies для каждой identity;
  • негативные write, delete и административная операция вне ресурсов владельца;
  • проверка обнаружения и устранения ручного расширения полномочий;
  • сопоставление service ownership с secret и deployment references.

Исключения

Временная migration identity MAY пересекать границы владельцев только по ADR, требуемому ARC-SVC-004, с закрытым перечнем операций, отдельным approval, сроком и проверяемым отзывом credential после миграции.