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

使用boto3创建跨账号IAM角色时遇MalformedPolicyDocument错误排查

问题原因分析

导致MalformedPolicyDocumentException错误的核心原因及次要可能因素如下:

  1. 错误使用json.dumps()处理策略字符串
    你的trust_role变量本身已经是符合JSON格式的字符串,但调用create_role时额外使用json.dumps(trust_role)进行序列化,会把原JSON字符串转义成嵌套的字符串格式(例如变成"{\n\"Version\":\"2012-10-17\",...}"),IAM服务接收到的不再是有效的JSON对象,直接触发格式错误。

    修正方式:直接传入trust_role字符串即可,无需json.dumps()处理:

    iam = boto3.client("iam")
    response_acct=iam.create_role(
    RoleName="CrossAccountLambdaRole",
    AssumeRolePolicyDocument=trust_role)
    
  2. 占位符未替换(次要可能)
    如果<management_account_id>未替换为实际的管理账号数字ID(如123456789012),生成的ARN格式无效,也可能导致策略文档校验失败,需确保占位符已替换为真实账号ID。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 22:35:30