TLS configuration for EFM
Learn about the properties that you need to set to configure TLS for Edge Flow Manager.
When TLS is disabled, Edge Flow Manager runs in an unsecured mode where the web endpoints are accessible over HTTP on all network interfaces and clients are not authenticated. When unsecured, all clients are anonymous and have full access to the application. For this reason, insecure mode should only be used for test or development purposes and when Edge Flow Manager is not accessible through the public Internet.
efm.properties
file.efm.web.host=localhost
For production environments, security should always be enabled by configuring a TLS context and method of user authentication.
Securing an Edge Flow Manager instance starts with configuring a TLS context, also known as an SSL context. Enabling TLS enforces that all usage of the Edge Flow Manager web application as well as agent communication is authenticated and that the authenticated user or agent is allowed to perform requested actions based on policies.
efm.server.ssl.*
prefixed properties in the
efm.properties
file: efm.server.ssl.enabled=true
efm.server.ssl.keyStore=/path/to/keystore.jks
efm.server.ssl.keyStoreType=jks
efm.server.ssl.keyStorePassword=keyStorePassword
efm.server.ssl.keyPassword=keyPassword
efm.server.ssl.trustStore=/path/to/truststore.jks
efm.server.ssl.trustStoreType=jks
efm.server.ssl.trustStorePassword=trustStorePassword
efm.server.ssl.clientAuth=WANT
efm.server.ssl.keyAlias=
efm.server.serviceUserKeyAlias=
efm.server.ssl.enabled
Set to
true
to enable TLS and secure Edge Flow Manager.efm.server.ssl.keyStore
The file path to the keystore containing the Edge Flow Manager TLS keypair.
efm.server.ssl.keyStoreType
Set to
jks
orpkcs12
depending on the format of the keystore. Other formats are not supported.efm.server.ssl.keyStorePassword
The passphrase for the keystore.
efm.server.ssl.keyPassword
The passphrase for the key in the keystore.
efm.server.ssl.trustStore
The file path to the truststore containing the public certificates of the Certificate Authorities (CA) trusted by Edge Flow Manager.
efm.server.ssl.trustStoreType
Set to
jks
orpkcs12
depending on the format of the truststore. Other formats are not supported.efm.server.ssl.trustStorePassword
The passphrase for the truststore.
efm.server.ssl.clientAuth
Set to
WANT
to allow MiNiFi agents to authenticate to Edge Flow Manager with TLS client certificates, but allow users to use an alternative form of authentication (such as SSO). If users are also using mutual TLS with client certificates in browsers, then this can be set toNEED
.efm.server.ssl.keyAlias
andefm.server.serviceUserKeyAlias
-
If you have a keystore with a single private key entry (see Example 1 from the TLS key and certificate examples), leave
efm.server.ssl.keyAlias
andefm.server.serviceUserKeyAlias
commented out. -
If you have a keystore with multiple elements, for example separate keys for Edge Flow Manager internal and external SSL communication (see Example 2 from the TLS key and certificate examples), set both of these properties.
-
If you have a keystore with multiple private key entries, configure the properties as follows:
efm.server.ssl.keyAlias=server
efm.server.serviceUserKeyAlias=service
-