本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
确保IAM配置文件与EC2实例关联
由 Mansi Suratwala 创作 () AWS
摘要
此模式提供了一个AWS CloudFormation 安全控制模板,用于在亚马逊弹性计算云 (AmazonIAM) 实例发生AWS身份和访问管理 () 个人资料违规时设置自动通知。EC2
实例配置文件是 IAM 角色的容器,可用来在实例启动时将角色信息传递给 EC2 实例。
当根据RunInstances
、AssociateIamInstanceProfile
和ReplaceIamInstanceProfileAssociation
操作AWS CloudTrail 记录亚马逊EC2API呼叫时,Amazon Ev CloudWatch ents 会启动此检查。触发器调用 AWS Lambda 函数,该函数使用 Amazon Events CloudWatch 事件来检查个人资料。IAM
如果IAM个人资料不存在,Lambda 函数会启动亚马逊简单通知服务 (AmazonSNS) 电子邮件通知,其中包含亚马逊网络服务 (AWS) 账户 ID 和区域。AWS
如果IAM配置文件确实存在,Lambda 函数会检查策略文档中是否存在任何通配符条目。如果存在通配符条目,则会启动 Amazon SNS 违规通知,这有助于您实现增强的安全性。通知包含IAM配置文件名称、事件、EC2实例 ID、托管策略名称、违规行为、账户 ID 和区域。
先决条件和限制
先决条件
一个有效账户
Lambda 代码 .zip 文件的 Amazon Simple Storage Service (Amazon S3)存储桶
限制
必须仅为
RunInstances
AssociateIamInstanceProfile
、和ReplaceIamInstanceProfileAssociation
操作部署AWS CloudFormation 模板。安全控制不监控IAM配置文件的分离情况。
安全控制不检查附加到EC2实例IAM配置文件的IAM策略是否有修改。
安全控制不考虑需要使用
"Resource":*
的不受支持的资源级权限。
架构
目标技术堆栈
Amazon EC2
AWS CloudTrail
亚马逊 CloudWatch
AWS Lambda
Amazon S3
Amazon SNS
目标架构
![EC2启动、IAM个人资料违规、 CloudWatch 事件 CloudTrail、Lambda 呼叫、已发送通知。](images/pattern-img/6b1a1e6e-1e63-48fc-b9b4-5c36f89f7d31/images/e51881fc-d106-4c59-b651-7d2ab1c45db9.png)
自动化和扩缩
您可以为不同的AWS地区和账户多次使用该AWS CloudFormation 模板。您只需为每个账户或区域启动一次模板。
工具
工具
亚马逊 EC2 — 亚马逊在AWS云端EC2提供可扩展的计算容量(虚拟服务器)。
AWS CloudTrail— AWS CloudTrail 帮助您实现AWS账户的治理、合规以及运营和风险审计。用户、角色或AWS服务采取的操作在中记录为事件 CloudTrail。
Amazon CloudWatch Events — Amazon CloudWatch Events 提供近乎实时的系统事件流,这些事件描述了AWS资源的变化。
AWSLambd a — L AWS ambda 是一项计算服务,您无需预置或管理服务器即可使用它来运行代码。只有在需要时 Lambda 才运行您的代码,并且能自动扩缩,从每天几个请求扩展到每秒数千个请求。
Amazon S3 — Amazon S3 提供高度可扩展的对象存储,可用于各种存储解决方案,包括网站、移动应用程序、备份和数据湖。
亚马逊 SNS — Amazon SNS 使应用程序和设备能够从云端发送和接收通知。
代码
该项目的 .zip 文件作为附件提供。
操作说明
任务 | 描述 | 所需技能 |
---|---|---|
定义 S3 存储桶。 | 要托管 Lambda 代码 .zip 文件,请选择或创建一个具有不包含前导斜杠的唯一名称的 S3 存储桶。S3 存储桶名称是全球唯一的,命名空间由所有AWS账户共享。您的 S3 存储桶必须与正在评估的EC2实例位于同一区域。 | 云架构师 |
任务 | 描述 | 所需技能 |
---|---|---|
将 Lambda 代码上传至 S3 存储桶。 | 将附件部分中提供的 Lambda 代码上传到 S3 存储桶。S3 存储桶必须与正在评估的EC2实例位于同一区域。 | 云架构师 |
任务 | 描述 | 所需技能 |
---|---|---|
部署 AWS CloudFormation 模板。 | 部署作为该模式附件提供的AWS CloudFormation 模板。在下一个操作说明中,提供参数的值。 | 云架构师 |
任务 | 描述 | 所需技能 |
---|---|---|
命名 S3 存储桶。 | 输入您在第一个操作说明中创建的 S3 存储桶的名称。 | 云架构师 |
提供 S3 密钥。 | 提供 Lambda 代码 .zip 文件在 S3 存储桶中的位置,不带前导斜杠(例如, | 云架构师 |
提供电子邮箱地址。 | 提供有效的电子邮件地址以接收 Amazon SNS 通知。 | 云架构师 |
定义日志记录级别。 | 定义 Lambda 函数的日志记录级别和频率。 | 云架构师 |
任务 | 描述 | 所需技能 |
---|---|---|
确认订阅。 | 成功部署模板后,它将向提供的电子邮件地址发送订阅电子邮件。您必须确认此电子邮件订阅才能接收违规通知。 | 云架构师 |
相关资源
附件
要访问与此文档相关联的其他内容,请解压以下文件:attachment.zip