AWSLambdaExecute 策略定义

Not*_*ist 8 permissions amazon-web-services amazon-iam amazon-lambda

前言:我不是在寻求配置帮助。我的用例已涵盖并且工作正常。这是一个理论问题。

在 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:::*"
    }
  ]
}
Run Code Online (Sandbox Code Playgroud)

这个定义对我说:

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

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

小智 6

如果您的功能与 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": "*"
    }
  ]
}
Run Code Online (Sandbox Code Playgroud)