在开发新产品并发现合适的产品市场时,每个团队都需要快速行动。 尤其是初创公司,因为公司的整个未来都取决于快速找到为您的产品付款的人。

对于初创企业和其他团队来说, Amazon Web Services是令人难以置信的工具,可以快速构建其应用程序和基础架构。 这些团队通常具有比适当的系统操作更强大的开发背景。

AWS提供了出色的工具来处理密钥,身份验证和安全性,但是由于经常出现更为紧迫的问题,因此许多团队并未对此进行研究。

我们想介绍几个概念和功能,这些功能将帮助您以最小的努力提高基础架构的安全性。

身份和访问管理(IAM),AWS安全的核心

IAM(身份和访问管理)是AWS安全系统的核心。 它使您可以管理基础架构中的用户,组和不同角色。 您可以创建具有不同权限的不同功能组,并将人员添加到这些组中。 这样,一旦人们移入其他组并且不再需要访问系统的每个部分,就可以轻松更改权限。

您可以将多个策略附加到用户,组或角色,以涵盖对不同AWS服务或不同资源的访问。

IAM文档易于阅读,并且浏览一遍绝对很有趣。 它以HTML,PDF或Kindle的形式提供,因此您甚至可以在上下班途中阅读。

不要使用提供给您的AWS账户的默认密钥

您可以对AWS采取的第一个也是最重要的措施是不使用提供给您的AWS账户的默认密钥。 该密钥具有对每个系统的完全访问权限。 这是一个主要的安全问题,因为泄露此密钥将意味着您使其他人可以访问基础结构的每个部分。 此外,随着时间的流逝,很难确定在基础架构中使用密钥的位置,因此,一旦要更改密钥,就必须在没有任何指针的情况下搜索所有基础架构。

为应用程序的不同用途创建用户或组使该部分可以进行自我记录,因此,每当要更改密钥时,您都知道基础结构的哪一部分。

为每个人创建一个用户帐户

第一步,不建议登录到主要AWS账户。 团队中需要访问AWS的每个人都应该使用不同的凭据获得自己的账户。 通过将这些用户添加到特定的组中,您可以轻松添加或删除权限,而不会丢失谁可以执行的操作。 不要对特定用户设置权限,而是为该权限创建一个组,因为它是自记录文档,可以为每个人更改。 在下图中,我们为管理员,财务和API访问创建了不同的组。

我们财务组中的用户只能访问我们的帐单。 即使万一他们的帐户被盗,也无法访问任何基础架构。

保护用户帐户的第二个重要步骤是对所有用户帐户启用两因素身份验证。 登录到系统并有权访问重要资源的每个人都需要启用两个因素。 作为管理员,您可以检查IAM的用户详细信息页面中是否启用了两个因素。 您可以立即为团队中的每个新员工启用此功能。

例如,以下用户未启用两个因素。 通过添加它并遵循向导,可以大大提高安全性。

对具有指定功能的角色使用多个键

如前所述,您永远不要使用您的AWS账户的主键来访问API。 这并不意味着只创建一个管理员用户并在任何地方使用此密钥。

用户,组和角色应仅具有完成一项特定任务所需的特定权限。 不要混在一起。 也许您将来希望将任务放置到另一台服务器上。 如果您组合了权限,则必须将其分成不同的组或角色。 您确实应该将这些与一开始区别开。

不要在EC2实例中使用密钥

IAM鲜为人知的功能是角色以及如何将其连接到基础结构的不同部分。 例如,如果您有一个应能够读取数据或将数据上传到S3的应用服务器。 过去,您可能已将AWS机密和访问密钥添加到计算机中,因此它可以使用它们来访问S3。

相反,您可以创建一个角色,该角色包括上载到特定S3存储桶的权限,并将EC2实例设置为使用此角色。 如果您将AWS开发工具包的不同语言使用,它们将自动生成具有与角色中定义的相同权限的临时密钥。

在IAM中创建角色

首先,您需要在IAM for EC2中创建一个新角色。 您可以为Opsworks之类的不同服务创建角色,这些角色可以为您调用AWS API。

然后创建一个策略,让您访问特定的S3存储桶

将以下策略导入向导:

{"Version": "2012-10-17","Statement": [{"Sid": "Stmt1385708770000","Effect": "Allow","Action": ["s3:Get*","s3:List*","s3:DeleteObject","s3:PutObject","s3:PutObjectAcl","s3:PutObjectVersionAcl"],"Resource": ["arn:aws:s3:::testbucket/*","arn:aws:s3:::testbucket"]}]
}

这将只允许对testbucket进行读写访问,而不能访问其他S3存储桶。 您可以在IAM文档中阅读有关政策的更多信息。 您可以将策略限制为具有ARN,Amazon资源名称的特定实例,存储桶或其他基础结构项目,就像我们在上述示例中对testbucket所做的那样。 AWS拥​​有有关ARN的大量文档

现在,我们想将角色连接到EC2实例。 每当您启动一个新实例时,都将该实例的IAM角色设置为我们刚刚创建的角色。

在这里,我们将角色设置为checkbot

现在,无论何时调用AWS API,您都无需提供任何密钥,因为它们将自动为您创建具有正确权限的密钥。 从现在开始,实例内部不再需要任何键,这使整个设置更加简洁和易于使用。

启用Cloudtrail

Cloudtrail是一项去年11月在AWS:reInvent上发布的新服务。 它将自动将对AWS API的每次调用记录到S3存储桶中。 这可以帮助将来进行审核。

只需单击几下即可完成不到30秒的设置,几乎不需要花任何费用(您只需为S3存储桶付费,而无需为Cloudtrail付费),并可以在将来为您节省资金。 去做就对了!

结论

AWS是一个庞大而复杂的系统,但提供了轻松的第一步来实现您的产品和安全性。 您可以遵循一些步骤和实践来大量提高安全性,而无需付出太多努力。 当然,从长远来看,您需要投资于安全性,并且从阅读IAM文档开始是一个好的开始。

作为初创公司,我们希望快速发展,制造产品并交付给我们的客户。 所有这些对于启动公司来说都是必要且重要的。 通过一些简单的修补程序,您可以尽早提高安全性,从而不会由于可预防的原因而泄漏客户数据。

船长而繁荣!

更多的信息

  • 我希望在开始之前知道的AWS技巧
  • AWS上的旋转凭证文档
  • Trevor Rowe的凭证管理博客文章
  • AWS的权限和策略文档
  • Amazon资源名称文档
参考:来自Codeship Blog博客的JCG合作伙伴 Florian Motlik 使用IAM保护您的AWS基础设施 。

翻译自: https://www.javacodegeeks.com/2014/03/securing-your-aws-infrastructure-with-iam.html

使用IAM保护您的AWS基础架构相关推荐

  1. aws iam 架构图_使用IAM保护您的AWS基础架构

    aws iam 架构图 在开发新产品并发现合适的产品市场时,每个团队都需要快速行动. 尤其是初创公司,因为公司的整个未来都取决于快速找到为您的产品付款的人. 对于初创企业和其他团队来说, Amazon ...

  2. 揭秘 AWS 基础架构底层运维和构建之道!

    整理 | 夕颜 出品 | CSDN(ID:CSDNnews) 在去年的AWS re:Invent大会上,AWS全球基础架构和客户支持资深副总裁Peter DeSantis在主题演讲中分享了AWS基础网 ...

  3. aws terraform_如何使用Terraform管理您的AWS基础架构

    aws terraform 什么是Terraform? (What is Terraform?) Hashicorp Terraform Hashicorp Terraform Hashicorp T ...

  4. aws terraform_如何使用Terraform通过Direct Connect扩展AWS基础架构

    aws terraform Sometimes, when you face a challenge, you might be able to solve it with routine proce ...

  5. 轻量级虚拟桌面基础架构(VDI) 解决方案降低 IT 成本并保护知识产权

    轻量级虚拟桌面基础架构(VDI) 解决方案降低 IT 成本并保护知识产权 通过从任何地方和任何设备进行安全快速访问,为混合云环境启用远程工作. ETX突出优势 1.交付具有成本效益且可扩展的 VDI ...

  6. 使用轻量级虚拟桌面基础架构 (VDI) 解决方案降低 IT 成本并保护数字知识产权

    使用轻量级虚拟桌面基础架构 (VDI) 解决方案降低 IT 成本并保护数字知识产权 通过从任何位置和任何设备进行安全快速的访问,实现混合云环境的远程工作. 突出亮点: 1.提供经济高效且可扩展的 VD ...

  7. Nutanix混合云基础架构现已支持亚马逊云服务(AWS)

    携手AWS,Nutanix Clusters支持应用云间无缝迁移及统一操作,助力企业加速云上旅程 企业云计算领导者Nutanix(纳斯达克:NTNX)今日宣布,Nutanix Clusters现已在亚 ...

  8. 亚马逊AWS云架构支柱与数字化转型

    企业无论大小,其所提供的产品或服务应体现一定的竞争优势.就如目前典型的云服务厂商亚马逊AWS,其创造性的提出云架构的六大设计支柱,这些支柱充分体现了云作为一个产品的竞争优势. 何谓六大支柱,它们是可靠 ...

  9. AWS助理架构师认证考试样题答案及解析

    SAA样题分享--与正式考试难度相同: 1.一个位于EC2上运行的数据库实例,数据库软件备份功能需要快存储支持,备份数据的最低成本存储选项是什么? A .Amazon Glacier B .EBS C ...

最新文章

  1. PostgreSQL 10.1 手册_部分 II. SQL 语言_第 10 章 类型转换_10.4. 值存储
  2. 带有互感线圈的基本串并联问题
  3. 【异常】Error: ERROR 1012 (42M03): Table undefined. (state=42M03,code=1012)
  4. 依赖ConstraintLayout报错,Could not find *****,Failed to resolve:*****
  5. python程序文件扩展名有_python程序文件的扩展名称是什么
  6. 抑郁症的前期体现有哪些
  7. There is no configured/running web-servers found! Please, run any web-configuration and hit the Refr
  8. thinkphp3.23开发的“二当家的”官网
  9. 在SQL Server2005中使用 .NET程序集
  10. Nmap源码分析(整体架构)
  11. 计算几何--二维几何前置基础知识
  12. 躺赚的意思不是做到高级别就觉得高枕无忧了
  13. fastica java_发一篇CCF-C论文有多难?
  14. 《自己动手做交互系统》——第1章 欢迎来到有形交互的世界 1.1 项目简介和背景知识...
  15. Repast——参数栏实现下拉列表对应不同的功能实现
  16. TWaver可视化软件(一)初识三维可视化软件
  17. cms,crm名词解释
  18. 【Computer Organization笔记08】指令系统概述,指令格式,寻址方式
  19. 汉堡式折叠html,纯CSS3菜单汉堡包按钮变形动画特效
  20. 冰冻效果Shader案例

热门文章

  1. MyBatis_1 简介
  2. mysql group和order_mysql 用 group by 和 order by同时使用
  3. mysql 时间 1_(转)mysql日期时间函数1
  4. dd命令打包多个文件_linux的tar命令详情;linux多个文件压缩打包到一个压缩文件...
  5. spring(3)高级装配
  6. tomcat(17)启动tomcat
  7. wcf:rest_REST:管理多对多关系
  8. jdk类加载器执行步骤_[JDK 11] jcmd中的类加载器层次结构详细信息
  9. java8 streams_Java 8 Streams:过滤和谓词否定
  10. 设计模式示例_代理设计模式示例