web-dev-qa-db-ja.com

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について話しているのですか? (私の特定のラムダ呼び出しはS3とは何の関係もありません。)それぞれのワンライナーの説明以外に、事前定義されたポリシーに関する詳細なドキュメントについて知っていますか?

7
Notinlist

関数がS3と関係がない場合は、このマネージドポリシーを使用しないでください。私の知る限り、このポリシーはドキュメントでAmazon S3でLambdaを使用する方法に関するチュートリアルと組み合わせて使用​​されています。

ソース: 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": "*"
    }
  ]
}
4
null