Security Parameters
Describes Kafka REST security parameters.
By default, Kafka REST is secure when installed on a secure cluster. A secure cluster is a cluster installed with the default security (MapR-SASL) enabled. Default security provides authentication, encryption, and impersonation for Kafka REST.
Configure security for Kafka REST through the security parameters in the
kafka-rest.properties
file.
/opt/mapr/kafka-rest/kafka-rest-<version>/config/kafka-rest.properties
NOTE
Ensure that both a ssl_keystore
and a ssl_truststore
file have been created. Parameter | Description | Type | Default |
---|---|---|---|
authentication.cookie.expiration | Authentication cookie expiration time in seconds. | long | 7200 (2 hours) |
authentication.enable | Whether or not to enable authentication. | boolean | false |
impersonation.enable | Whether or not to enable impersonation. If disabled, all manipulation will be performed from the admin of cluster user. | boolean | false |
listeners | Comma-separated list of listeners that listen for API requests over either HTTP or HTTPS. Each listener must include the protocol, hostname, and port. For example: http://localhost:8082 | list | none |
ssl.cipher.suites | A list of SSL cipher suites. This list is a comma-separated list. Leave blank to use Jetty’s default. | list | none |
ssl.cipher.suites.exclude | A list of disabled SSL cipher suites. This is a comma-separated list. Leave blank to use Jetty’s default. | list |
|
ssl.client.auth | Specifies whether or not to acquire the HTTPS client to authenticate via the server’s trust store. | boolean | false |
ssl.disabled.protocols | The list of SSL protocols that will not be accepted by clients. This is a comma-separated list. | list |
|
ssl.enabled.protocols | The list of SSL protocols that can be accepted from clients. The list is a comma-separated list. Leave blank to use Jetty’s defaults. | list | empty |
ssl.endpoint.identification.algorithm | The endpoint identification algorithm to validate the server hostname using the server certificate. IMPORTANT: Jetty requires that the key's CN, stored in the keystore, must match the FQDN if ssl_endpoint_identification_algorithm=https. Leave blank to use Jetty’s default. | string | none |
ssl.key.password | The password of the private key in the keystore file. This parameter should
be taken from the /opt/mapr/conf/ssl-client.xml file. If this parameter is not
set, the property value is obtained from the ssl-client.xml file. NOTE If the
ssl-client.xml file is changed, Kafka REST must be restarted. |
string | empty |
ssl.keymanager.algorithm | The algorithm used by the key manager factory for SSL connections. Leave blank to use Jetty’s default. | string | empty |
ssl.keystore.location | Location of the keystore file. This parameter should be taken from the
/opt/mapr/conf/ssl-client.xml file. If this parameter is not set, the property
value is obtained from the ssl-client.xml file. NOTE If the ssl-client.xml file is
changed, Kafka REST must be restarted. |
string | empty |
ssl.keystore.password | The store password for the keystore file. This parameter should be taken
from the /opt/mapr/conf/ssl-client.xml file. If this parameter is not set, the
property value is obtained from the ssl-client.xml file. NOTE If the
ssl-client.xml file is changed, Kafka REST must be restarted. |
string | empty |
ssl.keystore.type | The type of keystore file. | string | JKS |
ssl.protocol | The SSL protocol used to generate the SslContextFactory. | string | TLS-v1.2- |
ssl.provider | The SSL security provider name. Leave blank to use Jetty’s default. | string | none |
ssl.trustmanager.algorithm | The algorithm used by the trust manager factory for SSL connections. Leave blank to use Jetty’s default. | string | none |
ssl.truststore.location | Location of the trust store. Required only to authenticate HTTPS clients. | string | empty |
ssl.truststore.password | The store password for the trust store file. | string | empty |
ssl.truststore.type | The type of trust store file. | string | JKS |
ssl.trustallcerts.enable | Set to true if you want to disable certificates verification. | boolean | false |
headers.file | The option is used to specify the XML file that contains security and custom headers. The headers will be added to a response by the Jetty server. | string | empty |