使用 API 密钥授予访问权限
编辑使用 API 密钥授予访问权限
编辑您可以使用 API 密钥来授予对 Elasticsearch 资源的访问权限,而不是使用用户名和密码。您可以设置 API 密钥在特定时间过期,并且可以显式使其失效。任何具有 manage_api_key
或 manage_own_api_key
集群权限的用户都可以创建 API 密钥。
Packetbeat 实例通常会将收集的数据和监控信息发送到 Elasticsearch。如果要将两者发送到同一集群,则可以使用同一个 API 密钥。对于不同的集群,每个集群需要使用一个 API 密钥。
出于安全原因,我们建议每个 Packetbeat 实例使用唯一的 API 密钥。您可以根据需要为每个用户创建任意数量的 API 密钥。
在为 Packetbeat 创建 API 密钥之前,请查看 授予用户对安全资源的访问权限。
创建用于发布的 API 密钥
编辑要创建用于将数据写入 Elasticsearch 的 API 密钥,请使用 创建 API 密钥 API,例如
POST /_security/api_key { "name": "packetbeat_host001", "role_descriptors": { "packetbeat_writer": { "cluster": ["monitor", "read_ilm", "read_pipeline"], "index": [ { "names": ["packetbeat-*"], "privileges": ["view_index_metadata", "create_doc", "auto_configure"] } ] } } }
API 密钥的名称 |
|
授予的权限,请参阅 授予用户对安全资源的访问权限 |
请参阅 创建发布用户,以获取发布事件所需的权限列表。
返回值将类似于这样
您现在可以在您的 packetbeat.yml
配置文件中使用此 API 密钥,如下所示
格式为 |
创建用于监控的 API 密钥
编辑要创建用于将监控数据发送到 Elasticsearch 的 API 密钥,请使用 创建 API 密钥 API,例如
POST /_security/api_key { "name": "packetbeat_host001", "role_descriptors": { "packetbeat_monitoring": { "cluster": ["monitor"], "index": [ { "names": [".monitoring-beats-*"], "privileges": ["create_index", "create"] } ] } } }
API 密钥的名称 |
|
授予的权限,请参阅 授予用户对安全资源的访问权限 |
请参阅 创建监控用户,以获取发送监控数据所需的权限列表。
返回值将类似于这样
您现在可以在您的 packetbeat.yml
配置文件中使用此 API 密钥,如下所示
格式为 |
了解有关 API 密钥的更多信息
编辑有关更多信息,请参阅 Elasticsearch API 密钥文档