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

Terraform创建AWS EventBridge-API目标连接时授权错误排查问询

问题分析与修复方案

错误核心原因

Error: creating EventBridge connection (xxxxx): ValidationException: Failed to create the connection(s). Failed to create the secret because the user is not authorized to perform the operation on secret 'events!connection/xxxx/xxxx'. [...] status code: 400, request id: xxxx

这个错误源于两个关键点:

  • Terraform执行角色权限不足:当EventBridge连接使用API_KEY这类需要存储凭证的授权类型时,会自动在Secrets Manager中创建对应名称的秘密资源,而当前执行Terraform的IAM角色没有操作该秘密的权限。
  • 连接配置不符合实际需求:你明确说明Webhook无需认证,但却配置了API_KEY授权类型,这会触发EventBridge创建不必要的Secret,进而暴露权限问题。

修复步骤

1. 修正EventBridge连接配置(优先推荐)

既然Webhook不需要认证,直接将授权类型改为NONE,彻底避免EventBridge创建Secret:

resource "aws_cloudwatch_event_connection" "this" {
  name               = "xxx"
  authorization_type = "NONE"
}

2. 若必须保留API_KEY授权(特殊场景)

如果因业务需求必须使用API_KEY类型,需要给Terraform执行角色补充以下Secrets Manager权限:

  • secretsmanager:CreateSecret
  • secretsmanager:PutSecretValue
  • secretsmanager:GetSecretValue
    可选添加secretsmanager:DeleteSecret用于销毁资源时清理Secret。

示例IAM策略片段:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "secretsmanager:CreateSecret",
        "secretsmanager:PutSecretValue",
        "secretsmanager:GetSecretValue"
      ],
      "Resource": "arn:aws:secretsmanager:*:*:secret:events!connection/*"
    }
  ]
}

对原问题的解答

这个问题是连接配置不合理+Terraform执行角色缺少权限共同导致的,优先修正连接配置即可解决问题;若必须保留API_KEY授权,则需要补充IAM权限,不需要在.tf文件中为现有资源添加关联策略。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 17:12:38