用于安全设置的密钥存储库 (Keystore)
重要提示
APM Server 密钥库仅适用于 APM Server 二进制安装方法。
在配置 APM Server 时,您可能需要指定敏感设置,例如密码。相比于依赖文件系统权限来保护这些值,您可以使用 APM Server 密钥库安全地存储机密值,以便在配置设置中使用。
将键及其机密值添加到密钥库后,您可以在配置敏感设置时使用该键来代替机密值。
引用密钥的语法与环境变量的语法相同
${KEY}
其中 KEY 是键的名称。
例如,假设密钥存储包含一个名为 ES_PWD 的密钥,其值为 yourelasticsearchpassword
- 在配置文件中,使用
output.elasticsearch.password: "${ES_PWD}" - 在命令行中,使用:
-E "output.elasticsearch.password=\${ES_PWD}"
当 APM Server 解析配置时,它会在解析环境变量和其他变量之前解析密钥。
请注意,APM Server 密钥库与 Elasticsearch 密钥库不同。Elasticsearch 密钥库允许您按名称存储 elasticsearch.yml 值,而 APM Server 密钥库允许您指定可在 APM Server 配置中引用的任意名称。
要创建和管理密钥,请使用 keystore 命令。有关完整的命令语法(包括可选标志),请参阅 命令参考。
注意
keystore 命令必须由将要运行 APM Server 的同一用户运行。
要创建机密密钥存储,请使用
apm-server keystore create
APM Server 在由 path.data 配置设置定义的目录中创建密钥库。
要存储敏感值(例如 Elasticsearch 的身份验证凭据),请使用 keystore add 命令
apm-server keystore add ES_PWD
出现提示时,输入密钥的值。
要覆盖现有密钥的值,请使用 --force 标志
apm-server keystore add ES_PWD --force
要通过 stdin 传递值,请使用 --stdin 标志。您还可以使用 --force
cat /file/containing/setting/value | apm-server keystore add ES_PWD --stdin --force
要列出密钥库中定义的键,请使用
apm-server keystore list
要从密钥存储中删除密钥,请使用
apm-server keystore remove ES_PWD