2020年/02月/23日
IAM笔记
AWS Identity and Access Management (IAM) 是一种 Web 服务,可以帮助您安全地控制对 AWS 资源的访问。您可以使用 IAM 控制对哪个用户进行身份验证 (登录) 和授权 (具有权限) 以使用资源。
模型:Account -> Many User, 账单放在Account上
首次创建AWS账户时会获得一个根用户
身份: 用户,组,角色
用户
AWS Identity and Access Management (IAM) 用户 是您在 AWS 中创建的一个实体,该实体代表使用它与 AWS 进行交互的人员或应用程序。AWS 中的用户包括名称和凭证。
组
IAM 组是 IAM 用户的集合。利用组,可为多个用户指定权限,以便更轻松地管理这些用户的权限
角色
AM 角色 是可在账户中创建的一种具有特定权限的 IAM 身份。IAM 角色类似于 IAM 用户,因为它是一个 AWS 身份,该身份具有确定其在 AWS 中可执行和不可执行的操作的权限策略。但是,角色旨在让需要它的任何人代入,而不是唯一地与某个人员关联。此外,角色没有关联的标准长期凭证(如密码或访问密钥)。相反,当您代入角色时,它会为您提供角色会话的临时安全凭证。
注意这个角色和一般RBAC的区别
策略
可以将策略附加到身份上。策略是 AWS 中的对象;在与身份或资源相关联时,策略定义它们的权限,策略作为 JSON 文档存储在 AWS 中,并在 IAM; 中作为基于身份的策略 附加到委托人
对于一些 AWS 服务,您可以授予对资源的跨账户访问权限。为此,您可将策略直接附加到要共享的资源,而不是将角色用作代理。要共享的资源必须支持基于资源的策略。与基于身份的策略不同,基于资源的策略指定谁(哪个委托人)可以访问该资源。
基于身份的策略是附加到 IAM 身份(如 IAM 用户、组或角色)的权限策略。
基于资源的策略是附加到资源(如 Amazon S3 存储桶或 IAM 角色信任策略)的权限策略。
IAM使用ABAC而不是RBAC,使用传统 RBAC 模型的缺点在于,当员工添加新资源时,您必须更新策略以允许访问这些资源。
ABAC 具备以下优势:
ABAC 权限随着创新扩展
ABAC 需要较少的策略
使用 ABAC,团队可以进行更改和扩展
使用 ABAC 可以实现精细权限
通过 ABAC 使用来自您公司目录的员工属性
使用根用户凭证时,您可以对 AWS 账户中的所有资源进行完全、无限制的访问,包括访问您的账单信息,您还能更改自己的密码。当您首次设置账户时,需要此访问级别。
但是,我们不 建议使用根用户凭证进行日常访问。我们特别建议您不要与任何人共享您的根用户凭证,因为如果这样做,他们可对您的账户进行无限制的访问。无法限制向根用户授予的权限。
IAM 用户不是单独的账户;它们是您账户中的用户。每个用户都可以有自己的密码以用于访问 AWS 管理控制台
最佳实践
隐藏您的 AWS 账户根用户 访问密钥
创建单独的 IAM 用户
使用组向 IAM 用户分配权限
授予最低权限
通过 AWS 托管策略开始使用权限
使用客户托管策略而不是内联策略
使用访问权限级别查看 IAM 权限
为您的用户配置强密码策略
启用 MFA
针对在 Amazon EC2 实例上运行的应用程序使用角色
使用角色委托权限
不共享访问密钥
定期轮换凭证
删除不需要的凭证
使用策略条件来增强安全性
监控 AWS 账户中的活动