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

子账户Lambda借助管理账户角色获取联系人信息权限问题

解决方案

1. 让管理账户(Account_002)有权访问其他账户的联系人信息

AWS的account:GetContactInformationAPI默认仅允许账户自身或组织根账户调用,组织管理账户无法直接跨账户获取其他账户的联系人信息,需通过以下步骤配置授权:

  • 步骤1:在每个目标账户(Account_000、Account_001)创建IAM角色
    在每个需要被获取联系人信息的账户中,创建一个IAM角色(比如命名为AllowManagementAccountAccessContactInfo),配置:

    • 信任策略:允许管理账户(Account_002)的ARN扮演该角色,示例信任策略:
      {
        "Version": "2012-10-17",
        "Statement": [
          {
            "Effect": "Allow",
            "Principal": {
              "AWS": "arn:aws:iam::Account_002_ID:root"
            },
            "Action": "sts:AssumeRole"
          }
        ]
      }
      
    • 权限策略:授予account:GetContactInformation权限,示例权限策略:
      {
        "Version": "2012-10-17",
        "Statement": [
          {
            "Effect": "Allow",
            "Action": "account:GetContactInformation",
            "Resource": "*"
          }
        ]
      }
      
  • 步骤2:给管理账户的跨账户角色添加sts:AssumeRole权限
    更新Account_002中现有跨账户角色的权限策略,添加允许扮演上述目标账户角色的权限:

    {
      "Effect": "Allow",
      "Action": "sts:AssumeRole",
      "Resource": [
        "arn:aws:iam::Account_000_ID:role/AllowManagementAccountAccessContactInfo",
        "arn:aws:iam::Account_001_ID:role/AllowManagementAccountAccessContactInfo"
      ]
    }
    
  • 步骤3:调整调用逻辑
    管理账户在获取联系人信息时,需要先通过sts:AssumeRole切换到目标账户的角色,再调用account:GetContactInformationAPI。

2. 让Account_001的Lambda函数有权获取其他账户的联系人信息

基于上述管理账户的配置,只需扩展Lambda的权限和执行逻辑即可:

  • 步骤1:确保管理账户的跨账户角色已配置好sts:AssumeRole权限
    确认Account_002中的跨账户角色已经具备扮演目标账户(Account_000、Account_001)联系人访问角色的权限(参考问题1的步骤2)。

  • 步骤2:Lambda函数调整执行逻辑
    Lambda函数的执行流程需要修改为:

    1. 先扮演Account_002中的跨账户角色,获取组织内所有账户的基础信息(标签、账户ID、加入类型等)。
    2. 针对每个目标账户(除根账户外),调用sts:AssumeRole切换到该账户的AllowManagementAccountAccessContactInfo角色。
    3. 使用切换后的角色凭证调用account:GetContactInformation获取联系人信息。
  • 可选优化:直接授权Lambda角色
    如果不想通过管理账户中转,也可以在目标账户(Account_000)中创建允许Account_001的Lambda执行角色扮演的IAM角色,直接授予account:GetContactInformation权限,同时给Lambda执行角色添加sts:AssumeRole权限来扮演该角色。不过这种方式在多账户场景下维护成本较高,推荐通过管理账户统一管控。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 19:50:34