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

在AWS CDK Python中,跨账号角色ARN应选用哪种Principal类型?

问题解答

你需要使用ArnPrincipal,原因如下:

  • 你的目标是授权另一个账号下的具体角色(ARN为arn:aws:iam::1234:role/otheraccountrole)扮演该角色,ArnPrincipal可以精准指向单个IAM实体的ARN,完全匹配你提供的JSON信任策略要求。
  • AccountPrincipal是用来授权整个AWS账号下的所有IAM实体(包括用户、角色等),这会超出你原本的授权范围,不符合需求。

修改后的Python CDK代码如下:

iam.Role(
    self,
    "thisaccountrole",
    assumed_by=iam.CompositePrincipal(
        iam.ServicePrincipal("redshift.amazonaws.com"),
        iam.ArnPrincipal("arn:aws:iam::1234:role/otheraccountrole")
    ),
    managed_policies=[...

注意:代码中要确保ARN和原策略里的arn:aws:iam::1234:role/otheraccountrole完全一致,避免笔误(你提供的代码示例里写的12345是错误的,需要修正为1234)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 15:13:26