Encrypting Sensitive Data in Watcher

edit

Watches might have access to sensitive data such as HTTP basic authentication information or details about your SMTP email service. You can encrypt this data by generating a key and adding some secure settings on each node in your cluster.

To encrypt sensitive data in Watcher:

  1. Use the syskeygen command to create a system key file.
  2. Copy the system_key file to all of the nodes in your cluster.

    The system key is a symmetric key, so the same key must be used on every node in the cluster.

  3. Set the xpack.watcher.encrypt_sensitive_data setting:

    xpack.watcher.encrypt_sensitive_data: true
  4. Set the xpack.watcher.encryption_key setting in the Elasticsearch keystore on each node in the cluster.

    For example, run the following command to import the system_key file on each node:

    bin/elasticsearch-keystore add-file xpack.watcher.encryption_key <filepath>/system_key
  5. Delete the system_key file on each node in the cluster.

Existing watches are not affected by these changes. Only watches that you create after following these steps have encryption enabled.