НАЧАЛО >> Подсистема безопасности >> Системное хранилище секретов📄 Скачать в DOCX
Системное хранилище секретов используется для паролей, token, API key, webhook secret и других значений, которые не должны храниться в открытом виде в настройках доменных модулей.
Внешние модули хранят только ссылку:
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 является стабильным техническим именем внутри области.
Для работы с секретами используются внешние функции Security:
| Функция | Назначение |
|---|---|
NormalizeSecretReference |
Проверяет ссылку и приводит ее к каноническому виду. |
RotateSecret |
Создает или заменяет значение секрета. Значение шифруется и не возвращается в ответе. |
ResolveSecretReference |
Возвращает безопасные метаданные секрета. Значение выдается только при includeValue=true и разрешенном consumer. |
GetSecretMetadata |
Возвращает метаданные без расшифровки значения. |
ListSecretReferences |
Возвращает список ссылок и безопасных метаданных. |
MaskSecretPayload |
Маскирует секретные значения перед выводом в UI, лог или audit. |
HealthCheckSecretsDefinition |
Проверяет контракт и структуру хранилища без раскрытия секретов. |
Списки, метаданные, Help, HealthCheck и audit не должны возвращать открытое значение секрета. Ротация значения и выдача открытого значения требуют администратора или доверенного runtime-кода модуля. Runtime-код потребителя получает значение только через ResolveSecretReference с явным includeValue=true. Если у секрета задан список consumers, значение выдается только указанному потребителю.
Security отвечает за ссылку, хранение, ротацию, маскирование и безопасную выдачу значения. Доменные модули остаются владельцами своей бизнес-логики, профилей интеграции и правил применения полученного секрета.