Single Sign-On 是一种统一身份认证系统,用于集中管理“人如何登录多个 AWS 账号”。它通过企业身份源(如 Azure AD、Okta 等)进行认证,用户登录一次后即可访问多个 AWS 账号或应用。其特点是集中管理用户身份、基于角色分配权限、无需为每个账号创建独立 IAM User。比如,公司员工通过企业邮箱登录 AWS SSO 门户,选择“生产只读角色”进入生产账号,背后系统实际上会自动帮用户执行一次 AssumeRole,并发放临时凭证。
IAM Roles
IAM Roles for Services 指的是当某些 AWS 服务需要代表你去访问其他 AWS 资源时,通过分配 IAM Role 来授予它们所需权限的机制。也就是说,服务本身没有权限,必须通过绑定的 IAM Role 才能执行操作,例如 EC2 实例通过 Instance Role 访问 S3、Lambda 函数通过 Execution Role 访问 DynamoDB,或 CloudFormation 通过专用 Role 创建资源。这样可以避免在服务中存储长期凭证,并实现基于最小权限原则的安全访问控制。
IAM Security Tools
IAM Security Tools 主要用于帮助你审计和优化权限配置:IAM Credentials Report(账号级)可以生成一份报告,列出账户中所有 IAM 用户及其凭证状态(如是否启用密码、是否启用 MFA、Access Key 是否轮换等),用于整体安全检查;而 IAM Access Advisor(用户级)则显示某个用户或角色被授予了哪些服务权限,以及这些服务最近一次被访问的时间,帮助你识别未使用的权限,从而收缩策略、实现最小权限原则。
Permission Boundary(权限边界)是一种高级 IAM 功能,用一个 Managed Policy 来定义某个 IAM User 或 Role 能拥有的“最大权限上限”。它本身不授予权限,而是限制身份最终能生效的权限范围。权限边界只支持 User 和 Role(不支持 Group)。
机制
控制层级
控制对象
Identity Policy
赋权
User / Role
Permission Boundary
身份级上限
单个 User / Role
SCP
账号级上限
整个 Account / OU
IAM Identity Center
AWS IAM Identity Center(原 AWS Single Sign-On)是一个统一身份与访问管理服务,用于实现企业级的单点登录(SSO)。它允许用户通过一次登录访问多个 AWS 账号(基于 AWS Organizations)、各类业务云应用(如 Salesforce、Microsoft 365 等)、支持 SAML 2.0 的应用,以及 EC2 Windows 实例。Identity Center 可以使用内置身份存储,也可以集成第三方身份提供商(如 Active Directory、Okta、OneLogin 等),实现集中身份管理与权限分配。本质上,它解决的是“人如何统一登录并访问多个账号和应用”的问题,并在背后通过分配 IAM Role 来控制访问权限。
Microsoft Active Directory
Microsoft Active Directory(AD)是运行在 Windows Server 上的企业级目录服务,本质上是一个集中管理身份和资源的数据库,用于存储和管理用户账户、计算机、组、打印机、文件共享等对象,并通过域控制器(Domain Controller)提供统一的身份认证与授权机制。它支持集中创建账号、分配权限、组织结构分层管理(树和域结构),是传统企业内部实现单点登录和统一安全管理的核心系统。
AWS Directory Services
AWS Directory Services 是 AWS 提供的一组托管目录解决方案,用于在云上运行、连接或兼容 Microsoft Active Directory。
服务类型
是否创建新 AD
是否可与本地 AD 建立信任
适用场景
AWS Managed Microsoft AD
✅ 是
✅ 支持双向信任
企业级 AD 上云或混合架构
AD Connector
❌ 否(仅代理)
❌ 不建立信任(直接连接本地 AD)
使用现有本地 AD 做认证
Simple AD
✅ 是(轻量级)
❌ 不支持信任
小规模或测试环境
AWS Control Tower
AWS Control Tower 是一个用于快速搭建和治理多账号 AWS 环境的管理服务,它基于 AWS Organizations,按照最佳实践自动创建和组织多个账号,并通过预设的“护栏(guardrails)”实现持续的安全与合规管控。它可以自动化环境初始化、策略管理和合规监控,帮助企业在多账号架构下统一管理访问控制、检测策略违规并提供可视化合规仪表盘,是企业级 AWS 环境落地和治理的自动化解决方案。
在跨账号访问场景中,可以通过两种方式授权:一种是使用 IAM Role 作为中介(代理),即账户 A 的用户先 Assume 账户 B 的 Role,再以该 Role 的权限访问目标资源;此时用户会“放弃”原有权限,完全使用 Role 的权限。另一种是使用 Resource-based Policy(资源策略),直接在资源(如 S3 Bucket)上写策略,允许账户 A 的用户访问;这种方式下用户不会切换身份,而是保留原有权限,再叠加资源允许。两者都能实现跨账号访问,但 Role 更适合复杂授权和最小权限控制,而资源策略更适合直接授权给特定主体。
当 EventBridge 规则触发时,如果目标服务支持资源策略(如 Lambda、SNS、SQS、S3、API Gateway),则需要在目标资源上添加 resource-based policy,允许 EventBridge 调用它;而如果目标服务不支持资源策略(如 Kinesis、EC2 Auto Scaling、ECS 等),则需要为 EventBridge 配置一个 IAM Role,让 EventBridge 通过该 Role 获得访问目标服务的权限。简单来说:支持资源策略的服务用 resource-based policy,不支持的就让 EventBridge Assume 一个 IAM Role 来执行操作。
在 AWS Organizations 环境下,IAM Identity Center 通过 Permission Set 来实现跨账号权限管理。Permission Set 本质上是一组 IAM Policy 的逻辑集合,用来定义某类用户在某个账号中应具备的权限。当你把一个 Permission Set 分配给用户或用户组,并指定目标 AWS 账号后,Identity Center 会在该账号中自动创建并管理一个对应的 IAM Role。用户登录后无需手动切换配置,系统会自动让其 Assume 这个 Role,从而获得在目标账号中的访问权限。简单来说,Permission Set 是权限模板,而真正生效的是登录时在目标账号中生成并被 Assume 的 IAM Role。
IAM Identity Center 可以将 Active Directory 作为身份来源使用,实现企业统一登录和跨账号访问控制。它可以直接连接 AWS Managed Microsoft AD(开箱即用),也可以通过建立信任关系或使用 AD Connector 接入自建本地 AD。一旦集成完成,Identity Center 就可以使用 AD 中的用户和组来分配 AWS 账号权限或 SaaS 应用访问权限,用户登录后会通过对应的 IAM Role 获得授权,从而实现基于企业现有身份体系的统一认证与访问管理。
AD(存员工账号)
↓
IAM Identity Center(用 AD 做身份源)
↓
SSO 登录
↓
自动 AssumeRole
↓
CLI 获得临时凭证