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

能否使用EventBridge Pipe跨账户触发另一账户的SNS Topic

解决EventBridge Pipe跨账户转发报错:"Creating cross-account pipe is not permitted."

错误原因

这个错误是因为EventBridge Pipe默认禁止跨账户目标配置,必须通过权限策略和正确的资源配置来解锁跨账户转发能力。

修复步骤

  • 给账户A的SNS Topic添加跨账户发布权限
    修改SNS Topic的访问策略,允许账户B的EventBridge Pipe服务向其发布消息。示例策略(替换占位符为实际值):

    {
      "Effect": "Allow",
      "Principal": {
        "Service": "pipes.amazonaws.com"
      },
      "Action": "sns:Publish",
      "Resource": "arn:aws:sns:[区域]:[账户A-ID]:[你的Topic名称]",
      "Condition": {
        "StringEquals": {
          "aws:SourceAccount": "[账户B-ID]"
        }
      }
    }
    
  • 创建Pipe时指定目标的完整ARN
    在账户B配置EventBridge Pipe的Target时,必须填写账户A SNS Topic的完整ARN,不能使用简写或相对路径,确保格式为arn:aws:sns:[区域]:[账户A-ID]:[你的Topic名称]。

  • 为Pipe的执行角色添加跨账户SNS权限
    给账户B中Pipe使用的IAM执行角色添加允许发布到账户A SNS Topic的权限,角色策略示例:

    {
      "Effect": "Allow",
      "Action": "sns:Publish",
      "Resource": "arn:aws:sns:[区域]:[账户A-ID]:[你的Topic名称]"
    }
    
  • 确认账户A的SNS Topic未限制跨账户访问
    检查账户A的SNS Topic是否有其他策略阻止跨账户发布,确保所有相关策略都允许来自账户B的请求。

关键注意点

  • 所有涉及的资源(EventBridge Pipe、SQS、SNS)必须处于同一AWS区域,跨区域跨账户转发会触发更多限制,当前场景下优先使用同区域配置。
  • 验证Pipe执行角色的信任策略是否包含pipes.amazonaws.com作为可信服务主体,否则Pipe无法正常获取权限。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 15:40:00