AWS IAM

安全控制 AWS 资源访问的认证与授权服务,通过用户、组、角色和策略提供精细的访问管理

概述

AWS Identity and Access Management (IAM) 是安全管理 AWS 资源访问的服务。通过创建 IAM 用户、组和角色,以 JSON 格式策略定义访问权限,精细控制「谁」可以对「哪些资源」执行「什么操作」。IAM 标准内置于所有 AWS 账户,截至 2026 年 9 月,AWS 说明 IAM 本身不收取额外费用,详情请参阅 AWS 官方定价页面。具备多因素认证 (MFA) 强制、密码策略设置、访问密钥轮换等安全功能。使用 IAM 角色可为 EC2 实例或 Lambda 函数授予临时凭证,无需管理长期访问密钥。IAM Access Analyzer 自动检测可从外部访问的资源,识别非预期的访问许可。

策略设计的最佳实践与最小权限原则

IAM 策略设计的核心是最小权限原则 - 截至 2026 年 9 月,AWS 官方文档将其表述为仅授予执行任务所需的权限。策略由 Effect (Allow/Deny)、Action (API 操作)、Resource (目标资源 ARN)、Condition (附加条件) 组成。截至 2026 年 9 月,AWS 官方的 IAM 安全最佳实践建议先从 AWS 托管策略入门,并指出托管策略面向所有客户提供,对特定用途未必是最小权限,因此建议进一步定义客户托管策略来收紧权限。IAM Access Analyzer 的策略生成功能可基于 CloudTrail 日志中的实际 API 调用历史自动生成最小权限策略。Condition 元素可实现基于 IP 地址、时间、MFA 状态、标签等的条件访问控制。权限边界 (Permissions Boundary) 可设置 IAM 实体可拥有的最大权限上限,防止权限提升。

角色与临时凭证的活用

IAM 角色是 IAM 的核心概念之一,提供无需长期凭证的安全访问方式。EC2 实例配置文件、Lambda 执行角色、ECS 任务角色等通过 STS (Security Token Service) 获取临时凭证,自动轮换无需管理。跨账户访问通过 AssumeRole 实现,在信任策略中指定允许承担角色的主体。服务链接角色 (Service-Linked Role) 是 AWS 服务自动创建和管理的角色,具有该服务运行所需的预定义权限。截至 2026 年 9 月,AWS 官方的安全最佳实践建议尽可能使用临时凭证而非创建访问密钥这类长期凭证,仅在确实需要长期凭证的用途上使用 IAM 用户的访问密钥。

多账户环境中的 IAM 治理

Organizations 环境中,服务控制策略 (SCP) 在组织级别设置权限护栏,限制成员账户可执行的操作。SCP 与 IAM 策略的交集决定最终有效权限。IAM Identity Center (截至 2026 年 9 月的现行名称,原 AWS SSO) 提供跨多账户的集中访问管理,通过权限集 (Permission Set) 统一定义各账户的角色,AWS 官方文档也推荐用它集中管理对各账户的访问。CloudTrail 记录所有 IAM API 调用,Config 规则可持续监控 IAM 配置合规性 (如检测未启用 MFA 的用户、未使用的访问密钥)。截至 2026 年 9 月,AWS 官方的安全最佳实践建议定期审查并删除未使用的用户、角色、权限、策略和凭证,并可将最终访问信息 (last accessed information) 作为判断依据。

参考资料(AWS 官方)

本页的第一手信息来源是 AWS 官方网站及官方文档。最新的规格与价格请以下列官方页面为准。

如本页内容与官方文档不一致,请以官方文档为准。

分享XB!