AWS IAM 经典2010年〜
安全管理 AWS 资源访问权限的身份认证与授权服务
它能做什么
AWS IAM (Identity and Access Management) 是一项用于安全控制 AWS 资源访问的服务。您可以精细定义谁 (用户、角色) 可以对哪些资源 (S3、EC2 等) 执行哪些操作 (读取、写入、删除)。IAM 本身免费使用,创建 AWS 账户后即可自动使用。
使用场景
用于团队成员的 AWS 访问权限管理、应用程序对 AWS 服务的访问控制、向外部合作伙伴授予临时访问权限、基于合规要求实施访问策略,以及多账户环境下的访问管理等,是 AWS 安全体系的基础。
日常类比
可以将其比作公司的门禁管理系统。只有持有工牌 (IAM 用户) 的人才能进入大楼,不同部门可进入的楼层 (访问权限) 各不相同。财务部可以进入财务系统的房间,开发部可以进入服务器机房,但彼此不能进入对方的区域。管理员可以随时更改权限。
什么是 IAM
AWS Identity and Access Management (IAM) 是支撑 AWS 安全体系的核心服务。创建 AWS 账户时会生成一个拥有所有权限的根用户,但最佳实践是日常操作不使用根用户,而是创建 IAM 用户或角色并授予最小必要权限。IAM 是全球性服务,不依赖区域,在全球范围内应用相同的配置。
核心概念
IAM 有 4 个核心概念。用户是对应个人的身份标识,用于控制台登录或程序化访问。组是用户的集合,向组授予权限后会应用到所有成员。角色是授予临时权限的机制,用于向 EC2 实例或 Lambda 函数等 AWS 服务授权。策略是以 JSON 格式编写的权限定义文档。
最小权限原则
IAM 运维中最重要的是最小权限原则。只为每个用户或角色授予完成工作所需的最小权限。例如,仅需读取 S3 数据的处理只授予 S3 读取权限,不授予写入或删除权限。使用 IAM Access Analyzer 可以分析实际使用的权限,识别不必要的权限。 如需全面了解最小权限原则,可参考 专业书籍 (Amazon)。
如何开始
要开始使用 IAM,首先在 IAM 控制台创建管理员 IAM 用户,将根用户的使用降到最低。然后为团队成员创建用户和组,并分配 AWS 托管策略 (预定义的权限集)。启用 MFA (多因素认证) 可在密码泄露时保护账户安全。
注意事项
- 不要在日常操作中使用根用户,应设置 MFA 并严格管理
- 不要将访问密钥硬编码在源代码中,应使用 IAM 角色或环境变量
- IAM 免费使用,但配置错误可能导致安全事件,务必贯彻最小权限原则