0

我在尝试将 Lambda 函数日志写入 CloudWatch Logs 时遇到了一些问题。如下所示,这似乎不是授权问题:

PolicyDocument:
    Version: 2012-10-17
    Statement:
        -
          Effect: Allow
          Action:
            - logs:CreateLogGroup
          Resource: !Sub arn:aws:logs:${AWS::Region}:${AWS::AccountId}:*
        - Effect: Allow
          Action:
            - logs:CreateLogStream
            - logs:PutLogEvent
          Resource: !Sub arn:aws:logs:${AWS::Region}:${AWS::AccountId}:log-group:/aws/lambda/${FunctionName}:*

我已经尝试了更广泛的政策以及arn:aws:logs:*:*:*资源,例如我发现的一些示例。

该模板在 CloudFormation 上运行良好,并且资源被适当地创建,当我执行 lambda 函数作为测试时,一切正常,但没有写入日志。它创建日志组和日志流,但日志流中没有任何内容。

这也不是 Lambda 函数的问题。我在创建模板之前手动部署了该函数,CloudWatch Logs 在这种情况下运行良好。我完全按照手动创建模板的方法中所写的方式复制了角色和策略。

它是 CloudFormation/SAM/Lambda 中的某种已知错误吗?还是我做错了什么我没有注意到?

如果您需要更多信息来理解上下文,请告诉我。谢谢!

4

1 回答 1

1

最后,我能够解决问题,但从我编写的策略中删除 CloudWatch Logs 权限并使用 AWS 的管理策略: ManagedPolicyArns: - "arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole" 这样,日志就会正常写入 LogGroup。

于 2018-11-24T16:25:53.850 回答