
# 配置Spark数据传输加密
在分布式计算环境中，Spark数据传输加密是保障数据安全的重要环节。当待数据中包含敏感信息或者网络环境存在安全隐患时，用户可设置Spark安全通道加密，以增强安全性。
#### 配置Spark数据传输加密
在集群Manager管理界面中，选择"集群 \> 服务 \> *服务名* \> 配置"，展开"全部配置"页签，在搜索框中输入参数名称，**修改配置参数后需要重启对应服务以使配置生效**。
登录集群Manager具体操作，请参考[访问MRS集群Manager](https://support.huaweicloud.com/usermanual-mrs/mrs_01_0128.html)。
表1参数说明 
| 配置项                                      | 描述                                               | 默认值                                                                                                                                                                                                                                                                                                                                                  |
|:---|:---|:---|
| spark.authenticate                       | 是否开启Spark内部安全认证。                                 | - 安全模式集群：true  - 普通模式集群：false     |
| spark.authenticate.enableSaslEncryption  | 是否启用基于SASL的加密通信，"spark.authenticate"配置为"true"生效。 | - 安全模式集群：true  - 普通模式集群：false       |
| spark.network.crypto.enabled             | 是否启用基于AES的RPC加密。                                 | - 安全模式集群：true  - 普通模式集群：false          |
| spark.network.sasl.serverAlwaysEncrypt   | 是否为已经启用SASL认证的端口禁止未加密连接。                         | false                                                                                                                                                                                                                                                                                                                                                |
| spark.network.crypto.keyLength           | 要生成的加密密钥的长度，支持设置为"192"或"256"。                    | 256                                                                                                                                                                                                                                                                                                                                                  |
| spark.network.crypto.keyFactoryAlgorithm | 生成加密密钥时使用的算法。                                    | PBKDF2WithHmacSHA1                                                                                                                                                                                                                                                                                                                                   |
| spark.io.encryption.enabled              | 启用本地磁盘I/O加密。                                     | - 安全模式集群：true  - 普通模式集群：false        |
| spark.io.encryption.keygen.algorithm     | 生成I/O加密密钥时要使用的算法。                                | HmacSHA256                                                                                                                                                                                                                                                                                                                                           |
| spark.io.encryption.keySizeBits          | I/O加密密钥大小（以位为单位）。                                | 256                                                                                                                                                                                                                                                                                                                                                  |
| spark.ssl.ui.enabled                     | 是否为WebUI连接启用SSL认证。                               | - 安全模式集群：true  - 普通模式集群：false   |
   
