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

使用Lambda查询CloudWatch Logs时遇StartQuery权限拒绝异常求助

问题:Lambda调用CloudWatch Logs StartQuery时遇AccessDeniedException

我通过AWS Lambda查询CloudWatch Logs并获取结果,CloudWatch Logs已用KMS密钥加密,KMS密钥策略已为Lambda角色授权,Lambda也分配了包含必要权限的IAM角色,但调用StartQuery时仍遇到以下错误:

An error occurred (AccessDeniedException) when calling the StartQuery operation: User with accountId: xxxxx is not authorized to perform StartQuery on resources xxxxxx(log group).

当前分配给Lambda的角色权限策略如下:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid":"Testlogsquery",
      "Effect": "Allow",
      "Action": [
        "logs:DescribeLogGroups",
        "logs:GetLogEvents",
        "logs:FilterLogEvents",
        "logs:DescribeLogStreams",
        "logs:StartQuery"         
      ],
      "Resource": [
        "arn:aws:logs:us-west-2:xxxx:log-group:log-group-1:*",
        "arn:aws:logs:us-west-2:xxxx:log-group:log-group-2:*",
        "arn:aws:logs:us-west-2:xxxx:log-group:log-group-3:*",
        "arn:aws:logs:us-west-2:xxxx:log-group:log-group-4:*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "logs:GetQueryResults"          
      ],
      "Resource": "*"
    },
    {
      "Effect": "Allow",
      "Action": [
        "kms:Decrypt",
        "kms:GenerateDataKey"
      ],
      "Resource": [
        "arn:aws:kms:us-west-2:xxxxx:key/xxxxx",
        "arn:aws:kms:us-west-2:xxxxx:key/xxxxx"
      ]
    }
  ],
  "Services":[
    "lambda.amazonaws.com"
  ]
}

排查与解决建议

  • 修复IAM策略语法错误:策略中的"Services":[ "lambda.amazonaws.com" ]属于角色信任策略(AssumeRolePolicyDocument)的内容,不应出现在权限策略里。权限策略仅允许包含Version、Statement等核心字段,该多余字段会导致策略解析异常,Lambda无法正确获取权限。需将此部分移至角色的信任策略中,或直接删除。

  • 验证Log Group ARN完全匹配:核对错误信息中提到的目标log group ARN,确保与策略中授权的ARN完全一致,包括区域、账号ID、log group名称及末尾的:*通配符。若实际查询的log group不在授权列表中,或ARN格式不匹配,会触发权限拒绝。

  • 用IAM策略模拟器验证权限:通过IAM策略模拟器,测试Lambda角色对目标log group执行logs:StartQuery操作的权限,确认没有组织级SCP(服务控制策略)或其他IAM拒绝策略限制该操作。

  • 确认KMS密钥策略的有效性:检查KMS密钥策略是否正确添加了Lambda角色的ARN,允许其执行kms:Decrypt和kms:GenerateDataKey操作。即使Lambda权限策略有授权,若KMS密钥策略未开放权限,也会间接导致日志查询失败。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 21:41:19