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

在AWS Organizations新建账号创建资源报错:Assume Role: role ARN not set

问题:Pulumi创建AWS组织账号后跨账号创建IAM用户失败

我尝试采用类似策略,用Python(借助Output.concat)通过Pulumi创建AWS组织账号,并在新账号内创建IAM用户,代码如下:

import pulumi
import pulumi_aws as aws

stack = pulumi.get_stack()

account = aws.organizations.Account(
    f"{stack}-account",
    email="master@example.com",
    role_name=f"{stack}-account-role",
)

provider = aws.Provider(
    f"{stack}-account-provider",
    assume_role={'role_arn': pulumi.Output.concat("arn:aws:iam::", account.id, ":role/", account.role_name)},
)

aws.iam.User("new-iam-user", path='/', opts=pulumi.ResourceOptions(provider=provider))

我在根账号中创建了拥有管理员权限的IAM用户,使用该用户凭证执行pulumi up时,遇到如下错误:

Diagnostics:
  aws:iam:User (new-iam-user):
    error: unable to validate AWS credentials.
    Details: Assume Role: role ARN not set
    
    Make sure you have:
    
         • Set your AWS region, e.g. `pulumi config set aws:region us-west-2`
         • Configured your AWS credentials as per https://pulumi.io/install/aws.html
         You can also set these via cli using `aws configure`.

我查看了role_name属性文档,认为逻辑可行,但始终报错,请问问题出在哪?


解决方案

问题出在Pulumi Output值的异步处理上,直接在assume_role字典中使用Output.concat无法让Pulumi正确识别依赖顺序,导致构建角色ARN时account.id还未生成,进而报错角色ARN未设置。

修改代码,用apply方法来构建assume_role配置,确保只有在account.id可用后才生成完整的角色ARN:

import pulumi
import pulumi_aws as aws

stack = pulumi.get_stack()

account = aws.organizations.Account(
    f"{stack}-account",
    email="master@example.com",
    role_name=f"{stack}-account-role",
)

# 通过apply异步构建assume_role配置
provider = aws.Provider(
    f"{stack}-account-provider",
    assume_role=account.id.apply(lambda acc_id: {
        'role_arn': f"arn:aws:iam::{acc_id}:role/{account.role_name}"
    }),
)

aws.iam.User("new-iam-user", path='/', opts=pulumi.ResourceOptions(provider=provider))

额外注意事项

  • 确保根账号的IAM用户拥有创建AWS组织账号以及假定新账号目标角色的权限(AWS组织创建账号时默认会在新账号生成指定role_name的角色,并允许管理账号假定,但需确认无权限拦截)
  • 已正确配置AWS区域,可通过命令pulumi config set aws:region <你的区域>设置

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 08:25:20