在这个系列的前几篇博文中,我们讨论了如何让EC2实例更安全地使用AWS服务,其中提到最多的就是减少密钥数量。在之前我们也讨论过,使用Roles一个更潜在的好处就是控制EC2实例所拥有的权限。在这篇博文中,我们就会深入探讨这个问题。 提醒一下,本系列博文主要包括: 5. 最小化权限:通过strong/explicit策略限制IAM实体行为 6. 定期循环所有秘钥 7. 在任何可能的地方通过STS AssumeRole来设置IAM角色 8. 使用AutoScaling来抑制DDoS攻击 9. 除非你有怪癖,在任何EC2/ELB 安全组中都禁用0.0.0.0/0 10. 认真对待world-readable/listable S3 bucket策略 最佳实践五:最小化权限——通过strong/explicit策略限制IAM实体行为 如果你有一个文件用于处理对一个S3 bucket有存储和检索文件需求的应用程序,从SQS中取得它的任务列表,并且需要给另一个应用程序发送作业的完成通知。 而在AWS服务中,也只有应用程序调用AWS API服务时才会被验证。同时,在上文中,我们提到Roles使用AWS STS为应用程序取得一个临时的验证令牌。那么我如何才能保证,应用程序只为S3、SQS和SNS使用这个服务。 最小化权限:在权限分配上,系统中每个程序和用户都应该只获得完成这个作业的最小权限子集。首先,通过这个原则可以最小化事故或者错误发生时产生的不良影响。其次,将权限应用程序间交互降到最低有助于进行正确的操作,从而非故意、不需要或者不正确的权限使用将很少发生。这样依赖,如果一个错误因某个权限误用产生,需要审查的应用程序数量也可以降到最低。换句话说,如果有个机制可以提供“防火墙”特性,最小化权限设计提供了防火墙选址的基本原则。军事安全中的“need-to-know”就是这个原则的一个体现。 AWS IAM Policies让我们可以在IAM实体上实现Least Privilege 这个理念。IAM就是一个用户,用户可以在IAM服务中建立Groups或者Roles。通过使用策略来限制EC2 Role的访问,用户可以保证EC2实例只做该做的事情。 同时,通过明确某个服务API可以访问的资源,IAM策略还可以进一步控制 API调用S3、SQS和SNS的范围和目标。换句话说,用户不仅可以限制EC2实例到使用S3 PutObject,还可以将其限制到某个S3 Bucket的访问。S3是一个非常特殊的服务,通过S3 Bucket Policy,用户可以进一步限制S3 bucket中的访问权限。在S3安全访问上,我们将更深入的讨论 IAM和 S3 bucket策略。 在某个EC2 Role失控时,通过权限控制,影响可以被控制到可预知范围。如果失控的是管理员权限,那么影响可能扩大到所有AWS服务。 在与开发人员交流时了解到,他们应用程序只需要S3 GetObject、S3 PutObject、SQS ReceiveMessage、SQS SendMessage和SNS Publish权限。因此这里只存在5个服务API调用,或者在IAM Policy 文档语言的5个action。同时,还有基于指定资源的Bucke、SQS Queue和SNS Topic。 用户还可以使用AWS Policy Generator工具来建立一个策略文档,随后将IAM Role与应用程序的EC2实例关联。生成的策略文档如下所示,它可以立即被附属于一个IAM实体上的管理策略和内联策略。
{ "Statement": [ { "Sid": "Stmt1426373228429", "Action": [ "s3:GetObject", "s3:PutObject" ], "Effect": "Allow", "Resource": "arn:aws:s3:::MyCoolBucket/apps" }, { "Sid": "Stmt1426373293262", "Action": [ "sqs:ReceiveMessage", "sqs:SendMessage" ], "Effect": "Allow", "Resource": "arn:aws:sqs:us-east-1:222222222222:MyAppQueue" }, { "Sid": "Stmt1426373337375", "Action": [ "sns:Publish" ], "Effect": "Allow", "Resource": "arn:aws:sns:us-east-1:222222222222:MyAppTopic" } ] }
那么,一个管理员权限的策略文档是什么样的?我查询了aws-cli, 并找到了AdministratorAccess AWS-managed 权限的 IAM Policy最新版本文档:
$ aws iam get-policy-version --policy-arn arn:aws:iam::aws:policy/AdministratorAccess --version-id v1 { "PolicyVersion": { "CreateDate": "2015-02-06T18:39:46Z", "VersionId": "v1", "Document": { "Version": "2012-10-17", "Statement": [ { "Action": "*", "Resource": "*", "Effect": "Allow" } ] }, "IsDefaultVersion": true } }
如你所见,对于IAM User来说,Group或Role这种等级的权限可以带来非常显著的效果。
原文链接:https://blog.evident.io/blog/2015/3/14/top-10-aws-security-best-practices-5-least-privilege
活动推荐: AWSome Day—让您大有作为(北京站)
订阅“AWS中文技术社区”微信公众号,实时掌握AWS技术及产品消息!
AWS中文技术社区为广大开发者提供了一个Amazon Web Service技术交流平台,推送AWS最新资讯、技术视频、技术文档、精彩技术博文等相关精彩内容,更有AWS社区专家与您直接沟通交流!快加入AWS中文技术社区,更快更好的了解AWS云计算技术。
( 翻译/薛童阳 责编/王鑫贺 )
本网页所有文字内容由 imapbox邮箱云存储,邮箱网盘, iurlBox网页地址收藏管理器 下载并得到。
ImapBox 邮箱网盘 工具地址: https://www.imapbox.com/download/ImapBox.5.5.1_Build20141205_CHS_Bit32.exe
PC6下载站地址:PC6下载站分流下载
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox 网页视频 工具地址: https://www.imapbox.com/download/ImovieBox4.7.0_Build20141115_CHS.exe
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算