4 Секретные пользовательские макросы
Обзор
Zabbix предоставляет два варианта защиты конфиденциальной информации в значениях пользовательских макросов:
- Секретный текст
- Секрет хранилища
Хотя значение секретного макроса скрыто, его можно раскрыть при использовании в элементах данных.
Например, во внешнем скрипте оператор echo, ссылающийся на секретный макрос, может быть использован для вывода значения макроса в веб-интерфейс, поскольку сервер Zabbix имеет доступ к реальному значению макроса.
См. места, где значения секретных макросов отображаются без маскирования.
Секретные макросы нельзя использовать в выражениях триггеров.
Секретный текст
В макросах типа «Секретный текст» значение макроса маскируется звездочками.
Чтобы сделать значение макроса секретным, нажмите кнопку в конце поля Значение и выберите вариант Секретный текст:

После сохранения конфигурации просмотр значения станет невозможен.
Чтобы изменить значение макроса, наведите указатель мыши на поле Значение и нажмите кнопку Установить новое значение (появляется при наведении):

При нажатии кнопки Установить новое значение (или при изменении типа значения макроса) текущее значение будет удалено.
Вы можете восстановить исходное значение, нажав стрелку
в конце поля Значение (доступно только до сохранения новой конфигурации).
Обратите внимание, что восстановление исходного значения не приведет к его отображению.
URL-адреса, содержащие секретный макрос, не будут работать, так как макрос в них будет разрешен как "******".
Секрет Vault
При использовании макросов секрета Vault значение макроса хранится во внешнем программном обеспечении для управления секретами (vault).
Чтобы настроить макрос секрета Vault, нажмите кнопку в конце поля Value и выберите вариант Vault secret:

Значение макроса должно указывать на секрет vault. Формат ввода зависит от поставщика vault. Примеры настройки для конкретных поставщиков см. здесь:
Значения секретных макросов Vault извлекаются из хранилища сервером Zabbix (а также прокси Zabbix, если параметр Resolve secret vault macros by установлен в Zabbix server and proxy) при каждом обновлении данных конфигурации, а затем сохраняются в кэше конфигурации. Сервер Zabbix и прокси Zabbix могут использовать разные хранилища.
Если параметр Resolve secret vault macros by установлен в Zabbix server, то секреты хранилища извлекаются только сервером, а прокси Zabbix получает значения секретных макросов Vault от сервера Zabbix при каждой синхронизации конфигурации и сохраняет их в собственном кэше конфигурации. Это означает, что прокси Zabbix не сможет начать сбор данных после перезапуска, пока не получит обновление конфигурации от сервера Zabbix.
Чтобы вручную обновить секретные значения из хранилища, используйте параметр runtime control secrets_reload (только для сервера).
Между сервером Zabbix и прокси должно быть включено шифрование; в противном случае в журнал записывается предупреждающее сообщение сервера.
Если значение макроса не удается успешно получить, соответствующий элемент данных, использующий это значение, станет неподдерживаемым.
Незамаскированные расположения
В этом списке приведены расположения параметров, в которых значения секретных макросов отображаются незамаскированными.
Значения секретных макросов останутся замаскированными в указанных ниже расположениях, если на них есть косвенная ссылка.
Например, {ITEM.KEY}, {ITEM.KEY<1-9>}, {LLDRULE.KEY} встроенные макросы, используемые в типах оповещений (параметры Script или Webhook), будут преобразованы в ключи элементов данных, содержащие замаскированные секретные макросы, например net.tcp.port[******,******] вместо net.tcp.port[192.0.2.0,80].
| Контекст | Параметр | |
|---|---|---|
| Элементы данных, прототипы элементов данных, правила LLD | ||
| Элемент данных | Параметры ключа элемента данных | |
| Прототип элемента данных | Параметры ключа прототипа элемента данных | |
| Правило низкоуровневого обнаружения | Параметры ключа элемента обнаружения | |
| SNMP агент | SNMP community | |
| Context name (SNMPv3) | ||
| Security name (SNMPv3) | ||
| Authentication passphrase (SNMPv3) | ||
| Privacy passphrase (SNMPv3) | ||
| HTTP агент | URL | |
| Поля запроса | ||
| Тело запроса | ||
| Заголовки | ||
| Имя пользователя | ||
| Пароль | ||
| Пароль ключа SSL | ||
| Script | Параметры | |
| Скрипт | ||
| Browser | Параметры | |
| Скрипт | ||
| Монитор базы данных | SQL-запрос | |
| TELNET агент | Скрипт | |
| Имя пользователя | ||
| Пароль | ||
| SSH агент | Скрипт | |
| Имя пользователя | ||
| Пароль | ||
| Простая проверка | Имя пользователя | |
| Пароль | ||
| JMX агент | Имя пользователя | |
| Пароль | ||
| Предобработка значений элементов данных | ||
| Шаг предобработки JavaScript | Скрипт | |
| Веб-сценарии | ||
| Веб-сценарий | Значение переменной | |
| Значение заголовка | ||
| URL | ||
| Значение поля запроса | ||
| Значение поля POST | ||
| Необработанные данные POST | ||
| Аутентификация веб-сценария | Пользователь | |
| Пароль | ||
| Пароль ключа SSL | ||
| Коннекторы | ||
| Коннектор | URL | |
| Имя пользователя | ||
| Пароль | ||
| Токен | ||
| HTTP прокси | ||
| Файл сертификата SSL | ||
| Файл ключа SSL | ||
| Пароль ключа SSL | ||
| Обнаружение сети | ||
| SNMP | SNMP community | |
| Context name (SNMPv3) | ||
| Security name (SNMPv3) | ||
| Authentication passphrase (SNMPv3) | ||
| Privacy passphrase (SNMPv3) | ||
| Глобальные скрипты | ||
| Webhook | JavaScript-скрипт | |
| Значение параметра JavaScript-скрипта | ||
| Telnet | Имя пользователя | |
| Пароль | ||
| SSH | Имя пользователя | |
| Пароль | ||
| Script | Скрипт | |
| Типы оповещений | ||
| Script | Параметры скрипта | |
| Webhook | Параметры | |
| Управление IPMI | ||
| Узел сети | Имя пользователя | |
| Пароль | ||