本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
确保在启动时启用对 Amazon 静态EMR数据的加密
由 Priyanka Chaudhary 创作 () AWS
环境:生产 | 技术:安全性、标识性、合规性;分析 | 工作负载:开源 |
AWS服务:亚马逊EMR;亚马逊;SNS;AWSKMS;AWSLambda AWS CloudFormation;亚马逊 S3 |
Summary
此模式提供了一种安全控制,用于监控 Amazon Web Services (AWS) 上亚马逊EMR集群的加密。
数据加密有助于防止未经授权的用户在集群和关联的数据存储系统中读取数据。这包括在网络传输时可能被截获的数据(称为传输中数据)和保存到持久性介质的数据(称为静态数据)。Amazon Simple Storage Service (Amazon S3) 中的静态数据可通过两种方式进行加密。
使用 Amazon S3 托管密钥进行服务器端加密 (-S3) SSE
使用AWS密钥管理服务 (AWSKMS) 密钥 (SSE-KMS) 进行服务器端加密,使用适用于 Amazon EMR 的策略进行设置。
此安全控制可监控来API电并启动 Amazon Events CloudWatch 事件。RunJobFlow触发器调用 Lambda,后者运行 P AWS ython 脚本。该函数从事件JSON输入中检索EMR集群 ID,并通过执行以下检查来确定是否存在安全违规。
检查EMR集群是否与 Amazon EMR 特定的安全配置相关联。
如果集EMR群关联了 Amazon EMR 特定的安全配置,请检查 Encryption-at-Rest是否已开启。
如果 Encryption-at-Rest未开启,请发送亚马逊简单通知服务 (AmazonSNS) 通知,其中包含该通知的EMR集群名称、违规详情、AWS区域、AWS账户和来源的 Lambda Amazon 资源名称 (ARN)。
先决条件和限制
先决条件
一个活跃的AWS账户
存放 Lambda 代码 .zip 文件的 S3 存储桶
接收违规通知的电子邮件地址
Amazon EMR 日志已关闭,以便可以检索所有API日志
限制
这种侦探控制是区域性的,必须部署在你打算监控的AWS区域。
产品版本
亚马逊EMR版本 4.8.0 及更高版本
架构
目标技术堆栈
Amazon EMR
亚马逊 CloudWatch 活动活动
Lambda 函数
Amazon SNS
目标架构
自动化和扩缩
如果您使用的是AWS组织,则可以使用 AWSCloudformation StackSets 在要监控的多个账户中部署此模板。
工具
工具
AWS CloudFormation是一项服务,可帮助您使用基础架构即代码对AWS资源进行建模和设置。
Amazon CloudWatch Events 提供近乎实时的系统事件流,这些事件描述了AWS资源的变化。
Amazon EMR 是一个托管集群平台,可简化大数据框架的运行。
AWSLambda 支持在不预置或管理服务器的情况下运行代码。
Amazon S3 是一项高度可扩展的对象存储服务,可用于各种存储解决方案,包括网站、移动应用程序、备份和数据湖。
Amazon SNS 协调和管理发布者与客户之间的消息传送或发送,包括网络服务器和电子邮件地址。订阅用户接收所有发布至他们所订阅主题的消息,并且一个主题的所有订阅用户收到的消息都相同。
代码
此项目的 EMREncryptionAtRest .zip 和 EMREncryptionAtRest .yml 文件作为附件提供。
操作说明
任务 | 描述 | 所需技能 |
---|---|---|
定义 S3 存储桶。 | 在 Amazon S3 控制台上,选择或创建一个具有不包含前导斜杠的唯一名称的 S3 存储桶。S3 存储桶名称是全球唯一的,命名空间由所有AWS账户共享。您的 S3 存储桶必须与正在评估的 Amazon EMR 集群位于同一区域。 | 云架构师 |
任务 | 描述 | 所需技能 |
---|---|---|
将 Lambda 代码上传至 S3 存储桶。 | 将“附件”部分中提供的 Lambda 代码.zip 文件上传到定义的 S3 存储桶。 | 云架构师 |
任务 | 描述 | 所需技能 |
---|---|---|
部署AWS CloudFormation 模板。 | 在AWS CloudFormation 控制台上,在与 S3 存储桶相同的区域中,部署作为此模式附件提供的AWS CloudFormation 模板。在下一个操作说明中,提供参数的值。有关部署AWS CloudFormation 模板的更多信息,请参阅 “相关资源” 部分。 | 云架构师 |
任务 | 描述 | 所需技能 |
---|---|---|
命名 S3 存储桶。 | 输入您在第一个操作说明中创建的 S3 存储桶的名称。 | 云架构师 |
提供 Amazon S3 密钥。 | 提供 Lambda 代码 .zip 文件在 S3 存储桶中的位置,不带前导斜杠(例如,<directory>/<file-name>.zip)。 | 云架构师 |
提供电子邮箱地址。 | 提供有效的电子邮件地址以接收 Amazon SNS 通知。 | 云架构师 |
定义日志记录级别。 | 定义 Lambda 函数的日志记录级别与频率。“信息”表示有关应用程序进度的详细信息消息。“错误”表示仍可能允许应用程序继续运行的错误事件。“警告”表示潜在的有害情况。 | 云架构师 |
任务 | 描述 | 所需技能 |
---|---|---|
确认订阅。 | 成功部署模板后,它将向提供的电子邮件地址发送订阅电子邮件。您必须确认此电子邮件订阅才能接收违规通知。 | 云架构师 |
相关资源
附件
要访问与此文档相关联的其他内容,请解压以下文件:attachment.zip