Amazon MWAA 上的加密
以下主题描述 Amazon MWAA 如何保护静态和传输中的数据。使用此信息了解 Amazon MWAA 如何集成 AWS KMS 以加密静态数据,以及如何使用传输层安全性协议(TLS)对传输中的数据进行加密的信息。
静态加密
在 Amazon MWAA 上,静态数据是服务保存到永久媒体的数据。
您可以使用 AWS 自有密钥进行静态数据加密,也可以选择在创建环境时提供由客户托管的密钥以进行额外加密。如果您选择使用由客户托管的 KMS 密钥,则该密钥必须与您在环境中使用的其他 AWS 资源和服务位于同一个账户中。
要使用客户管理的 KMS 密钥,您必须为 CloudWatch 访问密钥政策附加所需的策略声明。当您在环境中使用客户托管的 KMS 密钥时,Amazon MWAA 会代表您附加四项授权。有关 Amazon MWAA 附加到客户托管的 KMS 密钥的授权的更多信息,请参阅用于数据加密的客户托管密钥。
如果您未指定由客户托管的 KMS 密钥,则默认情况下,Amazon MWAA 会使用 AWS 自有 KMS 密钥对数据进行加密和解密。我们建议使用 AWS 自有 KMS 密钥来管理 Amazon MWAA 上的数据加密。
注意
您需要为 Amazon MWAA 上 AWS 自有或由客户托管的 KMS 密钥的存储和使用付费。有关更多信息,请参阅AWS KMS 定价
加密构件
在创建 Amazon MWAA 环境时,您可以通过指定 AWS 自有密钥或由客户托管的密钥来指定用于静态加密的加密构件。Amazon MWAA 会向指定密钥添加所需的授权。
Amazon S3 — Amazon S3 数据使用服务器端加密(SSE)进行对象级别加密。Amazon S3 加密和解密过程在存储 DAG 代码和支持文件的 Amazon S3 存储桶上进行。将对象上传到 Amazon S3 时对其进行加密,并在将其下载到 Amazon MWAA 环境时对其进行解密。默认情况下,如果您使用的是由客户托管的 KMS 密钥,Amazon MWAA 会使用它来读取和解密 Amazon S3 存储桶中的数据。
CloudWatch Logs — 如果您使用的是 AWS 自有 KMS 密钥,则发送到 CloudWatch Logs 的 Apache Airflow 日志将使用服务器端加密(SSE)和 CloudWatch Logs AWS 自有的 KMS 密钥进行加密。如果您使用的是由客户托管的 KMS 密钥,则必须在 KMS 密钥中添加密钥政策,以允许 CloudWatch Logs 使用密钥。
Amazon SQS — Amazon MWAA 为环境创建一个 Amazon SQS 队列。Amazon MWAA 使用带有 AWS 自有 KMS 密钥或您指定的客户托管 KMS 密钥的服务器端加密 (SSE) 来处理传入和传出队列的数据。无论您使用的是 AWS 自有密钥还是由客户托管的 KMS 密钥,都必须向执行角色添加 Amazon SQS 权限。
Aurora PostgreSQL — Amazon MWAA 为环境创建一个 PostgreSQL 集群。Aurora PostgreSQL 使用带有 AWS 自有或由客户托管的 KMS 密钥的服务器端加密 (SSE) 对内容进行加密。如果您使用的是由客户托管的 KMS 密钥,Amazon RDS 会向该密钥添加至少两个授权:一个用于集群,一个用于数据库实例。如果您选择在多个环境中使用由客户托管的 KMS 密钥,Amazon RDS 可能会创建额外的授权。有关更多信息,请参阅 Amazon S3 中的数据保护。
传输中加密
传输中的数据是指在网络中传输时可能被拦截的数据。
传输层安全性协议 (TLS) 会对在环境的 Apache Airflow 组件和其他与 Amazon MWAA 集成的 AWS 服务(例如,Amazon S3)之间正在传输的 Amazon MWAA 对象进行加密。有关 Amazon S3 加密的更多信息,请参阅使用加密保护数据。