Configure authentication credentials
editConfigure authentication credentials
editWhen sending data to a secured cluster through the elasticsearch
output, Auditbeat must either provide basic authentication credentials
or present a client certificate.
To configure authentication credentials for Auditbeat:
-
Create a writer role that has the following privileges:
-
Cluster:
manage_index_templatesandmonitor -
Index:
writeandcreate_indexon the Auditbeat indices
You can create roles from the Management / Roles UI in Kibana or through the
roleAPI. For example, the following request creates a role namedauditbeat_writer: -
Cluster:
-
Assign the writer role to the user that Auditbeat will use to connect to Elasticsearch. If you plan to load the pre-built Kibana dashboards, also assign the
kibana_userrole. If you plan to load machine learning jobs, assign themachine_learning_adminrole.-
To authenticate as a native user, create a user for Auditbeat to use internally and assign it the writer role, plus any other roles that are needed.
You can create users from the Management / Users UI in Kibana or through the
userAPI. For example, following request creates a user namedauditbeat_internalthat has theauditbeat_writerandkibana_userroles:POST /_xpack/security/user/auditbeat_internal { "password" : "YOUR_PASSWORD", "roles" : [ "auditbeat_writer","kibana_user"], "full_name" : "Internal Auditbeat User" } -
To use PKI authentication, assign the writer role, plus any other roles that are needed, in the
role_mapping.ymlconfiguration file. Specify the user by the distinguished name that appears in its certificate:auditbeat_writer: - "cn=Internal Auditbeat User,ou=example,o=com" kibana_user: - "cn=Internal Auditbeat User,ou=example,o=com"
For more information, see Using Role Mapping Files.
-
-
In the Auditbeat configuration file, specify authentication credentials for the
elasticsearchoutput:-
To use basic authentication, configure the
usernameandpasswordsettings. For example, the following Auditbeat output configuration uses the nativeauditbeat_internaluser to connect to Elasticsearch:output.elasticsearch: hosts: ["localhost:9200"] username: "auditbeat_internal" password: "YOUR_PASSWORD"
You created this user earlier.
The example shows a hard-coded password, but you should store sensitive values in the secrets keystore.
-
To use PKI authentication, configure the
certificateandkeysettings:
-