

# 加密传输中数据
<a name="encryption-in-transit"></a>



AWS 为传输中数据提供传输层安全性 (TLS) 加密。您可以使用 AWS Glue 中的[安全配置](https://docs.aws.amazon.com/glue/latest/dg/console-security-configurations.html)为爬网程序、ETL 任务和开发端点配置加密设置。您可以通过数据目录的设置启用 AWS Glue Data Catalog 加密。

截至 2018 年 9 月 4 日，支持用于 AWS Glue ETL 和 AWS Glue Data Catalog 的 AWS KMS（*自带密钥*和*服务器端加密*）。

## Spark Connect 传输加密
<a name="encryption-in-transit-spark-connect"></a>

在 AWS Glue 交互式会话中使用 Spark Connect 时，您的客户端应用程序与 Spark Connect 端点之间的所有通信都将使用 TLS 1.3 进行加密。Spark Connect 数据路径采用基于 HTTP/2 的 gRPC，所有流量在以下跳点之间均进行端到端加密：
+ **客户端到端点**–您的 Spark Connect 客户端（pyspark 或 spark-connect-go）通过 TLS 加密的 gRPC (HTTP/2) 连接到会话端点。端点使用具有 TLS 1.3 安全策略的应用程序负载均衡器终止 TLS。
+ **代理到计算**–反向代理与在会话工作节点上运行的 Spark Connect 服务器之间的内部通信流量，会经由中转网关连接，并采用 TLS 协议进行加密。

Spark Connect 会话采用短期持有令牌来实现请求身份验证。这些令牌使用带有 AWS KMS 数据密钥的 AES-256-GCM 进行加密，有效期为 5 分钟。令牌由 `GetSessionEndpoint` API 返回，并且必须包含在向 Spark Connect 端点发出的每个 gRPC 请求中。

客户数据（Spark 查询、DataFrame 和结果）仅通过代理链在传输途中流动，不会由代理基础设施保存。工作节点卷上会话数据的静态存储使用默认 Amazon EBS 加密。