Amazon-Web-Services

AWSLambdaExecute 策略定義

  • May 22, 2017

前言:我不是在尋求配置幫助。我的案例已涵蓋並且工作正常。這是一個理論問題。

在 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 無關。)除了每個策略的單行描述之外,我們是否知道有關預定義策略的任何詳細文件?

如果您的功能與 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": "*"
   }
 ]
}

引用自:https://serverfault.com/questions/703994