Logo
1.3
  • Ververica Platform Setup
  • Application Manager
    • Quick Start
    • Concepts
    • Namespaces
    • Access Control/Security
      • Authentication
      • Authorization
      • API Tokens
      • Role-Based Access Control (RBAC)
      • Flink SSL/TLS
    • Deployments
    • REST API
    • Web User Interface
    • Troubleshooting Application Manager
    • Releases
  • Streaming Ledger
Ververica Platform
  • Docs »
  • Application Manager »
  • Access Control/Security »
  • Flink SSL/TLS

Flink SSL/TLS¶

For deployments with Flink Version 1.6 or higher, Application Manager supports auto provisioned Flink SSL setup.

To enable it, set flink.security.ssl.enabled: true in deployment template’s annotation. This switches on SSL mutual auth for Flink internal network communication and makes Flink REST API and web UI served via https. If the flinkVersion is 1.6.2 or higher, this will additionally enable SSL mutual authentication (for clients of Flink REST API and web UI).

By default, SSL is disabled (same as explicit setting flink.security.ssl.enabled: false).

Note

Enabling this option will set the required Flink SSL configuration parameters. Effectively this would ignore matching user settings in Flink Configuration (flink-conf.yaml).

Attention

Direct requests to Flink’s REST API will require a trusted client certificate when SSL mutual authentication is enabled. Access to the Flink web user interface (and REST api) is still possible through Application Manager’s Flink proxy.

Implementation details¶

To provision Flink clusters with key stores and trust stores required for transport security, Application Manager generates once

  • a self signed certificate: the public key is shared with Flink JobManager instances to facilitate Flink REST API and web UI SSL client auth;
  • a self signed signing certificate (CA) for signing SSL certificates for Flink JobManager.

Both certificates (with private keys) are stored in a key store under the persisted directory of Application Manager.

Before starting a deployment with the configuration enabled, Application Manager will generate

  • a self signed certificate, used to enable secure Flink internal connectivity;
  • a certificate signed by the signing certificate, to enable https on Flink JobManager’s REST API and web UI.

Both certificates (with private keys) are saved in a Kubernetes secret, which later is mounted to each deployment’s Flink nodes.

The implementation can be summarized in the following diagram:

../../_images/ssl_certificates.png
Next Previous

© Copyright 2018, data Artisans GmbH.

Apache Flink, Flink®, Apache®, the squirrel logo, and the Apache feather logo are either registered trademarks or trademarks of The Apache Software Foundation.

Report an issue with this documentation page | Imprint

Other Versions v: v1.3
Tags
v2.6
v2.5
v2.4
v2.3
v2.2
v2.1
v2.0
v1.4
v1.3
v1.2
v1.1
v1.0
sql-eap