Configure Authentication for Confluent Manager for Apache Flink¶
By default, Confluent Manager for Apache Flink® installs with authentication disabled. CMF supports mutual TLS (mTLS) authentication only.
mTLS provides two-way authentication to ensure that traffic between clients and the CMF node is secure, and that content from both directions can be trusted. For a review of mTLS and RBAC terminology, see Terminology.
Example¶
The following configuration file shows how to provision Confluent Manager for Apache Flink with a keystore and truststore to specify mTLS for all communication. It also shows how to configure a mounted volume to store certificates. You pass the configuration file to Helm when you install CMF.
# mtls-values.yaml
cmf:
ssl:
keystore: /store/my-keystore
keystore-password: # Optional in case the key store is password protected
trust-store: /store/my-trust-store
trust-store-password: # Optional in case the trust store is password protected
client-auth: need # Indicates clients with valid certificate are required
authentication:
type: mtls
config:
auth.ssl.principal.mapping.rules: # Optional to extract a specific principal from the certificate https://docs.confluent.io/platform/current/security/authentication/mutual-tls/tls-principal-mapping.html
# Example to mount the certificate stores into your installation
mountedVolumes:
volumes:
- name: certificates
azureFile:
secretName: azure-secret
shareName: aksshare
readOnly: true
volumeMounts:
- name: certificates
mountPath: /store
When you make the helm install
call, use the -f
flag to pass the YAML file with the security information
like the following:
helm upgrade --install cmf confluent/confluent-manager-for-apache-flink \
-f mtls-values.yaml