Zabbix 提供了两种选项来保护用户宏值中的敏感信息:
虽然密文宏的值被隐藏,但通过在 监控项 中使用,它可以被揭示。 例如,在外部脚本中,一个 echo
语句引用密文宏可能被用来向前端展示宏值,因为 Zabbix server 可以访问真实的宏值。 请参阅 locations,其中密文宏值被解码。
密文宏不能在触发器表达式中使用。
Zabbix provides two options for protecting sensitive information in user macro values:
Note that while the value of a secret macro is hidden, the value can be revealed through the use in items. For example, in an external script an 'echo' statement referencing a secret macro may be used to reveal the macro value to the frontend because Zabbix server has access to the real macro value.
Secret macros cannot be used in trigger expressions.
使用秘密文本宏,宏值会被星号遮掩。
要将宏值设为秘密,点击 值 字段末尾的按钮并选择 秘密文本 选项:
保存配置后,将无法再查看该值。
要更改宏值,将鼠标悬停在 值 字段上并点击 设置新值 按钮(悬停时出现):
点击 设置新值 按钮(或更改宏值类型)时,当前值将被清除。 您可以通过点击 值 字段末尾的 箭头来恢复原始值(仅在保存新配置前可用)。 请注意,恢复原始值并不会显示它。
包含秘密宏的URL将无法工作,因为其中的宏将被解析为 "******"。
通过密码库秘密宏,宏的值存储在外部秘密管理软件(密码库)中。
要配置密码库秘密宏,请点击 值 字段末尾的按钮,并选择 密码库秘密 选项:
宏的值必须指向一个密码库秘密。 输入格式取决于密码库提供商。有关特定提供商的配置示例,请参阅:
Vault 密钥宏值由 Zabbix server 在每次刷新配置数据时从密钥库中检索,并随后存储在配置缓存中。
Zabbix proxy 在每次配置同步时从 Zabbix server 接收 Vault 密钥宏的值,并将它们存储在自己的配置缓存中。 proxy 从不直接从密钥库检索宏值。 这意味着 Zabbix proxy 在重新启动后无法开始数据收集,直到它从 Zabbix server 接收到配置更新。
要手动从密钥库刷新密钥值,请使用 secrets_reload
runtime control 选项。
必须在 Zabbix server 和 proxy 之间启用加密;否则会记录服务器警告消息。
如果无法成功检索宏值,使用该值的相应 监控项 将变为不受支持。
此列表提供了参数的位置,其中秘密宏值未被屏蔽。
自Zabbix 7.0.13起,如果间接引用,秘密宏值将在以下位置保持屏蔽。 例如,在媒体类型(脚本或Webhook参数)中使用的{监控项.KEY}, {监控项.KEY<1-9>}, {LLDRULE.KEY} built-in macros将解析为包含屏蔽秘密宏的监控项键,如net.tcp.port[******,******]
而非net.tcp.port[192.0.2.0,80]
。
Context | Parameter | |
---|---|---|
监控项, 监控项原型, LLD 规则 | ||
监控项 | Item key parameters | |
监控项 原型 | Item prototype key parameters | |
低级发现规则 | Discovery item key parameters | |
SNMP agent | SNMP community | |
Context name (SNMPv3) | ||
Security name (SNMPv3) | ||
Authentication passphrase (SNMPv3) | ||
Privacy passphrase (SNMPv3) | ||
HTTP agent | URL | |
Query fields | ||
Post | ||
Headers | ||
User name | ||
Password | ||
SSL key password | ||
脚本 | Parameters | |
Script | ||
浏览器 | Parameters | |
Script | ||
数据库监视器 | SQL query | |
TELNET agent | Script | |
User name | ||
Password | ||
SSH agent | Script | |
User name | ||
Password | ||
简单检查 | User name | |
Password | ||
JMX agent | User name | |
Password | ||
监控项 值预处理 | ||
JavaScript 预处理步骤 | Script | |
Web 场景 | ||
Web 场景 | Variable value | |
Header value | ||
URL | ||
Query field value | ||
Post field value | ||
Raw post | ||
Web 场景认证 | User | |
Password | ||
SSL key password | ||
连接器 | ||
连接器 | URL | |
Username | ||
Password | ||
Token | ||
HTTP proxy | ||
SSL certificate file | ||
SSL key file | ||
SSL key password | ||
网络发现 | ||
SNMP | SNMP community | |
Context name (SNMPv3) | ||
Security name (SNMPv3) | ||
Authentication passphrase (SNMPv3) | ||
Privacy passphrase (SNMPv3) | ||
全局脚本 | ||
Webhook | JavaScript script | |
JavaScript script parameter value | ||
Telnet | Username | |
Password | ||
SSH | Username | |
Password | ||
脚本 | Script | |
媒体类型 | ||
脚本 | Script parameters | |
Webhook | Parameters | |
IPMI 管理 | ||
主机 | Username | |
Password |