

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

# Amazon MWAA 上的加密
<a name="encryption"></a>

以下主题描述 Amazon MWAA 如何保护静态和传输中的数据。使用此信息了解 Amazon MWAA 如何与之集成 AWS KMS 以加密静态数据，以及如何使用传输层安全 (TLS) 协议对传输中的数据进行加密。

**Topics**
+ [静态加密](#encryption-at-rest)
+ [传输中加密](#encryption-in-transit)

## 静态加密
<a name="encryption-at-rest"></a>

在 Amazon MWAA 上，*静态*数据是服务保存到永久媒体的数据。

您可以使用 [AWS自有密钥](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-owned-cmk)进行静态数据加密，也可以选择在创建环境时提供[由客户托管的密钥](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk)以进行额外加密。如果您选择使用客户管理的 KMS 密钥，则该密钥必须与您在环境中使用的其他 AWS 资源和服务位于同一个账户中。

要使用客户管理的 KMS 密钥，必须附上 CloudWatch 访问密钥策略所需的策略声明。当您在环境中使用客户托管的 KMS 密钥时，Amazon MWAA 会代表您附加四项[授权](https://docs.aws.amazon.com/kms/latest/developerguide/grants.html)。有关 Amazon MWAA 附加到客户托管的 KMS 密钥的授权的更多信息，请参阅[用于数据加密的客户托管密钥](custom-keys-certs.md)。

如果您未指定客户管理的 KMS 密钥，则默认情况下，Amazon MWAA 会使用自己的 KMS 密钥来加密和解密您的数据。 AWS 我们建议使用 AWS 自有的 KMS 密钥来管理 Amazon MWAA 上的数据加密。

**注意**  
您需要为在 Amazon MWAA 上存储和使用 AWS 自有或客户管理的 KMS 密钥付费。有关更多信息，请参阅 [AWS KMS 定价](https://aws.amazon.com/kms/pricing/)。

### 加密构件
<a name="encryption-at-rest-services"></a>

在创建 Amazon MWAA 环境时，您可以通过指定 [AWS自有密钥](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-owned-cmk)或[由客户托管的密钥](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk)来指定用于静态加密的加密构件。Amazon MWAA 会向指定密钥添加所需的[授权](https://docs.aws.amazon.com/kms/latest/developerguide/grants.html)。

**Amazon S3** — Amazon S3 数据使用服务器端加密（SSE）进行对象级别加密。Amazon S3 加密和解密过程在存储 DAG 代码和支持文件的 Amazon S3 存储桶上进行。将对象上传到 Amazon S3 时对其进行加密，并在将其下载到 Amazon MWAA 环境时对其进行解密。默认情况下，如果您使用的是由客户托管的 KMS 密钥，Amazon MWAA 会使用它来读取和解密 Amazon S3 存储桶中的数据。

**CloudWatch 日志**-如果您使用的是 AWS 拥有的 KMS 密钥，则发送 CloudWatch 到日志的 Apache Airflow 日志将使用 SSE 使用日志 CloudWatch 拥有的 KMS 密钥进行加密。 AWS 如果您使用的是客户管理的 KMS 密钥，则必须向 KMS [密钥添加密钥策略](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html)以允许 CloudWatch Logs 使用您的密钥。

**Amazon SQS** — Amazon MWAA 为环境创建一个 Amazon SQS 队列。Amazon MWAA 使用 AWS 自有的 KMS 密钥或您指定的客户管理的 KMS 密钥使用 SSE 处理传入和传出队列的数据。无论您使用的是 AWS 自有的 KMS 密钥还是客户管理的 KMS 密钥，都必须向您的执行角色添加 Amazon SQS 权限。

**Aurora PostgreSQL** — Amazon MWAA 为环境创建一个 PostgreSQL 集群。Aurora PostgreSQL 使用 SSE 使用自有或客户管理的 KMS 密钥 AWS 对内容进行加密。如果您使用的是由客户托管的 KMS 密钥，Amazon RDS 会向该密钥添加至少两个授权：一个用于集群，一个用于数据库实例。如果您选择在多个环境中使用由客户托管的 KMS 密钥，Amazon RDS 可能会创建额外的授权。有关更多信息，请参阅 [Amazon RDS 中的数据保护](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/DataDurability.html)。

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

传输中数据是指在网络中传输时可能被拦截的数据。

传输层安全 (TLS) 对在您的环境的 Apache Airflow 组件和其他与亚马逊 MWAA 集成的 AWS 服务（例如亚马逊 S3）之间传输的 Amazon MWAA 对象进行加密。有关 Amazon S3 加密的更多信息，请参阅[使用加密保护数据](https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingEncryption.html)。