4 加密用户宏

概述

Zabbix 提供了两种用于保护用户宏值中敏感信息的选项:

  • 密文
  • Vault 密钥

虽然密钥宏的值是隐藏的,但仍可通过在监控项中使用而被显示出来。 例如,在外部脚本中,可使用引用密钥宏的 echo 语句将宏值显示到前端,因为 Zabbix 服务器可以访问宏的真实值。 请参见密钥宏值会被取消掩码的位置

密钥宏不能用于触发器表达式。

密文

对于密文宏,宏值会以星号进行掩码显示。

要将宏值设为密文,请点击 字段末尾的按钮,并选择 密文 选项:

配置保存后,将无法再查看该值。

要更改宏值,请将鼠标悬停在 字段上,然后点击 设置新值 按钮(悬停时显示):

当您点击 设置新值 按钮时(或更改宏值类型时),当前值将被清除。
您可以点击 字段末尾的 箭头来恢复原始值(仅在保存新配置之前可用)。
请注意,恢复原始值并不会将其显示出来。

包含密文宏的 URL 将无法工作,因为其中的宏会被解析为 "******"。

Vault 密钥

使用 Vault 密钥宏时,宏值存储在外部密钥管理软件(vault)中。

要配置 Vault 密钥宏,请单击 字段末尾的按钮,然后选择 Vault secret 选项:

宏值必须指向 vault 密钥。 输入格式取决于 vault 提供程序。有关特定提供程序的配置示例,请参见:

Vault 密钥宏值由 Zabbix 服务器(以及 Zabbix proxy,如果 Resolve secret vault macros by 设置为 Zabbix server and proxy)在每次刷新配置数据时从 vault 中获取,然后存储在配置缓存中。
Zabbix 服务器和 Zabbix proxy 可以使用不同的 vault。

如果 Resolve secret vault macros by 设置为 Zabbix server,则 vault 密钥仅由服务器获取,而 Zabbix proxy 会在每次配置同步时从 Zabbix 服务器接收 Vault 密钥宏的值,并将其存储在自己的配置缓存中。
这意味着,Zabbix proxy 在重启后必须先接收到来自 Zabbix 服务器的配置更新,然后才能开始采集数据。

要手动从 vault 刷新密钥值,请使用 secrets_reload 运行时控制 选项(仅服务器)。

必须在 Zabbix 服务器与 proxy 之间启用加密;否则会记录一条服务器警告消息。

如果某个宏值无法成功获取,则使用该值的相应监控项将变为不支持。

未屏蔽的位置

此列表提供了密文宏值会以未屏蔽形式显示的参数位置。

如果通过间接引用使用密文宏值,则在以下位置中它们仍将保持屏蔽状态。
例如,在媒体类型(脚本或 webhook 参数)中使用的 {ITEM.KEY}、{ITEM.KEY<1-9>}、{LLDRULE.KEY} 内置宏 将解析为包含已屏蔽密文宏的监控项键值,例如 net.tcp.port[******,******],而不是 net.tcp.port[192.0.2.0,80]

上下文 参数
监控项、监控项原型、LLD 规则
监控项 监控项键值参数
监控项原型 监控项原型键值参数
低级别发现规则 发现监控项键值参数
SNMP agent SNMP community
上下文名称 (SNMPv3)
安全名称 (SNMPv3)
认证口令 (SNMPv3)
隐私口令 (SNMPv3)
HTTP agent URL
查询字段
请求体
标头
用户名
密码
SSL 密钥密码
脚本 参数
脚本
浏览器 参数
脚本
数据库监控 SQL 查询
TELNET agent 脚本
用户名
密码
SSH agent 脚本
用户名
密码
简单检查 用户名
密码
JMX agent 用户名
密码
监控项值预处理
JavaScript 预处理步骤 脚本
Web 场景
Web 场景 变量值
标头值
URL
查询字段值
POST 字段值
原始 POST 数据
Web 场景认证 用户
密码
SSL 密钥密码
连接器
连接器 URL
用户名
密码
令牌
HTTP proxy
SSL 证书文件
SSL 密钥文件
SSL 密钥密码
网络发现
SNMP SNMP community
上下文名称 (SNMPv3)
安全名称 (SNMPv3)
认证口令 (SNMPv3)
隐私口令 (SNMPv3)
全局脚本
Webhook JavaScript 脚本
JavaScript 脚本参数值
Telnet 用户名
密码
SSH 用户名
密码
脚本 脚本
媒体类型
脚本 脚本参数
Webhook 参数
IPMI 管理
主机 用户名
密码