数据湖探索 DLI-数据保护技术:Flink作业传输通信加密

时间:2025-02-12 15:01:36

Flink作业传输通信加密

在Flink作业可以通过配置表2中的参数来开启SSL传输。

  • 打开Task Manager之间data传输通道的SSL,会对性能会有较大影响,建议结合安全和性能综合考虑是否开启。
  • 证书文件还需要在作业配置页面的“其他依赖文件”中完成配置。
  • OBS路径/opt/flink/usrlib/userData/为默认存储依赖文件路径。
  • 请确保已上传密钥和证书到指定的OBS路径下,并在作业配置中的其他依赖文件中引入。
表2 Flink作业传输通信加密配置参数

参数

说明

是否必须

配置示例

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
support.huaweicloud.com/productdesc-dli/dli_07_0019.html