数据湖探索 DLI-数据保护技术:Flink作业传输通信加密
Flink作业传输通信加密
在Flink作业可以通过配置表2中的参数来开启SSL传输。

- 打开Task Manager之间data传输通道的SSL,会对性能会有较大影响,建议结合安全和性能综合考虑是否开启。
- 证书文件还需要在作业配置页面的“其他依赖文件”中完成配置。
- OBS路径/opt/flink/usrlib/userData/为默认存储依赖文件路径。
- 请确保已上传密钥和证书到指定的OBS路径下,并在作业配置中的其他依赖文件中引入。
参数 |
说明 |
是否必须 |
配置示例 |
---|---|---|---|
security.ssl.enabled |
打开SSL总开关。 |
是 |
true |
akka.ssl.enabled |
打开akka SSL开关。 |
否 |
true |
blob.service.ssl.enabled |
打开blob通道SSL开关。 |
否 |
true |
taskmanager.data.ssl.enable |
打开taskmanager之间通信的SSL开关。 |
否 |
true |
security.ssl.algorithms |
设置SSL加密的算法。 |
否 |
TLS_DHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_DHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 |
security.ssl.keystore |
keystore的存放路径,“flink.keystore”表示用户通过generate_keystore.sh*工具生成的keystore文件名称。 |
是 |
/opt/flink/usrlib/userData/flink.keystore |
security.ssl.keystore-password |
keystore的password,-表示需要用户输入自定义设置的密码值。 |
是 |
- |
security.ssl.key-password |
ssl key的password,-表示需要用户输入自定义设置的密码值。 |
是 |
- |
security.ssl.truststore |
truststore存放路径,“flink.truststore”表示用户通过generate_keystore.sh*工具生成的truststore文件名称。 |
是 |
/opt/flink/usrlib/userData/flink.truststore |
security.ssl.truststore-password |
truststore的password,-表示需要用户输入自定义设置的密码值。 |
是 |
- |
security.ssl.rest.enabled |
REST API接口是否启用SSL/TLS加密。 |
是 |
false |
security.ssl.verify-hostname |
用于控制在建立SSL/TLS连接时是否验证对端的主机名(hostname)与证书中的信息是否匹配。 |
否 |
false |
security.ssl.protocol |
指定SSL/TLS连接时所使用的协议版本 |
否 |
TLSv1.2、TLSv1.3 |
security.ssl.encrypt.enabled |
Flink集群内部以及与其他组件之间通信时是否启用 数据加密 |
否 |
false |
开启Flink作业传输通信加密配置示例:
security.ssl.enabled: truesecurity.ssl.encrypt.enabled: falsesecurity.ssl.key-password: ***security.ssl.keystore-password: Admin12!security.ssl.keystore: /opt/flink/usrlib/userData/*.keystoresecurity.ssl.protocol: TLSv1.2security.ssl.rest.enabled: falsesecurity.ssl.truststore-password: ***security.ssl.truststore: /opt/flink/usrlib/userData/*.truststoresecurity.ssl.verify-hostname: false