保护 Talend Data Preparation、Streams Runner 和 Spark Job Server 之间的连接需要编辑它们的对应配置文件。
Streams Runner 配置文件中的任何安全配置都应在该文件的末尾进行,即在 Append 部分之中,在 Include 部分之后,以避免被改写。
第一步是将 Spark Job Server 配置为 HTTPS 中的服务。然后,您将需要在运行于 HTTPS 中的 Streams Runner 和 Spark Job Server 之间启用 SSL 通信。之后,将 Streams Runner 配置为 HTTPS 中的服务;最后,在运行于 HTTPS 中的 Talend Data Preparation 和 Streams Runner 之间启用 SSL 通信。
步骤
-
要保护 HTTPS 中的 Spark Job Server 服务,请打开 <Spark_Job_Server_installation_path>/settings.sh 配置文件。
-
将
security_ssl_enabled
参数的值设为 on
。
-
编辑
security_path_to_keystore
和 security_keystore_password
参数的值,以设置包含 Spark Job Server 证书的 keystore
文件的路径和密码。
security_ssl_enabled=on
# DO NOT CHANGE
# SECURITY PATH TO KEYSTORE
# Required : No
# Env variable : SECURITY_PATH_TO_KEYSTORE
security_path_to_keystore=<path_to_keystore>
# DO NOT CHANGE
# SECURITY KEYSTORE PASSWORD
# Required : No
# Env variable : SECURITY_KEYSTORE_PASSWORD
security_keystore_password=<password>
重新启动服务以后,Spark Job Server 将在 HTTPS 中运行。
-
要在运行于 HTTPS 中的 Streams Runner 和 Spark Job Server 之间启用 SSL 通信,您可以:
- 将
JOBSERVER_TRANSPORT_PROTOCOL
环境变量与以下命令一同使用:export JOBSERVER_TRANSPORT_PROTOCOL=https
。
- 编辑 <Streams_Runner_installation_path>/conf/application.conf 配置文件,并将
app.svc.jobserver.protocol
参数的值设为 https
。
使用环境变量将改写 application.conf 配置。
-
要将 Spark Job Server 证书或其证书颁发机构添加到 Streams Runner 信任库,请根据用于您的信任库的文件格式将以下行添加到 <Streams_Runner_installation_path>/conf/application.conf 文件。
- 对于 .pem 文件:
play.ws.ssl {
trustManager = {
stores = [
{ type = "PEM", path = "/path/to/pem_file" }
]
}
}
- 对于 .jks 文件:
play.ws.ssl {
trustManager = {
stores = [
{ type="JKS", path="/path/to/truststore", password="<password>"}
]
}
}
-
要保护 HTTPS 中的 Streams Runner 服务,请通过编辑 <Streams_Runner_installation_path>/conf/application.conf 文件的以下行来定义其证书的路径和密码:
play.server.https.keyStore.path = <path_to_keystore>
play.server.https.keyStore.password = <password>
-
编辑以下两行以设置 HTTPS 端口并禁用 HTTP 端口:
https.port=9443
http.port=disabled
9443
是用于 HTTPS 连接的默认端口值。
警告: 任何 play.server.http.port=<port>
配置都将与 http.port=disabled
配置冲突,并且该端口不会被禁用。
重新启动服务以后,Streams Runner 将在 HTTPS 中运行。
-
要在运行于 HTTPS 中的 Talend Data Preparation 和 Streams Runner 之间启用 SSL 通信,请获取 Streams Runner 证书或其证书颁发机构,并使用以下命令将其添加到 Talend Data Preparation 信任库:
keytool -import -trustcacerts -alias <cert-alias> -file <streams_runner_certificate.crt> -keystore <truststore.jks>
-
在 <Data_Preparation_Path>/config/application.properties 文件中,添加以下属性以设置信任库:
tls.trust-store=/path/to/<truststore.jks>
tls.trust-store-password=<trust-store_password>
false to disable hostname verification
tls.verify-hostname=true
-
重新启动 Talend Data Preparation。
结果
运行于 HTTPS 中的 Talend Data Preparation 实例现在可以与同样使用安全 HTTPS 连接运行的 Streams Runner 和 Spark Job Server 通信了。