[comment]: # translation:outdated

[comment]: # ({9a839c05-f9e8f670})
# 4 加密用户宏

[comment]: # ({/9a839c05-f9e8f670})

[comment]: # ({new-8b3f0169})
#### Overview

Zabbix provides two options for protecting sensitive information in user macro values:

-   Secret text
-   Vault secret

::: noteclassic
While the value of a secret macro is hidden, it can be revealed through 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.
See [locations](#unmasked-locations) where secret macro values are unmasked.
:::

Secret macros cannot be used in trigger expressions.

[comment]: # ({/new-8b3f0169})

[comment]: # ({8f01af7b-740aad18})
#### 秘密文本

秘密文本宏的值被星号掩盖。

要将宏值设置为“秘密”，请单击值字段末尾的按钮，然后选择 *秘密文本* 选项。

![](../../../../assets/en/manual/config/macros/macro_value_type.png) 

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

宏值将显示为星号。

要输入新值，请将鼠标悬停在值字段上，然后点击“设置新值”按钮（鼠标悬停时显示）。

![](../../../../assets/en/manual/config/macros/macro_type_secret2.png) 

如果更改宏值类型或点击 *设置新值*，当前值将被删除。要恢复原始值，请使用值字段右端的反向箭头按钮 ![](../../../../assets/en/manual/config/macros/macro_type_secret3.png) （仅在保存新配置之前可用）。恢复值不会使其暴露出来。

::: noteclassic
包含秘密宏的URL将无法工作，因为它们中的宏将解析为 "\*\*\*\*\*\*"。
::: 

[comment]: # ({/8f01af7b-740aad18})

[comment]: # ({33136d45-480b89ed})
#### 保险库秘密

使用保险库秘密宏，实际的宏值存储在外部的秘密管理软件（保险库）中。

要配置保险库秘密宏，请点击值字段末尾的按钮，然后选择 *保险库秘密* 选项。

![](../../../../assets/en/manual/config/macros/macro_value_type1.png) 

宏值应指向一个保险库秘密。输入格式取决于保险库提供商。有关特定提供商的配置示例，请参见：

- [HashiCorp](/manual/config/secrets/hashicorp#user_macro_values)
- [CyberArk](/manual/config/secrets/cyberark#user_macro_values)

[comment]: # ({/33136d45-480b89ed})

[comment]: # ({8672e4e0-94cba921})
保险库秘密值在每次 Zabbix 服务器刷新配置数据时被检索，并存储在配置缓存中。

要手动触发从保险库刷新秘密值，请使用 'secrets_reload' 命令行选项 [（选项）](/manual/concepts/server#runtime_control)。

Zabbix proxy 在每次配置同步时从 Zabbix server接收保险库秘密宏的值，并将其存储在自己的配置缓存中。proxy从不直接从保险库检索宏值。这意味着在proxy重新启动后，直到第一次从 Zabbix server接收配置数据更新之前，proxy无法开始数据收集。

Zabbix server和proxy之间必须启用加密；否则，server会记录警告消息。

::: notewarning
如果无法成功检索宏值，则使用该值的相应监控项将变为不支持状态。
:::

[comment]: # ({/8672e4e0-94cba921})

[comment]: # ({4b496e06-03aa95bd})
#### 未掩码的位置

此列表提供了秘密宏值未掩码的参数位置。

|内容|<|参数|
|-|----------|------------------------------|
|**Items**|<|<|
| |Item|*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*|
|^|^|*Username*|
|^|^|*Password*|
|^|^|*SSL key password*|
|^|Script|*Parameters*|
|^| |*Script*|
|^|Browser|*Parameters*|
|^| |*Script*|
|^|Database monitor|*SQL query*|
|^|Telnet|*Script*|
|^| |*Username, password*|
|^|SSH|Script|
|^| |*Username, password*|
|^|Simple check|*Username, password*|
|^|JMX|*Username, password*|
|**Item 值预处理**|<|<|
| |JavaScript preprocessing step|*Script*|
|**Web 场景**|<|<|
| |Web 场景|*Variable value*|
|^| |*Header value*|
|^|^|*URL*|
|^|^|*Query field value*|
|^|^|*Post field value*|
|^|^|*Raw post*|
|^|Web 场景<br>授权|*User*|
|^| |*Password*|
|^|^|*SSL key password*|
|**Connectors**|<|<|
| |Connector|*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)|
|**Global scripts**|<|<|
| |Webhook|*JavaScript script*|
|^| |*JavaScript script parameter value*|
|^|Telnet| |
|^| |*Username, password*|
|^|SSH| |
|^| |*Username, password*|
|^|Script|*Script*|
|**媒介类型**|<|<|
| |Script|*Script parameters*|
|^|Webhook|*Parameters*|
|**IPMI**|<|<|
| | |*Username*|
|^|^|*Password*|

[comment]: # ({/4b496e06-03aa95bd})
