美文网首页AWS
亚马逊之IAM

亚马逊之IAM

作者: azzgo | 来源:发表于2016-06-12 15:56 被阅读1336次

IAM是亚马逊的身份认证系统,英文全称是Identity and Access Management。主要管理的是用户或者应用对AWS资源的访问权限控制。

IAM控制台

IAM主要有User, Group, Role, Policies, Identity Provider等概念, 下面对这几个概念进行简单地介绍

Concept

User

User(用户),操作AWS资源的最直观,也是最终的载体。

我们注册AWS用的账户也叫根账户,具有AWS所有的访问权限,AWS建议日常使用不要使用根账户来操作。而是单独在IAM控制台中创建User。

一般企业在自己的内部系统中都有自己的一套用户系统,AWS提供了AssumeRole和Federation来将外部账户和AWS的资源结合。在企业内部账户登录后,在登录AWS使用AssumeRole或者Foderation认证通过后,AWS会给予一个临时token,相应的创建一个临时账户,可以操作许可的AWS资源。

User可以访问IAM设置的别名地址登录控制台(格式为https://[别名].signin.aws.amazon.com/console),注意登录的账户需要有控制台访问权限。

Group

Group(组),可以将用户分组,也可以定义组策略(Policies)。

Role

Role(角色),可以绑定一系列的策略(Policies),常用来定义第三方登录(比如上面提到的公司账户)账户的AWS操作权限,或者接入应用对AWS的操作权限。和组不同,Role并不能添加已有的用户。

Policies

Policies(策略),定义对AWS操作权限的描述,AWS其实已经有了很多內建策略,如果我们并不需要那么细粒度的权限把控,其实并不需要我们自己定义。不过如果我们需要自己写策略的话,其实AWS为我们准备了策略生成器,大部分工作是可以通过表单选择完成。

策略生成器

Identity Provider

Identity Provider(身份提供商),如果需要外部提供商登录,比如常见的比如Google, FaceBook这类的,就需要添加Identity Provider并配置相关选项,在两者间建立互信机制。AWS支持OpenID和SAML联合登录。

配置AWS Cli

创建IAM用户时会给予你一份证书,包含Access Key ID和Secret Access Key

生成证书

当你AWS CLI安装完成后,需要运行aws configure配置CLI:

➜  ~ aws configure
AWS Access Key ID:      # IAM的Access Key ID
AWS Secret Access Key:  # IAM的Secret Access Key
Default region name:    # 默认操作Region的名称(具体参考http://docs.aws.amazon.com/zh_cn/general/latest/gr/rande.html)
Default output:         # 输出格式json/text/table

配置OK后就可以使用Cli操作许可的AWS资源。

关于IAM最佳实践

  • 隐藏根账户证书
    根账户不应该拥有证书,因为根账户拥有AWS最大的权限,应当和保护信用卡信息一样重视。
  • 创建单独的管理员IAM账户
    因为IAM账户易于管理,容易改变其权限和整个收回账户,所以推荐使用IAM账户管理AWS,而不是使用AWS根账户。
  • 使用组赋予权限
  • 使用强密码
  • 使用多重验证
  • 对应用赋予单独的IAM账户
  • 最小权限
  • 通过使用角色而非共享证书来委托访问,其他AWS账户
  • 定期交替轮换证书,证书需要时常更新
  • 删除不需要的证书
  • 使用策略条件来增强安全性
  • 监控 AWS 账户中的活动

具体有关最佳实践的描述参见http://docs.aws.amazon.com/zh_cn/IAM/latest/UserGuide/best-practices.html

相关文章

  • 亚马逊之IAM

    IAM是亚马逊的身份认证系统,英文全称是Identity and Access Management。主要管理的是...

  • AWS IAM 学习总结

    什么是IAM? AWS Identity and Access Management (IAM) 是一种 Web ...

  • AWS node API使用记录

    IAM建立Role “Has prohibited field”问题 使用 建立IAM角色时,使用的AssumeR...

  • [AWS] 创建IAM角色

    AWS上有IAM的概念,IAM角色可以更加精准的控制权限,方便扩展。以下是我在部署路印时,根据需要创建IAM角色的...

  • AWS IAM

    Root User Credentials创建 AWS 账户时,会创建一个用于登录 AWS 的 AWS 账户根用户...

  • Iam Blair

    看了一部电影 我是布莱尔 很无聊的开头 过程是他一直在争取自己合法的补贴 帮助同样困苦的人 我是因为看到评分9.1...

  • 如何发布package到npm社区

    以发布一个iam-sun-iam-moon的package到npm为例; 1、首先需要安装node和npm 2、编...

  • 完整的 IAM 初学者指南/注意事项:AWS 中的 IAM 是什

    IAM 代表“身份和访问管理”,它在 AWS 内提供了一个集中的控制中心,并与所有其他 AWS 服务集成。 IAM...

  • 153 关于选择

    Faced with selection,Iam at a loss and don't know how to ...

  • AWS - Identity and Access Manag

    IAM is eventually consistent. Workflow Principal A princi...

网友评论

    本文标题:亚马逊之IAM

    本文链接:https://www.haomeiwen.com/subject/alwedttx.html