Shield Settings
editShield Settings
editThe parameters listed in this section are configured in the config/elasticsearch.yml
configuration file.
Anonymous Access Settings [1.1.0] Added in 1.1.0.
editName | Default | Description |
---|---|---|
|
|
The username/principal of the anonymous user. Optional. |
|
- |
The roles that will be associated with the anonymous user. This setting must be set to enable anonymous access. |
|
|
When |
Document and Field Level Security Settings
editName | Default | Description |
---|---|---|
|
|
Set to |
Message Authentication Settings
editName | Default | Description |
---|---|---|
|
|
Sets the location of the
|
Realm Settings
editAll realms are configured under the shield.authc.realms
settings, keyed by their names as follows:
shield.authc.realms: realm1: type: file order: 0 ... realm2: type: ldap order: 1 ... realm3: type: active_directory order: 2 ... ...
Table 20. Common Settings to All Realms
Name | Required | Default | Description |
---|---|---|---|
|
yes |
- |
The type of the realm (currently |
|
no |
Integer.MAX_VALUE |
The priority of the realm within the realm chain |
|
no |
true |
Enable/disable the realm |
Table 21. File Realm Settings
Name | Required | Default | Description |
---|---|---|---|
|
no |
|
|
|
no |
|
The location of the users_roles file. |
|
no |
|
The time-to-live for cached user entries—user credentials are cached for this configured period of time. Defaults to |
|
no |
100000 |
The maximum number of user entries that can live in the cache at a given time. Defaults to 100,000. |
|
no |
|
(Expert Setting) The hashing algorithm that is used for the in-memory cached user credentials. See the Cache hash algorithms table for all possible values. |
Table 22. LDAP Realm Settings
Name | Required | Default | Description |
---|---|---|---|
|
yes |
- |
An LDAP URL in the format |
|
no |
|
The behavior to use when there are multiple LDAP URLs defined. For supported values see LDAP load balancing and failover types. |
|
no |
|
When using |
|
no |
Empty |
The DN of the user that will be used to bind to the LDAP and perform searches. If this is not specified, an anonymous bind will be attempted. |
|
no |
Empty |
The password for the user that will be used to bind to the LDAP. |
|
yes * |
- |
The DN template that replaces the user name with the string |
|
no |
|
Specifies the attribute to examine on the user for group membership. The default is |
|
yes * |
- |
Specifies a container DN to search for users. |
|
no |
|
The scope of the user search. Valid values are |
|
no |
|
The attribute to match with the username presented to Shield. |
|
no |
|
The maximum number of connections to the LDAP server to allow in the connection pool. |
|
no |
|
The initial number of connections to create to the LDAP server on startup. |
|
no |
|
Flag to enable or disable a health check on LDAP connections in the connection pool. Connections will be checked in the background at the specified interval. |
|
no |
Value of |
The distinguished name to be retrieved as part of the health check. If |
|
no |
|
The interval to perform background checks of connections in the pool. |
|
no |
- |
The container DN to search for groups in which the user has membership. When this element is absent, Shield searches for the attribute specified by |
|
no |
|
Specifies whether the group search should be |
|
no |
See description |
When not set, the realm will search for |
|
no |
Empty |
Specifies the user attribute that will be fetched and provided as a parameter to the filter. If not set, the user DN is passed into the filter. |
|
no |
false |
Takes a boolean variable. When this element is set to |
|
no |
|
The location for the YAML role mapping configuration file. |
|
no |
|
Boolean value that specifies whether Shield should follow referrals returned by the LDAP server. Referrals are URLs returned by the server that are to be used to continue the LDAP operation (e.g. search). |
|
no |
"5s" - for 5 seconds |
The TCP connect timeout period for establishing an LDAP connection. An |
|
no |
"5s" - for 5 seconds |
The TCP read timeout period after establishing an LDAP connection. An |
|
no |
"5s" - for 5 seconds |
The LDAP Server enforced timeout period for an LDAP search. An |
|
no |
true |
Performs hostname verification when using |
|
no |
|
Specified the time-to-live for cached user entries (a user and its credentials will be cached for this configured period of time). (use the standard Elasticsearch time units). |
|
no |
100000 |
Specified the maximum number of user entries that can live in the cache at a given time. |
|
no |
|
(Expert Setting) Specifies the hashing algorithm that will be used for the in-memory cached user credentials (see Cache hash algorithms table for all possible values). |
user_dn_templates
is required to operate in user template mode and user_search.base_dn
is required to operated in user search mode. Only one is required for a given realm configuration. For more information on the different modes, see ldap realms.
Table 23. Active Directory Realm Settings
Name | Required | Default | Description |
---|---|---|---|
|
no |
|
A URL in the format |
|
no |
|
The behavior to use when there are multiple LDAP URLs defined. For supported values see LDAP load balancing and failover types. |
|
no |
|
When using |
|
yes |
- |
The domain name of Active Directory. The cluster can derive the URL and |
|
no |
false |
Takes a boolean variable. When this element is set to |
|
no |
|
The location for the YAML role mapping configuration file. |
|
no |
Root of Active Directory |
The context to search for a user. The default value for this element is the root of the Active Directory domain. |
|
no |
|
Specifies whether the user search should be |
|
no |
See description |
Specifies a filter to use to lookup a user given a username. The default filter looks up |
|
no |
Root of Active Directory |
The context to search for groups in which the user has membership. The default value for this element is the root of the the Active Directory domain |
|
no |
|
Specifies whether the group search should be |
|
no |
|
The TCP connect timeout period for establishing an LDAP connection. An |
|
no |
|
The TCP read timeout period after establishing an LDAP connection. An |
|
no |
|
The LDAP Server enforced timeout period for an LDAP search. An |
|
no |
true |
Performs hostname verification when using |
|
no |
|
Specified the time-to-live for cached user entries (a user and its credentials will be cached for this configured period of time). (use the standard Elasticsearch time units). |
|
no |
100000 |
Specified the maximum number of user entries that can live in the cache at a given time. |
|
no |
|
(Expert Setting) Specifies the hashing algorithm that will be used for the in-memory cached user credentials (see Cache hash algorithms table for all possible values). |
Table 24. PKI Realm Settings
Name | Required | Default | Description |
---|---|---|---|
|
no |
|
The regular expression pattern used to extract the username from the certificate DN. The first match group is the used as the username. Default is |
|
no |
|
The path of a truststore to use. The default truststore is the one defined by SSL/TLS settings |
|
no |
- |
The password to the truststore. Must be provided if |
|
no |
SunX509 |
Algorithm for the trustsore. Default is |
|
no |
|
Specifies the location for the YAML role mapping configuration file. |
Roles Settings
editName | Default | Description |
---|---|---|
|
|
The location of the roles definition file. |
TLS/SSL Settings
editTable 25. Shield TLS/SSL Settings
Name | Default | Description |
---|---|---|
|
None |
Absolute path to the keystore that holds the private keys |
|
None |
Password to the keystore |
|
Same value as |
Password for the private key in the keystore |
|
SunX509 |
Format for the keystore |
|
|
If not set, this setting defaults to |
|
|
Password to the truststore |
|
SunX509 |
Format for the truststore |
|
|
Protocol for security: |
|
|
Supported protocols with versions. Valid protocols: |
|
|
Supported cipher suites can be found in Oracle’s Java Cryptography Architecture documentation. Cipher suites using key lengths greater than 128 bits require the JCE Unlimited Strength Jurisdiction Policy Files. |
|
|
Performs hostname verification on transport connections. This is enabled by default to protect against man in the middle attacks. |
|
|
A reverse DNS lookup is necessary to find the hostname when connecting to a node via an IP Address. If this is disabled and IP addresses are used to connect to a node, the IP address must be specified as a |
|
|
Number of SSL Sessions to cache in order to support session resumption. Setting the value to |
|
|
The time after the creation of a SSL session before it times out. (uses the standard Elasticsearch time units). |
|
|
Set this parameter to |
|
|
Require client side certificates for transport protocol. Valid values are |
|
None |
List of IP addresses to allow |
|
None |
List of IP addresses to deny |
|
|
Set this parameter to |
|
|
Require client side certificates for HTTP. Valid values are |
|
None |
List of IP addresses to allow just for HTTP |
|
None |
List of IP addresses to deny just for HTTP |
Table 26. Shield TLS/SSL settings per profile
Name | Default | Description |
---|---|---|
|
Same as |
Setting this parameter to true will enable SSL/TLS for this profile; false will disable SSL/TLS for this profile. |
|
None |
Absolute path to the truststore of this profile |
|
None |
Password to the truststore |
|
SunX509 |
Format for the truststore |
|
None |
Absolute path to the keystore of this profile |
|
None |
Password to the keystore |
|
Same value as |
Password for the private key in the keystore |
|
SunX509 |
Format for the keystore |
|
|
Number of SSL Sessions to cache in order to support session resumption. Setting the value to |
|
|
The time after the creation of a SSL session before it times out. (uses the standard Elasticsearch time units). |
|
None |
List of IP addresses to allow for this profile |
|
None |
List of IP addresses to deny for this profile |
|
|
Require client side certificates. Valid values are |
|
|
Defines allowed actions on this profile, allowed values: |
|
|
Supported cipher suites can be found in Oracle’s Java Cryptography Architecture documentation. Cipher suites using key lengths greater than 128 bits require the JCE Unlimited Strength Jurisdiction Policy Files. |
|
|
Protocol for security: |
|
|
Supported protocols with versions. Valid protocols: |