Секреты в безопасном хранилище; техпользователь с минимальными правами
Директивный
v8std#std740v8std#std770диагностикаUsingHardcodeSecretInformationдиагностикаExecuteExternalCode
Правило
Заголовок раздела «Правило»Пароли и секреты не хранятся в реквизитах ИБ открытым текстом — только в
безопасном хранилище БСП. Интеграции выполняются от технического пользователя
с отдельной ролью, дающей минимум прав (только Use на конкретный HTTP-сервис и
метод). Выполнить/Вычислить на сервере — ограничивать.
- Секрет — это не только пароль: токены и ключи API, строки соединения,
Authorization-заголовки, коды подтверждения (2FA), приватные ключи. - Секрет пишется под привилегированным режимом; в коде хранится ключ/идентификатор, а не сам секрет.
- Техпользователь интеграции ≠ административная учётка: роль узкая, под задачу.
- Секреты и чувствительные тела (ПДн, токены, коды подтверждения) не пишутся в ЖР.
Секрет в реквизите или в коде утекает вместе с выгрузкой конфигурации, бэкапом или логом. Широкая роль у интеграционного пользователя превращает скомпрометированный токен в полный доступ. Каналы утечки конкретны, и хранилище закрывает их все разом:
| Канал | Что утекает |
|---|---|
| Выгрузка конфигурации/расширения в git | пароль, зашитый в код или макет |
| Копия базы прод → тест | боевые токены в реквизитах; тест начинает ходить в боевые системы |
| ЖР и логи HTTP | Authorization-заголовок, тело запроса с токеном |
| Скриншоты в инструкциях и тикетах | пароль, видимый в форме настроек |
Отдельно про копии баз: безопасное хранилище БСП привязано к ИБ, но при копировании прода секреты едут вместе с базой — в регламент копирования входит их очистка или перевыпуск на тестовом контуре.
Правильно
Заголовок раздела «Правильно»Запись — под привилегированным режимом; чтение — так же, непосредственно перед использованием, без сохранения секрета в реквизиты формы и без передачи на клиент:
Фактические права роли можно проверить программно, без создания пользователя:
ПравоДоступа(Право, МетаданныеОбъекта, МетаданныеРоли) — удобно для аудита ролей.
Пример из практики
Заголовок раздела «Пример из практики»Подключение второго фактора аутентификации (2FA): платформа не пробрасывает
учётные данные текущего пользователя в вызов провайдера, поэтому в шаблон запроса
добавлен явный Authorization: Basic технического пользователя. Всё по этому
стандарту: у техпользователя отдельная роль, дающая только Use на конкретный
HTTP-сервис и метод отправки кода (не полные права «чтобы работало»); секрет
хранится в безопасном хранилище, а не в тексте шаблона; сам код подтверждения в
ЖР не пишется — иначе журнал превращается в архив одноразовых паролей.
Когда не применять
Заголовок раздела «Когда не применять»Исключений нет: секреты всегда в безопасном хранилище, интеграционный пользователь всегда с минимальной ролью.
См. также
Заголовок раздела «См. также»- Единый security-модуль HTTP-сервиса — где применяется техпользователь и интроспекция токена.