Amazon Config Managed Rules 测试 下篇

Amazon EC2
Amazon Config
Amazon Lambda
Amazon Elastic Block Store (EBS)
技领云博主
0
0
> 文章作者:全是亚马逊云科技干货 ![image.png](https://dev-media.amazoncloud.cn/9e24804d10684a678b124237f9f67d6a_image.png "image.png") | 往期推荐 | | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | [Amazon Config Managed Rules 测试 上篇](http://mp.weixin.qq.com/s?__biz=MzkyNTIxMjczMw==&mid=2247497431&idx=1&sn=8b5bfcf8301c10082c6a12ee04dcc954&chksm=c1c8bf85f6bf3693f045b730c62654611ddc41e84f7d59dd0522b3c24fd3c8709cec1b906fed&scene=21#wechat_redirect?trk=cndc-detail) | | [Amazon Config rule介绍](http://mp.weixin.qq.com/s?__biz=MzkyNTIxMjczMw==&mid=2247497409&idx=1&sn=64cc71ee3ab78d9a45f77e4902b979ef&chksm=c1c8bf93f6bf3685508f72878c91e4441b0241b548a100278f8f6a62d1498475bfbcefd9f157&scene=21#wechat_redirect?trk=cndc-detail) | | [ALB EC2上配置 Apache shibboleth SSO 单点登录测试 下篇](http://mp.weixin.qq.com/s?__biz=MzkyNTIxMjczMw==&mid=2247497391&idx=1&sn=e750309e912a1b91c6b4feb6a682a104&chksm=c1c8bffdf6bf36eb8d6fe53fcbb9fc1e5780c1750f884844c8b2ef68f828db7033581ccda238&scene=21#wechat_redirect?trk=cndc-detail) | | [ALB EC2上配置 Apache shibboleth SSO 单点登录测试 上篇](http://mp.weixin.qq.com/s?__biz=MzkyNTIxMjczMw==&mid=2247497349&idx=1&sn=ce6d4b6276a15650c4d5ea5c007e24f4&chksm=c1c8bfd7f6bf36c1536a62aacd313ec508fb2c0ec169eb2fa138eca956dd7908ef5e83b4247e&scene=21#wechat_redirect?trk=cndc-detail) | | [利用 Amazon Config 高级查询删除有关联对象的 Security group](http://mp.weixin.qq.com/s?__biz=MzkyNTIxMjczMw==&mid=2247497309&idx=1&sn=24580f7a6a6dcd169c0e8e3c1886c341&chksm=c1c8bf0ff6bf36194c27c97e6342da6f5499efa47a551b7042b6d99fbf06513544502d90797a&scene=21#wechat_redirect?trk=cndc-detail) | | [Amazon Config 高级查询测试](http://mp.weixin.qq.com/s?__biz=MzkyNTIxMjczMw==&mid=2247497276&idx=1&sn=2a69480b31e87d75ca06d530882324fb&chksm=c1c8bf6ef6bf3678ffc6e5b7c7d4b73b9a6d1993330ea5e174bca4c926c14130f736a3542672&scene=21#wechat_redirect?trk=cndc-detail) | | [Amazon Config 高级查询介绍](http://mp.weixin.qq.com/s?__biz=MzkyNTIxMjczMw==&mid=2247497248&idx=1&sn=0c3592583eea9cf25e47dc1678f24105&chksm=c1c8bf72f6bf3664d06703a6da06988bae3fe5a4476c8f8dd41252b9f6fb28ccde5223248340&scene=21#wechat_redirect?trk=cndc-detail) | | [Amazon Config 启动及资源信息查看测试](http://mp.weixin.qq.com/s?__biz=MzkyNTIxMjczMw==&mid=2247497228&idx=1&sn=10491f8b670581cd5789dc5c51287094&chksm=c1c8bf5ef6bf3648684d391607acb3a70d3609bd09a98518f94731745d3f491d37a4201b69af&scene=21#wechat_redirect?trk=cndc-detail) | | [Amazon Config 介绍](http://mp.weixin.qq.com/s?__biz=MzkyNTIxMjczMw==&mid=2247497022&idx=1&sn=abc520eb33d498b36d074c9e487a84d6&chksm=c1c8bc6cf6bf357a129c4cd52bce57fb7a9ef601b1c303fc837deef4839e4bdcea4d3f066988&scene=21#wechat_redirect?trk=cndc-detail) | | [Amazon CDK v1 迁移到 v2 测试 下篇](http://mp.weixin.qq.com/s?__biz=MzkyNTIxMjczMw==&mid=2247497013&idx=1&sn=c6726dad6d07f47b6bbae6695f4ee400&chksm=c1c8bc67f6bf357169de1c73679fd965115bd18f9f3866361d44ad87c5de17474fb20d243f52&scene=21#wechat_redirect?trk=cndc-detail) | | [Amazon CDK v1 项目迁移到 v2 测试 上篇](https://mp.weixin.qq.com/s?__biz=MzkyNTIxMjczMw==&mid=2247496973&idx=1&sn=874c5624f18e4abea59575f413566523&chksm=c1c8bc5ff6bf3549bb13ec106226fe54876672b72ac96918e763ae14ed22cbedcec4e2221d3d&scene=21#wechat_redirect?trk=cndc-detail) | | [Amazon Lambda 函数使用实例文章列表](https://mp.weixin.qq.com/s?__biz=MzkyNTIxMjczMw==&mid=2247496941&idx=1&sn=da561bacc4f2f94a12e674014c719f33&chksm=c1c8bdbff6bf34a94dc1c205c2575d5c7417ef423c1a96bf7708d5fef64a7e653f6d455dba0a&scene=21#wechat_redirect?trk=cndc-detail) | | [Amazon Lambda 启动任务再介绍](https://mp.weixin.qq.com/s?__biz=MzkyNTIxMjczMw==&mid=2247496894&idx=1&sn=30bea4db31654e56e8c4167878d50d38&chksm=c1c8bdecf6bf34fab8828453e7176794d9ce65bee1d55f1e5ca930431c95e5aa1c0f832975ed&scene=21#wechat_redirect?trk=cndc-detail) | | [Amazon Lambda 函数 URLs 安全访问测试](https://mp.weixin.qq.com/s?__biz=MzkyNTIxMjczMw==&mid=2247496880&idx=1&sn=23d8546f3d52977d5296831f38f0e9bb&chksm=c1c8bde2f6bf34f43ada9f8dfa9228fe5e57e76c3ba88e1b69dbbadb9f7ddc9e9397937984a2&scene=21#wechat_redirect?trk=cndc-detail) | ### 简介 我们在《[Amazon Config Managed Rules 测试 上篇](http://mp.weixin.qq.com/s?\__biz=MzkyNTIxMjczMw==\&mid=2247497431\&idx=1\&sn=8b5bfcf8301c10082c6a12ee04dcc954\&chksm=c1c8bf85f6bf3693f045b730c62654611ddc41e84f7d59dd0522b3c24fd3c8709cec1b906fed\&scene=21#wechat_redirect?trk=cndc-detail)》一文中,介绍了 Amazon Config Managed Rules,配置并测试了一个简单的 Config rule “ec2-volume-inuse-check”(测试 Config 发现没有挂载到 [EC2](https://aws.amazon.com/cn/ec2/?trk=cndc-detail) 上的空闲 EBS)。 对于 rule 的评论结果,我们需要去 Config 界面查看。 那么有没有方法可以让亚马逊云科技主动通知我们发现了不合规的资源呢? 有,我们可以通过 Remediation 功能实现。 在本文中,我们先介绍 Remediation 功能,然后在上一篇文章测试环境的基础上,利用 Remediation 实现通过邮件发现 noncompliant 资源的功能。 本文会用到 SNS 和 system manager document 两个服务。 ### ### 目录 * Amazon Config Remediation 介绍 * 实战步骤 * 1. 新建 SNS 2. 在 system manager document 中测试 SNS 3. 创建 IAM role 4. 添加 Remediation 5. 新增 EBS 并测试 * 总结 * 后记 ## Amazon Config Remediation 介绍 Remediation(修正)用来修正 Amazon Config rule 发现的不合规资源,其利用的是 Amazon Systems Manager Automation Documents 服务,Documents 里定义了具体的修正不合规资源的方法。 Amazon Config 提供了一些定义好的 automation documents 用于 Remediation,同时我们也可以把自己创建的 documents 用于 Remediation。 在执行 Remediation 的时候,可以选择自动和手动两种方式。 通知不合规资源这个动作已经被定义成了 automation document,我们直接利用其即可。 ### 实战步骤 #### 1. 新建 SNS Amazon Simple Notification Service (Amazon SNS) 是一项托管服务,可由发布者向订阅者发送消息。我们在 SNS 服务中创建一个 topic,然后在 topic 中配置自己的邮箱,这样 topic 就可以把信息发送到自己的邮箱。 我们在前文中多次使用过 SNS,所以这里就不重复相同步骤了,具体配置详情可以参考《[Amazon CICD Step Function 上篇 邮件审批](http://mp.weixin.qq.com/s?\__biz=MzkyNTIxMjczMw==\&mid=2247487495\&idx=1\&sn=7bffb026a9d44690238c322c30c5b648\&chksm=c1cb5955f6bcd0439947becb28ac0b48db0a58c3685f5a50bba9c486a4bfc7583f8702abd37d\&scene=21#wechat_redirect?trk=cndc-detail)》一文。 配置 SNS 后,记下创建好的 topic ARN “arn:aws:sns:us-east-1:252557384592:tstest” ![image.png](https://dev-media.amazoncloud.cn/12ec4de003e34665980240d36b2409e8_image.png "image.png") image-20240215120738330 #### 2. 在 system manager document 中测试 SNS 创建好 topic 后我们先在 system manager document 中测试一下发邮件的效果。 我们在 Auto Scaling 相关文章中使用过 system manager document 检测 [EC2](https://aws.amazon.com/cn/ec2/?trk=cndc-detail) 的状态,具体详情可参考《[Auto Scaling lifecycle hooks 利用 SSM 检测 EC2 启动后的应用状态](https://mp.weixin.qq.com/s?\__biz=MzkyNTIxMjczMw==\&mid=2247495220\&idx=1\&sn=e25b2f3b3d00653a8e46592f71baa37c\&chksm=c1c8a766f6bf2e70e4270813637f3708f143d3bff2570964590f710f202b9f3371c2703264a7\&scene=21#wechat_redirect?trk=cndc-detail)》《[利用 system manager document 在 EC2 上运行命令](https://mp.weixin.qq.com/s?\__biz=MzkyNTIxMjczMw==\&mid=2247495043\&idx=1\&sn=92f39724536a151512653de208a6cf85\&chksm=c1c8a4d1f6bf2dc7668ce6dcdbb72ce65af3971964770ad6234e9a6b1cb8cad91ea86bd139c3\&scene=21#wechat_redirect?trk=cndc-detail)》等文章。 本文中我们直接利用亚马逊云科技提供的 document 测试发邮件。 在亚马逊云科技中控台选择进入 “System manager” 界面,在左边点开 “Shared Resources”,然后选择 “Documents”,在 “Owned by Amazon” 下搜索 “Amazon-publish”,直接点击搜索出来的结果 “Amazon-PublishSNSNotification” ![image.png](https://dev-media.amazoncloud.cn/5ce56bb996fa4d6dbb7c610a4a5be844_image.png "image.png") image-20240215122422146 进入 “Amazon-PublishSNSNotification” document 的详细页面,点击 “Content” 可以看到 document 的具体内容,在 Detail 中可以看到我们需要的输入参数 ![image.png](https://dev-media.amazoncloud.cn/deb45d6aeacd423181e7a288ae41176c_image.png "image.png") image-20240215122712572 ![image.png](https://dev-media.amazoncloud.cn/d0c857af5e63478698dbcfa2adc92422_image.png "image.png") image-20240215122835291 ![image.png](https://dev-media.amazoncloud.cn/081c627e6446439f8b6c22fd645ac5f1_image.png "image.png") image-20240215122906685 我们点击 “Execute automation”,跳转到执行页面,这里我们只需要添加上一步中创建的 topic ARN “arn:amazon:sns:us-east-1:252557384592:tstest” 和 Message “test amazon publish sns” 即可,然后点击 “Execute” ![image.png](https://dev-media.amazoncloud.cn/80d07c922af942e590a007ddc166f20b_image.png "image.png") image-20240215123955752 这个 document 很快就会运行完成。 ![image.png](https://dev-media.amazoncloud.cn/6651bf3a3c6c41ea96878bf6541f2e49_image.png "image.png") image-20240215124311008 很快我们就可以在 Topic 里配置的邮箱中收到亚马逊云科技发来的邮件。 ![image.png](https://dev-media.amazoncloud.cn/62f43bcbd41243588435bbd8144bc695_image.png "image.png") image-20240215134215845 #### 3. 创建 IAM role 下面我们为 config 创建一个 IAM role,这个 role 负责提供 document 调用 sns 的权限。 有关 IAM 权限的详细介绍可参考《[一文搞懂 Amazon IAM 权限 基础篇上 理论](https://mp.weixin.qq.com/s?\__biz=MzkyNTIxMjczMw==\&mid=2247487795\&idx=1\&sn=3d38ac6fb4a8fa9da060e84c442ac266\&chksm=c1cb5861f6bcd1772bf0fae42565247e2875de119afef4c6322c58a160abe9633e2f8594b3cb\&scene=21#wechat_redirect?trk=cndc-detail)》和《[一文搞懂 Amazon IAM 权限 基础篇下 实战](https://mp.weixin.qq.com/s?\__biz=MzkyNTIxMjczMw==\&mid=2247488028\&idx=1\&sn=c67ca3c5e455d2feda0efe8bbbe90823\&chksm=c1cb5b4ef6bcd258c585d447477799631a9e19181367e5518fe47232c4de8497c66029ad79e6\&scene=21#wechat_redirect?trk=cndc-detail)》 通过亚马逊云科技中控台进入 IAM 界面,在左边选择 “Roles”,点击 “Create role” ![image.png](https://dev-media.amazoncloud.cn/cc5483b828cd4d61bb32016d242e52c1_image.png "image.png") image-20240215125301647 在配置页面,选择 “Amazon Service”,在 Use case 下面搜索 “System Manager”,选择第一项 “System Manager”,然后点击 “Next” ![image.png](https://dev-media.amazoncloud.cn/763ed0b22da541019afa609538782fb2_image.png "image.png") image-20240215125458133 在配置 policy 界面,搜索 “sns”,然后勾选 “AmazonSNSFullAccess”,点击 “Next”。这里方便起见选了 SNSfullAccess,**生产环境请按需选择(创建)policy**。 ![image.png](https://dev-media.amazoncloud.cn/4d818985af524bd9aa0f526e247f1171_image.png "image.png") image-20240215125718987 添加 role 名称 “tstestSNSFullAccess”,然后点击 “Create role” ![image.png](https://dev-media.amazoncloud.cn/e269bdd02e3b40f58e7c97013d6581c7_image.png "image.png") image-20240215130008908 创建成功 ![image.png](https://dev-media.amazoncloud.cn/8f59382814e449078a57e1a93bfd09b8_image.png "image.png") image-20240215130034953 搜索刚才创建的 role,记下 ARN “arn:amazon:iam::252557384592:role/tstestSNSFullAccess” ![image.png](https://dev-media.amazoncloud.cn/89303b97d195432092da754c43c4da53_image.png "image.png") image-20240215131753624 #### 4. 添加Remediation 在 Config 界面,点击我们在上一篇文章中添加的 rule “ec2-volume-inuse-check” ![image.png](https://dev-media.amazoncloud.cn/9e9b8525fa704b198b9f89f6e94cd2c1_image.png "image.png") image-20240215132021686 然后在 Action 中点击 “Manage remediation” ![image.png](https://dev-media.amazoncloud.cn/f0938c566301400ba7040d123ea964ee_image.png "image.png") image-20240215132127928 在配置页面进行以下配置,然后点击 “Save changes” * 选择 Automatic remediation * 在 Remediation action details 中选择 “Amazon-PublishSNSNotification” * Resource ID parameter 中选择 Message。这样不合规的 resource id 就会做为邮件内容发送 * 在 Parameters 中添加上面记下的 TopicArn 和新创建的 IAM role 的 ARN ![image.png](https://dev-media.amazoncloud.cn/a56287e8c36f4df9b7f278eeb3bb3d8e_image.png "image.png") image-20240215132552042 新增加的 Remediation action ![image.png](https://dev-media.amazoncloud.cn/62639d5e6db14da88c35fd77e4654b98_image.png "image.png") image-20240215133021273 #### 5. 新增 EBS 并测试 我们用《Amazon Config Managed Rules 测试 上篇》一文中的方法添加一个 EBS。 ![image.png](https://dev-media.amazoncloud.cn/a56c823ab98040bbbcbb6d982b892c9a_image.png "image.png") image-20240215133433148 然后等个3,4分钟,在 Config 的 Dashboard 界面刷新,可以看到新增一条不合规的记录 ![image.png](https://dev-media.amazoncloud.cn/7d2c57f2a5b749059d5d75b4bdc0ff1e_image.png "image.png") image-20240215133858491 点击这一条可以看到具体的资源信息,也就是上面我们新建的 EBS ![image.png](https://dev-media.amazoncloud.cn/c9e543f4f7644fa6b1ef2e6b00e8d72a_image.png "image.png") image-20240215133949475 再过1,2分钟邮箱也会收到如下信息 ![image.png](https://dev-media.amazoncloud.cn/0b06411c00c948b8b70dc95e9eb31d9f_image.png "image.png") image-20240215134112038 说明: 这个邮件只有 resource id 而没有其它信息,这点比较让人迷惑。这时我们可以在 Remidiation 设置页面,把 Resource ID parameter 改为 “n/a”,然后在 Message 里写上 “ec2-volume-inuse-check noncompliant”,这样通过邮件正文就知道是 ec2-volume-inuse-check 有问题了。 ![image.png](https://dev-media.amazoncloud.cn/f785f639c6144be88239c983c82f1d5c_image.png "image.png") image-20240215142331033 ### 总结 Remediation 主要就是用 SSM 的 document 来做修复,像上面这个例子就是用 Amazon-PublishSNSNotification 来发送信息。 如果在 Remediation 中配置的 Role 权限不正确,比如我随便给了个 ASG 相关的 role ![image.png](https://dev-media.amazoncloud.cn/b44e0d07cecb42a7860292ca23e47c15_image.png "image.png") image-20240215143824328 那么 rule 还是会正确评估,只是 Remediation 的步骤会报错如下。这个错没有其它具体信息,所以配置的时候还是需要注意一下 ![image.png](https://dev-media.amazoncloud.cn/49ae657a720a4499bb4d91f6469adad1_image.png "image.png") image-20240215143735865 ### 后记 写文章又累又爽。 喜欢请点赞,禁止转载,转发请标明出处 关注 B 站 UP 主“我是手拉面” 观看更多视频 51CTO 博客 https\://blog.51cto.com/tansong?trk=cndc-detail 微信公众号“全是亚马逊云科技干货” ![image.png](https://dev-media.amazoncloud.cn/24252d5508c54452afcec4117453307b_image.png "image.png") ![image.png](https://dev-media.amazoncloud.cn/9f7e7ba7346c4ed6983cdf97aa07167c_image.png "image.png") [![3.png](https://dev-media.amazoncloud.cn/42c3d684ead64d6682e644950d0e87ac_3.png "3.png")](https://summit.amazoncloud.cn/2024/register.html?source=DSJAVfG2GS7gEk2Osm6kYXAa+8HnSEVdbCVjkuit7lE= )
目录
亚马逊云科技解决方案 基于行业客户应用场景及技术领域的解决方案
联系亚马逊云科技专家
亚马逊云科技解决方案
基于行业客户应用场景及技术领域的解决方案
联系专家
0
目录
关闭