【问题标题】:Aws step function deployment log access issueAws 步骤函数部署日志访问问题
【发布时间】:2022-06-29 02:44:34
【问题描述】:

我遇到了一些我无法弄清楚的权限问题。

步骤函数部署因错误而失败:

错误:AccessDeniedException:状态机 IAM 角色无权访问日志目标 10:12:19 状态码:400,请求 ID:ff46f8c0-fcc8-4190-ba6a-13f5ab617c78 10:12:19
10:12:19 在 step_function.tf 第 1 行,在资源“aws_sfn_state_machine”“oss_integration_data_process_sf”中: 10:12:19 1:资源“aws_sfn_state_machine”“os_int_data_process_sf”{

有趣的是,它只发生在一个 lambda 上,而所有 lambda 都有相同的前缀,并且我们有 step 函数授予权限: { "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents", "logs:AssociateKmsKey", "logs:CreateLogDelivery", "logs:GetLogDelivery", "logs:UpdateLogDelivery", "logs:DeleteLogDelivery", "logs:ListLogDeliveries", "logs:PutResourcePolicy", "logs:DescribeResourcePolicies", "logs:DescribeLogGroups" ], "Resource": [ "arn:aws:logs:us-east-1:XXXX:log-group:*/*" ], "Effect": "Allow" } 我可以在部署后运行 lambda,并查看正在创建具有 lambda 名称的 CW 日志流。

【问题讨论】:

    标签: amazon-web-services aws-lambda aws-step-functions


    【解决方案1】:

    我在使用 cloudformation 模板时遇到了同样的错误 The state machine IAM Role is not authorized to access the Log Destination,但实际问题是 YAML 字段 CloudWatchLogsLogGroup 配置错误。

    所以我更新了它以使用下面的语法并且一切正常。

      StateMachine:
        Type: AWS::Serverless::StateMachine
        DependsOn: 
          - LogGroup
          - CustomRole
        Properties:
          Name: StateMachine
          Role: !Sub arn:aws:iam::${AWS::AccountId}:role/CustomRole
          Logging:
            Destinations:
              - CloudWatchLogsLogGroup: 
                  LogGroupArn: !GetAtt LogGroup.Arn          
            IncludeExecutionData: true
            Level: ALL
    

    尽管如此,我认为 AWS 文档在这个主题上非常混乱。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-05-09
      • 1970-01-01
      • 2016-09-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-24
      相关资源
      最近更新 更多