Системное хранилище секретов


НАЧАЛО >> Подсистема безопасности >> Системное хранилище секретов📄 Скачать в DOCX


Системное хранилище секретов используется для паролей, token, API key, webhook secret и других значений, которые не должны храниться в открытом виде в настройках доменных модулей.

1. Ссылка на секрет

Внешние модули хранят только ссылку:

secret://scope/name

Примеры:

secret://api/jira/main-token
secret://mailbox/support/smtp-password
secret://webhook/bitbucket/pr-relay

scope задает область использования секрета: system, module, project, host, user, adapter, mailbox, webhook, api, ai. name является стабильным техническим именем внутри области.

2. Операции модуля

Для работы с секретами используются внешние функции Security:

Функция Назначение
NormalizeSecretReference Проверяет ссылку и приводит ее к каноническому виду.
RotateSecret Создает или заменяет значение секрета. Значение шифруется и не возвращается в ответе.
ResolveSecretReference Возвращает безопасные метаданные секрета. Значение выдается только при includeValue=true и разрешенном consumer.
GetSecretMetadata Возвращает метаданные без расшифровки значения.
ListSecretReferences Возвращает список ссылок и безопасных метаданных.
MaskSecretPayload Маскирует секретные значения перед выводом в UI, лог или audit.
HealthCheckSecretsDefinition Проверяет контракт и структуру хранилища без раскрытия секретов.

3. Правила безопасности

Списки, метаданные, Help, HealthCheck и audit не должны возвращать открытое значение секрета. Ротация значения и выдача открытого значения требуют администратора или доверенного runtime-кода модуля. Runtime-код потребителя получает значение только через ResolveSecretReference с явным includeValue=true. Если у секрета задан список consumers, значение выдается только указанному потребителю.

Security отвечает за ссылку, хранение, ротацию, маскирование и безопасную выдачу значения. Доменные модули остаются владельцами своей бизнес-логики, профилей интеграции и правил применения полученного секрета.