Key | Default | Type | Description
--- | --- | --- | ---
##### security.context.factory.classes | "org.apache.flink.runtime.security.contexts.HadoopSecurityContextFactory";"org.apache.flink.runtime.security.contexts.NoOpSecurityContextFactory" | List<String> | List of factories that should be used to instantiate a security context. If multiple are configured, Flink will use the first compatible factory. You should have a NoOpSecurityContextFactory in this list as a fallback.
##### security.delegation.token.provider.<serviceName>.enabled | true | Boolean | Controls whether to obtain credentials for services when security is enabled. By default, credentials for all supported services are retrieved when those services are configured, but it's possible to disable that behavior if it somehow conflicts with the application being run.
##### security.delegation.tokens.enabled | true | Boolean | Indicates whether to start delegation tokens system for external services.
##### security.delegation.tokens.renewal.retry.backoff | 1 h | Duration | The time period how long to wait before retrying to obtain new delegation tokens after a failure.
##### security.delegation.tokens.renewal.time-ratio | 0.75 | Double | Ratio of the tokens's expiration time when new credentials should be re-obtained.
##### security.kerberos.access.hadoopFileSystems | (none) | List<String> | A semicolon-separated list of Kerberos-secured Hadoop filesystems Flink is going to access. For example, security.kerberos.access.hadoopFileSystems=hdfs://namenode2:9002;hdfs://namenode3:9003. The JobManager needs to have access to these filesystems to retrieve the security tokens.
##### security.kerberos.krb5-conf.path | (none) | String | Specify the local location of the krb5.conf file. If defined, this conf would be mounted on the JobManager and TaskManager containers/pods for Kubernetes and Yarn. Note: The KDC defined needs to be visible from inside the containers.
##### security.kerberos.login.contexts | (none) | String | A comma-separated list of login contexts to provide the Kerberos credentials to (for example, `Client,KafkaClient` to use the credentials for ZooKeeper authentication and for Kafka authentication)
##### security.kerberos.login.keytab | (none) | String | Absolute path to a Kerberos keytab file that contains the user credentials.
##### security.kerberos.login.principal | (none) | String | Kerberos principal name associated with the keytab.
##### security.kerberos.login.use-ticket-cache | true | Boolean | Indicates whether to read from your Kerberos ticket cache.
##### security.kerberos.relogin.period | 1 min | Duration | The time period when keytab login happens automatically in order to always have a valid TGT.
##### security.module.factory.classes | "org.apache.flink.runtime.security.modules.HadoopModuleFactory";"org.apache.flink.runtime.security.modules.JaasModuleFactory";"org.apache.flink.runtime.security.modules.ZookeeperModuleFactory" | List<String> | List of factories that should be used to instantiate security modules. All listed modules will be installed. Keep in mind that the configured security context might rely on some modules being present.
##### security.ssl.algorithms | "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384" | String | The comma separated list of standard SSL algorithms to be supported. Read more here
##### security.ssl.internal.cert.fingerprint | (none) | String | The sha1 fingerprint of the internal certificate. This further protects the internal communication to present the exact certificate used by Flink.This is necessary where one cannot use private CA(self signed) or there is internal firm wide CA is required
##### security.ssl.internal.close-notify-flush-timeout | -1 | Integer | The timeout (in ms) for flushing the `close_notify` that was triggered by closing a channel. If the `close_notify` was not flushed in the given timeout the channel will be closed forcibly. (-1 = use system default)
##### security.ssl.internal.enabled | false | Boolean | Turns on SSL for internal network communication. Optionally, specific components may override this through their own settings (rpc, data transport, REST, etc).
##### security.ssl.internal.handshake-timeout | -1 | Integer | The timeout (in ms) during SSL handshake. (-1 = use system default)
##### security.ssl.internal.key-password | (none) | String | The secret to decrypt the key in the keystore for Flink's internal endpoints (rpc, data transport, blob server).
##### security.ssl.internal.keystore | (none) | String | The Java keystore file with SSL Key and Certificate, to be used Flink's internal endpoints (rpc, data transport, blob server).
##### security.ssl.internal.keystore-password | (none) | String | The secret to decrypt the keystore file for Flink's for Flink's internal endpoints (rpc, data transport, blob server).
##### security.ssl.internal.keystore-type | JVM default keystore type | String | The type of keystore for Flink's internal endpoints (rpc, data transport, blob server).
##### security.ssl.internal.session-cache-size | -1 | Integer | The size of the cache used for storing SSL session objects. According to here, you should always set this to an appropriate number to not run into a bug with stalling IO threads during garbage collection. (-1 = use system default).
##### security.ssl.internal.session-timeout | -1 | Integer | The timeout (in ms) for the cached SSL session objects. (-1 = use system default)
##### security.ssl.internal.truststore | (none) | String | The truststore file containing the public CA certificates to verify the peer for Flink's internal endpoints (rpc, data transport, blob server).
##### security.ssl.internal.truststore-password | (none) | String | The password to decrypt the truststore for Flink's internal endpoints (rpc, data transport, blob server).
##### security.ssl.internal.truststore-type | JVM default keystore type | String | The type of truststore for Flink's internal endpoints (rpc, data transport, blob server).
##### security.ssl.protocol | "TLSv1.2" | String | The SSL protocol version to be supported for the ssl transport. Note that it doesn’t support comma separated list.
##### security.ssl.provider | "JDK" | String | The SSL engine provider to use for the ssl transport: `JDK`: default Java-based SSL engine `OPENSSL`: openSSL-based SSL engine using system libraries `OPENSSL` is based on netty-tcnative and comes in two flavours: dynamically linked: This will use your system's openSSL libraries (if compatible) and requires `opt/flink-shaded-netty-tcnative-dynamic-*.jar` to be copied to `lib/` statically linked: Due to potential licensing issues with openSSL (see LEGAL-393), we cannot ship pre-built libraries. However, you can build the required library yourself and put it into `lib/`: `git clone https://github.com/apache/flink-shaded.git && cd flink-shaded && mvn clean package -Pinclude-netty-tcnative-static -pl flink-shaded-netty-tcnative-static`
##### security.ssl.rest.authentication-enabled | false | Boolean | Turns on mutual SSL authentication for external communication via the REST endpoints.
##### security.ssl.rest.cert.fingerprint | (none) | String | The sha1 fingerprint of the rest certificate. This further protects the rest REST endpoints to present certificate which is only used by proxy serverThis is necessary where once uses public CA or internal firm wide CA
##### security.ssl.rest.enabled | false | Boolean | Turns on SSL for external communication via the REST endpoints.
##### security.ssl.rest.key-password | (none) | String | The secret to decrypt the key in the keystore for Flink's external REST endpoints.
##### security.ssl.rest.keystore | (none) | String | The Java keystore file with SSL Key and Certificate, to be used Flink's external REST endpoints.
##### security.ssl.rest.keystore-password | (none) | String | The secret to decrypt the keystore file for Flink's for Flink's external REST endpoints.
##### security.ssl.rest.keystore-type | JVM default keystore type | String | The type of the keystore for Flink's external REST endpoints.
##### security.ssl.rest.truststore | (none) | String | The truststore file containing the public CA certificates to verify the peer for Flink's external REST endpoints.
##### security.ssl.rest.truststore-password | (none) | String | The password to decrypt the truststore for Flink's external REST endpoints.
##### security.ssl.rest.truststore-type | JVM default keystore type | String | The type of the truststore for Flink's external REST endpoints.
##### security.ssl.rest.verify-hostname | false | Boolean | Whether to verify the REST server's hostname against its SSL certificate.
##### zookeeper.sasl.disable | false | Boolean |
##### zookeeper.sasl.login-context-name | "Client" | String |
##### zookeeper.sasl.service-name | "zookeeper" | String |