Конфигурация Secman#
Представленный конфигурационный файл sec-config.yaml содержит все ключевые параметры для корректной работы интеграции с сервисом Secman, а также настройки аудита.
Пример структуры файла#
secman:
instances:
secman_id1:
url: "{URL}"
namespace: "{NAMESPACE}"
approle_path: "{APPROLE_PATH}"
kv_path: "{KV_PATH}"
pki_path: "{PKI_PATH}"
pki_server_role: "{SERVER_ROLE}"
pki_client_role: "{CLIENT_ROLE}"
client_common_name: "{COMMON_NAME}"
alt_names: "{ALT_NAMES}"
secman_id2:
url: "{URL}"
namespace: "{NAMESPACE}"
approle_path: "{APPROLE_PATH}"
kv_path: "{KV_PATH}"
pki_path: "{PKI_PATH}"
pki_server_role: "{SERVER_ROLE}"
pki_client_role: "{CLIENT_ROLE}"
client_common_name: "{COMMON_NAME}"
decryptor:
private_key_path: "{PRIVATE_KEY_PATH}"
encrypted_secman_path: "{ENCRYPTED_PATH}"
use_tls_from_secman_instance: "secman_id1"
api_key: "{API_KEY_TEMPLATE}"
audit:
is_enabled: true
log_dml: false
application: "VectorDB"
system_id: "{SYSTEM_ID}"
log_file_path: "/home/<username>/audit.log"
log_file_permissions: 0o644
buffer_size_bytes: 16
auth:
protect_healthcheck: true
enable_rbac: true
subject_regex: "CN=([^,]+)"
auth_flow: ["bootstrap"]
bootstrap:
principals:
- principal_name: "bob"
roles: ["dcl_admin"]
password_hash: "{PASSWORD_HASH}"
roles:
dcl_admin:
- read_role
- write_role
- read_principal
- write_principal
- cluster_manage
- cluster_info
- collection_info
ldap:
url: "ldaps://example.sbt:636"
base_dn: "ou=users,dc=example,dc=org"
user_dn: "uid={},ou=users,dc=example,dc=org"
search_filter: "(&(objectClass=inetOrgPerson)(sAMAccountName={}))"
attribute: "sAMAccountName"
ca_path: ./downloaded_certs/ca_chain.pem
tls_skip_verify: true
pool_max_capacity: 8
backoff_max_elapsed_time: 25s
backoff_max_interval: 10s
token:
expiration: 4h
ephemeral_api_key:
enabled: false
rotation_interval: 5m
audit:
enabled: true
log_dml: false
application: "VectorDB"
system_id: "system_id"
log_file_path: "/home/<username>/audit.log"
log_file_permissions: 0o644
buffer_size_bytes: 16
Секция secman#
Подсекция instances#
Определяет конфигурации для одного или нескольких экземпляров Secman.
Параметр |
Тип |
Описание |
|---|---|---|
|
Строка |
Адрес сервера Secman (например, |
|
Строка |
Пространство имен в Secman для изоляции данных |
|
Строка |
Путь к approle для аутентификации |
|
Строка |
Путь к хранилищу ключ-значение (Key-Value Store) для секретов |
|
Строка |
Путь к PKI (Public Key Infrastructure) для управления сертификатами |
|
Строка |
Роль для генерации сертификатов сервера |
|
Строка |
Роль для генерации клиентских сертификатов |
|
Строка |
Общее имя (Common Name, CN) для клиентских сертификатов |
|
Строка |
Альтернативные имена (SANs) для клиентских сертификатов |
Подсекция decryptor#
Настройки для расшифровки данных, зашифрованных Secman.
Параметр |
Тип |
Описание |
|---|---|---|
|
Строка |
Путь к приватному ключу для расшифровки данных |
|
Строка |
Путь к зашифрованному файлу с данными Secman, в котором хранятся пары role_id и secret_id по id instance Secman |
Параметр use_tls_from_secman_instance#
Указывает, какой экземпляр Secman использовать для получения TLS-конфигурации.
Параметр |
Тип |
Описание |
|---|---|---|
|
Строка |
Имя экземпляра Secman из |
Секция api_key#
Определяет способ получения API-ключа из Secman.
Параметр |
Тип |
Описание |
|---|---|---|
|
Строка |
Шаблон для динамического получения API-ключа (например, |
Секция auth#
Настройки авторизации и ролевой модели (RBAC).
Параметр |
Тип |
Описание |
|---|---|---|
|
Логический |
Настройка авторизации по сертификатам. Доступны только /metrics и /health, остальное требует JWT токена |
|
Логический |
Включение/выключение Role-Based Access Control (Ролевой модели доступа) |
|
Строка |
Регулярное выражение для извлечения имени из поля Subject сертификата |
|
Список строк |
Перечисление шагов аутентификации |
|
Структура |
Настройки для первоначальной настройки ролевой модели |
|
Список строк |
Список имен пользователей |
|
Список строк |
Список ролей, связанных с пользователями |
|
Строка |
Хешированный пароль для аутентификации |
Секция ldap#
Настройки интеграции с LDAP.
Параметр |
Тип |
Описание |
|---|---|---|
|
Строка |
Адрес LDAP сервера |
|
Строка |
Базовая точка поиска в LDAP-дереве |
|
Строка |
Шаблон для построения DN (Distinguished Name) пользователя |
|
Строка |
Фильтр поиска для нахождения пользователя |
|
Строка |
Атрибут для поиска |
|
Строка |
Путь к файлу с цепочкой сертификатов CA (также ищет сертификаты, скачанные с Secman, и системные сертификаты) |
|
Логический |
Пропускать проверку SSL-сертификата(значение по умолчанию: |
|
Целое число |
Максимальное количество соединений в пуле |
|
Строка |
Максимальное время ожидания при повторных попытках (значение по умолчанию: |
|
Строка |
Максимальный интервал между повторными попытками (значение по умолчанию: |
Секция token#
Настройка времени жизни JWT-токена (значение по умолчанию: 1h).
Параметр |
Тип |
Описание |
|---|---|---|
|
Строка |
Время жизни токена |
Секция ephemeral_api_key#
Параметр |
Тип |
Описание |
|---|---|---|
|
Логический |
Активация механизма ротации ключчей |
|
Строка |
Интервал обновления ключа |
|
Строка |
Путь к каталогу на файловой системе, используемый для долговременного хранения зашифрованного значения API-ключа |
Секция audit#
Настройка конфигурации аудита.
Параметр |
Тип |
Описание |
|---|---|---|
|
Логический |
Включение/выключение аудита |
|
Логический |
Включение/выключения логирования DML событий |
|
Строка |
Переменная для подстановки в «dtz hostname application message» |
|
Строка |
Переменная для подстановки в поле |
|
Строка |
Имя и путь к файлу лога аудита |
|
Целое число (восьмеричное число с обозначенным префиксом |
Права на файл лога аудита |
|
Целое число (десятичное) |
Размер |