使用 API 密钥授予访问权限
编辑使用 API 密钥授予访问权限
编辑您可以使用 API 密钥来授予对 Elasticsearch 资源的访问权限,而不是使用用户名和密码。您可以设置 API 密钥的过期时间,并且可以显式地使它们失效。任何拥有 manage_api_key
或 manage_own_api_key
集群权限的用户都可以创建 API 密钥。
APM Server 实例通常会将收集到的数据和监控信息都发送到 Elasticsearch。如果您将两者都发送到同一个集群,则可以使用相同的 API 密钥。对于不同的集群,您需要为每个集群使用一个 API 密钥。
出于安全原因,我们建议每个 APM Server 实例使用唯一的 API 密钥。您可以为每个用户创建尽可能多的 API 密钥。
要打开API 密钥,请在主菜单中找到堆栈管理,或使用全局搜索字段。点击创建 API 密钥。
输入 API 密钥的名称,然后选择限制权限。在角色描述符框中,为新的 API 密钥分配相应的权限。例如:
{ "apm_writer": { "cluster": ["monitor"], "index": [ { "names": ["traces-apm*","logs-apm*", "metrics-apm*"], "privileges": ["auto_configure", "create_doc"] } ] }, "apm_sourcemap": { "index": [ { "names": [".apm-source-map"], "privileges": ["read"] } ] }, "apm_agentcfg": { "index": [ { "names": [".apm-agent-configuration"], "privileges": ["read"], "allow_restricted_indices": true } ] } }
此示例仅提供写入数据的权限。有关其他权限和信息,请参阅使用功能角色。
要设置 API 密钥的过期日期,请选择过期时间并输入 API 密钥的有效期(天数)。
点击创建 API 密钥。在下拉菜单中,切换到Beats 并复制 API 密钥。
您现在可以在您的 apm-server.yml
配置文件中使用此 API 密钥
要打开API 密钥,请在主菜单中找到堆栈管理,或使用全局搜索字段。点击创建 API 密钥。
输入 API 密钥的名称,然后选择限制权限。在角色描述符框中,为新的 API 密钥分配相应的权限。例如:
{ "apm_monitoring": { "index": [ { "names": [".monitoring-beats-*"], "privileges": ["create_index", "create_doc"] } ] } }
此示例仅提供发布监控数据的权限。有关其他权限和信息,请参阅使用功能角色。
要设置 API 密钥的过期日期,请选择过期时间并输入 API 密钥的有效期(天数)。
点击创建 API 密钥。在下拉菜单中,切换到Beats 并复制 API 密钥。
您现在可以在您的 apm-server.yml
配置文件中按如下方式使用此 API 密钥
您还可以使用 Elasticsearch 的创建 API 密钥 API 来创建一个新的 API 密钥。例如:
POST /_security/api_key { "name": "apm_host001", "role_descriptors": { "apm_writer": { "cluster": ["monitor"], "index": [ { "names": ["traces-apm*","logs-apm*", "metrics-apm*"], "privileges": ["auto_configure", "create_doc"] } ] }, "apm_sourcemap": { "index": [ { "names": [".apm-source-map"], "privileges": ["read"] } ] }, "apm_agentcfg": { "index": [ { "names": [".apm-agent-configuration"], "privileges": ["read"], "allow_restricted_indices": true } ] } } }
API 密钥的名称 |
|
授予的权限,请参阅使用功能角色 |
有关更多信息,请参阅创建 API 密钥 参考文档。
有关更多信息,请参阅 Elasticsearch API 密钥文档