Imagine walking into a bank and discovering it has no security measures - no guards, no surveillance cameras, not even locks on the vaults. Anyone could freely enter the vault, view customer account information, or even take cash and replace it with counterfeit bills. Sounds unbelievable, right? This was the situation with early Flink - it was like a bank without a security system, relying solely on "obscurity" to protect its assets (data).
FLIP-26 is like designing a comprehensive security system for this bank. It not only installs secure access controls at every entrance but also implements a two-way authentication mechanism - just as a bank verifies a customer's ID, the customer should also be able to confirm they're dealing with legitimate bank employees. This "mutual authentication" security mechanism can be applied to various Flink deployment modes, whether it's a standalone small branch or a distributed cluster large bank (such as Kubernetes, YARN, and Mesos environments).

Imagine Flink as a bank with a complete business system. This bank has two different security interaction scenarios:

Just as each bank has its own security authentication system, each Flink deployment instance needs its own identity authentication mechanism:
The bank's key management is like a sophisticated safe deposit box key system:
Security strategies vary according to the type and scale of bank branches:
| Branch Type | Direct Service Mode | Proxy Service Mode |
|---|---|---|
| Modern Smart Branch (K8s) | Uses the branch's own security access system(K8s native security mechanisms) | Access through headquarters appointment system(K8s API server proxy) |
| Standard Comprehensive Branch (YARN) | Dual authentication system(YARN security authentication + Flink authentication) | Through front desk unified service platform(YARN AM proxy) |
| Cooperative Franchise Branch (Mesos) | Dual authentication system(Mesos authentication + Flink authentication) | Through partner introduction service(Mesos proxy) |
| Independent Community Branch(Standalone deployment) | Local dual authentication(Local certificates + passwords) | No proxy service(Direct access only) |
This table is like a comparison of security solutions for different types of bank branches. Modern smart branches (K8s environment) use the most advanced security systems, while community branches (standalone deployment) adopt relatively simple but equally effective security measures.
Building on Flink's existing security framework, this bank-level security solution was originally planned to implement more comprehensive security mechanisms through the Akka communication layer (equivalent to the bank's core security system), currently under discussion in the community. However, since Flink has removed its dependency on Akka starting from version 1.16 (like a bank changing its core security vendor), this specific Akka-based implementation plan will not proceed. Nevertheless, these security requirements still exist in Flink's new architecture and need to be addressed with other technical solutions (just as a bank still needs a security system, just from a different vendor).
It's worth mentioning that early Flink did have serious security vulnerabilities, such as the CVE-2020-17519 unauthorized access vulnerability, similar to discovering a design flaw in a bank vault door where anyone could bypass the front desk and directly enter the vault area. These real security incidents further highlight the necessity of improving security mechanisms.
Let's review how Flink's security system has evolved over the years. It's like a bank upgrading from basic door locks to a comprehensive modern security system:
high-availability.zookeeper.client.acl: creator # Only the creator has full access
zookeeper.sasl.disable: false # Enable security authentication
These configurations are like setting access rules for the bank's VIP room, ensuring only authorized personnel can access critical resources in high availability mode.
security.context.factory.classes: org.apache.flink.runtime.security.contexts.HadoopSecurityContextFactory
security.module.factory.classes: org.apache.flink.runtime.security.modules.HadoopModuleFactory
These configurations are like a bank selecting specific security system vendors. Flink can choose the most appropriate security modules based on the deployment environment, such as security modules integrated with the Hadoop ecosystem.
| Security Feature | Version Milestone | Security Problem Solved | Bank Security Equivalent |
|---|---|---|---|
| Kerberos Authentication | 1.4+ | Unified identity authentication, mainly for big data platforms | Nationally standardized ID system |
| SSL/TLS Encryption | 1.5+ | Data transmission encryption, preventing information leakage | Armored cash transport vehicles and confidential document boxes |
| ZooKeeper ACL | 1.6+ | Controls who can access critical resources, used in high availability mode | VIP room and vault access control |
| Cookie Authentication | 1.7+ | Internal component mutual authentication, preventing impersonation | Employee smart badge system |
| Web UI Security | 1.9+ | Protects management interface, prevents unauthorized access | Online banking security system and anti-phishing mechanisms |
| Security Plugin Mechanism | 1.10+ | Can connect to custom security systems | Customizable branch security solutions |
This table is like the upgrade history of a bank's security system. From the most basic access cards (Kerberos authentication) to comprehensive modern security systems (pluggable security modules), Flink's security framework has become increasingly sophisticated, capable of meeting various security requirements from small community banks to large multinational banks (from standalone deployment to large-scale clusters).
This security solution is like designing a comprehensive security system for a rapidly developing bank. Although it may not be implemented as originally planned due to the bank changing its core technology vendor (Flink removing Akka dependency), the core security concepts it proposes are still worth learning from:
The design philosophy of this solution - finding a balance between security and usability - is like modern banks needing to both ensure fund security and provide convenient services. Although specific implementation methods will adjust with changes in technical architecture, the balance between security and usability remains a key factor to consider in system design, just as banks always need to find the optimal balance between tight security and friendly customer experience.
FLIP-25: Automatic Expiration of State Data: Flink State TTL Mechanism
216 posts | 60 followers
FollowApache Flink Community - August 1, 2025
Apache Flink Community - July 28, 2025
Alibaba Cloud Big Data and AI - October 27, 2025
Apache Flink Community - August 14, 2025
Alibaba Cloud Community - May 31, 2024
Apache Flink Community - March 26, 2025
216 posts | 60 followers
Follow
Realtime Compute for Apache Flink
Realtime Compute for Apache Flink offers a highly integrated platform for real-time data processing, which optimizes the computing of Apache Flink.
Learn More
Message Queue for Apache Kafka
A fully-managed Apache Kafka service to help you quickly build data pipelines for your big data analytics.
Learn More
Big Data Consulting for Data Technology Solution
Alibaba Cloud provides big data consulting services to help enterprises leverage advanced data technology.
Learn More
Big Data Consulting Services for Retail Solution
Alibaba Cloud experts provide retailers with a lightweight and customized big data consulting service to help you assess your big data maturity and plan your big data journey.
Learn MoreMore Posts by Apache Flink Community