You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AWS SSO下Terraform运行用户的跨账号访问配置及自动化问题

AWS SSO环境下Terraform用户跨账号权限管理方案

一、最优方案:利用AWS SSO原生能力

既然已经配置了AWS SSO,直接用它的**权限集(Permission Sets)**实现跨账号权限分配是最简洁的方案,完全不需要手动在非管理账号创建角色或维护信任策略:

  • 在AWS SSO控制台创建权限集,定义Terraform所需的权限(可选用预设的AdministratorAccess,也可自定义策略遵循最小权限原则)
  • 将权限集分配给管理账号中的SSO用户/组,同时选择需要授权的所有非管理账号
  • 用户通过SSO登录后,可直接切换到目标非管理账号,自动获取对应角色的权限,所有信任关系和权限映射由SSO自动维护

二、自定义角色方案的自动化优化

如果必须使用自定义角色的方式,解决信任策略无法指定组的问题,有以下两种可行思路:

1. 信任管理账号整体

在非管理账号的角色信任策略中,允许管理账号下的所有实体扮演该角色,然后通过管理账号的组策略限制可访问的用户:
非管理账号角色信任策略示例:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "AWS": "arn:aws:iam::[管理账号ID]:root"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

管理账号组策略示例(控制组内用户可扮演的角色):

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "sts:AssumeRole",
      "Resource": [
        "arn:aws:iam::[非管理账号ID1]:role/TerraformExecutionRole",
        "arn:aws:iam::[非管理账号ID2]:role/TerraformExecutionRole"
      ]
    }
  ]
}

这种方式下,新增用户只需添加到管理账号的对应组,无需修改任何非管理账号的配置。

2. 信任SSO身份提供商的组

如果SSO使用了外部身份提供商(如Azure AD、Okta),可以在非管理账号的角色信任策略中指定IdP的ARN,并通过SAML断言中的组信息过滤允许访问的用户:
信任策略示例:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Federated": "[你的IdP ARN]"
      },
      "Action": "sts:AssumeRoleWithSAML",
      "Condition": {
        "StringEquals": {
          "SAML:aud": "https://signin.aws.amazon.com/saml"
        },
        "StringLike": {
          "SAML:sub": "*:terraform-users-group"
        }
      }
    }
  ]
}

新增用户时,只需将其添加到IdP中的指定组即可,无需修改AWS侧的任何配置。

3. 批量自动化维护角色

用Terraform统一管理所有非管理账号的角色:

  • 编写一个Terraform模块,封装Terraform执行角色的创建逻辑(包含统一的信任策略)
  • 使用AWS Organizations的数据源aws_organizations_accounts获取所有成员账号
  • 通过循环为每个账号创建角色,后续信任策略更新只需修改模块代码,运行Terraform即可批量同步所有账号的配置

三、方案对比

方案类型优势劣势
AWS SSO原生权限集无需手动维护角色/信任策略,管理便捷,支持细粒度权限分配依赖AWS SSO服务,需已完成SSO配置
自定义角色+信任账号ID配置简单,新增用户仅需在管理账号加组管理账号内的权限控制需严格遵循最小权限
自定义角色+信任IdP组权限控制在IdP层面,AWS侧无需频繁修改依赖外部IdP的SAML配置
单个非SSO用户中心辐射初始配置简单权限集中,审计困难,不符合安全最佳实践

内容的提问来源于stack exchange,提问作者John

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.04 23:27:11