更新时间:2024-07-04 GMT+08:00

数据保护技术

数据存储安全

为了确保您的个人敏感数据(例如用户名、密码、手机号码等)不被未经过认证、授权的实体或者个人获取,DLI对用户数据的存储和传输进行加密保护,以防止个人数据泄露,保证您的个人数据安全。

数据销毁机制

用户删除DLI队列后,存储在集群上的用户个人敏感数据会随之删除。

用户在控制台上删去填写的手机号、邮箱,并关闭消息通知功能后,数据库中会同步删除用户的手机号、邮箱信息。

数据传输安全

用户个人敏感数据将通过TLS 1.2、TLS1.3进行传输中加密,所有华为云DLI服务的API调用都支持 HTTPS 来对传输中的数据进行加密。

Spark作业传输通信加密

Spark作业支持通过配置表1中的参数开启通信加密。

请确保已上传密钥和证书到指定的OBS路径下,并在作业配置中的其他依赖文件中引入。

表1 Spark作业传输开启通信加密配置项

参数

说明

配置示例

spark.network.crypto.enabled

该参数用于启用或禁用数据在节点之间传输时的加密。当设置为true时,Spark会加密Executor和Driver之间以及Executor之间的所有通信。这是确保数据传输安全的重要配置。

true

spark.network.sasl.serverAlwaysEncrypt

该参数用于配置服务器端是否使用加密来与客户端通信。当设置为true时,服务器将要求所有客户端使用加密连接,这可以提高通信的安全性。

true

spark.authenticate

该参数用于配置是否对Spark应用程序的组件进行身份验证。启用身份验证可以防止未授权的访问。这个参数可以设置为true来启用身份验证。

true

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: true
security.ssl.encrypt.enabled: false
security.ssl.key-password: ***
security.ssl.keystore-password: Admin12!
security.ssl.keystore:  /opt/flink/usrlib/userData/*.keystore
security.ssl.protocol: TLSv1.2
security.ssl.rest.enabled: false
security.ssl.truststore-password: ***
security.ssl.truststore:  /opt/flink/usrlib/userData/*.truststore
security.ssl.verify-hostname: false