

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 工作线程间加密
<a name="interworker-encryption"></a>

在 Amazon EMR 6.15.0 及更高版本中，请在 Spark 作业运行时中的工作线程之间启用双向 TLS 加密通信。启用后，EMR Serverless 会自动为作业运行下预置的每个工作线程生成并分发唯一的证书。当这些工作线程通信交换控制消息或传输随机排序数据时，会建立双向 TLS 连接，并使用配置的证书来验证彼此的身份。如果工作线程无法验证其他证书，TLS 握手会失败，EMR Serverless 将中止彼此的连接。

如果将 Lake Formation 与 EMR Serverless 结合使用，默认情况下会启用双向 TLS 加密。

## 在 EMR Serverless 上启用双向 TLS 加密
<a name="interworker-encryption-enable"></a>

要在 Spark 应用程序上启用双向 TLS 加密，请在[创建 EMR Serverless](https://docs.aws.amazon.com/emr/latest/EMR-Serverless-UserGuide/getting-started.html#gs-cli) 应用程序时将 `spark.ssl.internode.enabled` 设置为 true。如果您使用 AWS 控制台创建 EMR Serverless 应用程序，请选择**使用自定义设置**，然后展开**应用程序配置**，然后输入您的。`runtimeConfiguration`

```
aws emr-serverless create-application \
--release-label emr-6.15.0 \
--runtime-configuration '{
  "classification": "spark-defaults", 
  "properties": {"spark.ssl.internode.enabled": "true"}
}' \
--type "SPARK"
```

如果要为单个 Spark 作业运行启用双向 TLS 加密，请在使用 `spark-submit` 时将 `spark.ssl.internode.enabled` 设置为 true。

```
--conf spark.ssl.internode.enabled=true
```