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

Terraform创建AWS组织级CloudTrail报CloudWatch权限错误如何解决?

问题根因与修复方案

1. IAM策略未绑定到对应角色

你创建了aws_iam_policy.iam_policy_cloudtrail_cloudwatch_logs权限策略,但没有将该策略附加到CloudTrail使用的aws_iam_role.iam_role_cloudwatch角色上,权限没有生效。
修复代码:

resource "aws_iam_role_policy_attachment" "cloudwatch_log_attachment" {
  role       = aws_iam_role.iam_role_cloudwatch.name
  policy_arn = aws_iam_policy.iam_policy_cloudtrail_cloudwatch_logs.arn
}

2. 权限策略数据源引用错误

你的IAM策略配置中policy字段引用的是data.aws_iam_policy_document.cloudwatch.json,但实际定义的数据源名称是cloudwatch_nfcisbenchmark,引用不匹配导致权限策略内容为空。
修复:将IAM策略的policy字段修改为正确的数据源引用:

resource aws_iam_policy iam_policy_cloudtrail_cloudwatch_logs {
  name   = "${local.name}-${terraform.workspace}-cloudtrail-cloudwatch-logs"
  policy = data.aws_iam_policy_document.cloudwatch_nfcisbenchmark.json
}

3. 日志组权限路径配置错误

你定义的CloudWatch日志组名称为${local.name},但权限策略中写死了log-group:CloudTrail/log_group:前缀,和实际日志组ARN不匹配,导致权限校验失败。另外组织级Trail会生成多个成员账号对应的日志流,固定路径匹配会覆盖不全。
修复:修改cloudwatch_nfcisbenchmark数据源的资源ARN,直接引用日志组的ARN属性,简化通配匹配:

data aws_iam_policy_document cloudwatch_nfcisbenchmark {
  version = "2012-10-17"
  statement {
    sid       = "AWSCloudTrailCreateLogStream"
    actions   = ["logs:CreateLogStream"]
    resources = ["${aws_cloudwatch_log_group.cloudwatch_log_group.arn}:log-stream:*"]
  }
  statement {
    sid       = "AWSCloudTrailPutLogEvents"
    actions   = ["logs:PutLogEvents"]
    resources = ["${aws_cloudwatch_log_group.cloudwatch_log_group.arn}:log-stream:*"]
  }
}

4. 缺少KMS加密日志组的访问权限

你为CloudWatch日志组配置了KMS加密,需要在KMS密钥策略中添加对应权限,允许CloudTrail的IAM角色执行kms:Decrypt和kms:GenerateDataKey操作,否则无法写入加密后的日志。
修复:在你使用的aws_kms_key.cloudwatch_log_group资源的密钥策略中添加以下statement:

statement {
  sid    = "AllowCloudTrailWriteEncryptedLogs"
  effect = "Allow"
  principals {
    type        = "AWS"
    identifiers = [aws_iam_role.iam_role_cloudwatch.arn]
  }
  actions = [
    "kms:Decrypt",
    "kms:GenerateDataKey*"
  ]
  resources = ["*"]
}

全部修改完成后重新执行apply操作即可解决权限报错问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 06:24:03