ノードのセキュア設定のリロードAPI

クラスタ内のノードのキーストアをリロードします。

リクエスト

POST /_nodes/reload_secure_settings

POST /_nodes/<node_id>/reload_secure_settings

前提条件

  • Elasticsearchのセキュリティ機能が有効になっている場合、このAPIを使用するにはmanage クラスタ特権を持っている必要があります。

説明

セキュア設定は、ディスク上のキーストアに保存されます。これらの設定の一部はリロード可能です。つまり、ディスク上で変更し、クラスタ内のノードを再起動せずにリロードできます。キーストア内のリロード可能なセキュア設定を更新した場合、このAPIを使用して各ノードでそれらの設定をリロードできます。

Elasticsearchのキーストアがパスワードで保護されており、単に難読化されていない場合、セキュア設定をリロードする際にキーストアのパスワードを提供する必要があります。クラスタ全体の設定をリロードする場合、すべてのノードのキーストアが同じパスワードで保護されていることを前提としています。この方法は、ノード間通信が暗号化されている場合にのみ許可されます。あるいは、APIにローカルにアクセスし、ノード固有のElasticsearchキーストアパスワードを渡すことで、各ノードのセキュア設定をリロードできます。

パスパラメータ

  • <node_id>
  • (オプション、文字列) 対象とするクラスタ内の特定のノードの名前。例えば、nodeId1,nodeId2。ノード選択オプションについては、ノード仕様を参照してください。

Elasticsearchはクラスタノード間で一貫したセキュア設定を要求しますが、この一貫性は強制されません。したがって、特定のノードをリロードすることは標準的ではありません。失敗したリロード操作を再試行する場合にのみ正当化されます。

リクエストボディ

  • secure_settings_password
  • (オプション、文字列) Elasticsearchキーストアのパスワード。

以下の例は、クラスタのすべてのノードでElasticsearchキーストアの共通パスワードを前提としています:

Python

  1. resp = client.nodes.reload_secure_settings(
  2. secure_settings_password="keystore-password",
  3. )
  4. print(resp)
  5. resp1 = client.nodes.reload_secure_settings(
  6. node_id="nodeId1,nodeId2",
  7. secure_settings_password="keystore-password",
  8. )
  9. print(resp1)

Js

  1. const response = await client.nodes.reloadSecureSettings({
  2. secure_settings_password: "keystore-password",
  3. });
  4. console.log(response);
  5. const response1 = await client.nodes.reloadSecureSettings({
  6. node_id: "nodeId1,nodeId2",
  7. secure_settings_password: "keystore-password",
  8. });
  9. console.log(response1);

コンソール

  1. POST _nodes/reload_secure_settings
  2. {
  3. "secure_settings_password":"keystore-password"
  4. }
  5. POST _nodes/nodeId1,nodeId2/reload_secure_settings
  6. {
  7. "secure_settings_password":"keystore-password"
  8. }

レスポンスには、ノードIDでキー付けされたマップであるnodesオブジェクトが含まれています。各値にはノードnameとオプションのreload_exceptionフィールドがあります。reload_exceptionフィールドは、リロードプロセス中にスローされた例外のシリアル化です(あれば)。

コンソール-結果

  1. {
  2. "_nodes": {
  3. "total": 1,
  4. "successful": 1,
  5. "failed": 0
  6. },
  7. "cluster_name": "my_cluster",
  8. "nodes": {
  9. "pQHNt5rXTTWNvUgOrdynKg": {
  10. "name": "node-0"
  11. }
  12. }
  13. }