AWSLambdaExecute 策略定义

AWSLambdaExecute 策略定义

前言:我不是在寻求配置帮助。我的用例已经涵盖并且运行良好。这是一个理论问题。

在 AWS 上有一个名为的策略AWSLambdaExecute,其定义如下:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [ "logs:*" ],
      "Resource": "arn:aws:logs:*:*:*"
    },
    {
      "Effect": "Allow",
      "Action": [ "s3:GetObject", "s3:PutObject" ],
      "Resource": "arn:aws:s3:::*"
    }
  ]
}

这个定义告诉我:

  • 完全访问所有日志
  • 可以下载/上传到S3。

这背后的原因是什么?他们为什么要谈论 S3?(我的特定 lambda 调用与 S3 无关。)除了每个策略的一行描述之外,我们是否知道有关预定义策略的任何详细文档?

答案1

如果您的功能与 S3 无关,则不要使用此托管策略。据我所知,此策略在文档中与有关如何将 Lambda 与 Amazon S3 结合使用的教程结合使用。

来源:https://docs.aws.amazon.com/lambda/latest/dg/with-s3-example-create-iam-role.html

如果您想使用托管策略,我建议使用AWSLambdaBasicExecutionRole仅包含最少内容的策略:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "logs:CreateLogGroup",
        "logs:CreateLogStream",
        "logs:PutLogEvents"
      ],
      "Resource": "*"
    }
  ]
}

相关内容