节点重新加载安全设置 API

编辑

节点重新加载安全设置 API编辑

重新加载集群中节点上的密钥库。

请求编辑

POST /_nodes/reload_secure_settings
POST /_nodes/<node_id>/reload_secure_settings

先决条件编辑

  • 如果启用了 Elasticsearch 安全功能,您必须拥有 manage 集群权限 才能使用此 API。

描述编辑

安全设置 存储在磁盘上的密钥库中。其中某些设置是 可重新加载的。也就是说,您可以在磁盘上更改它们并重新加载它们,而无需重新启动集群中的任何节点。当您在密钥库中更新了可重新加载的安全设置后,您可以使用此 API 在每个节点上重新加载这些设置。

当 Elasticsearch 密钥库受密码保护而不是简单地被混淆时,您必须在重新加载安全设置时提供密钥库的密码。重新加载整个集群的设置假定所有节点的密钥库都受相同密码保护;此方法仅在 节点间通信已加密 时才允许。或者,您可以通过本地访问 API 并传递特定于节点的 Elasticsearch 密钥库密码来重新加载每个节点上的安全设置。

路径参数编辑

<node_id>
(可选,字符串) 要定位的集群中特定节点的名称。例如,nodeId1,nodeId2。有关节点选择选项,请参见 节点规范

Elasticsearch 要求集群节点上的安全设置一致,但不会强制执行此一致性。因此,重新加载特定节点并不标准。只有在重试失败的重新加载操作时才合理。

请求正文编辑

secure_settings_password
(可选,字符串) Elasticsearch 密钥库的密码。

示例编辑

以下示例假设集群中每个节点上的 Elasticsearch 密钥库都有一个通用密码

POST _nodes/reload_secure_settings
{
  "secure_settings_password":"keystore-password"
}
POST _nodes/nodeId1,nodeId2/reload_secure_settings
{
  "secure_settings_password":"keystore-password"
}

响应包含 nodes 对象,它是一个映射,以节点 ID 为键。每个值都有节点 name 和一个可选的 reload_exception 字段。如果在重新加载过程中抛出了任何异常,则 reload_exception 字段是该异常的序列化。

{
  "_nodes": {
    "total": 1,
    "successful": 1,
    "failed": 0
  },
  "cluster_name": "my_cluster",
  "nodes": {
    "pQHNt5rXTTWNvUgOrdynKg": {
      "name": "node-0"
    }
  }
}