Назад | Перейти на главную страницу

Определение политики 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, не используйте эту управляемую политику. Насколько я понимаю, эта политика используется в документации в сочетании с учебником по использованию 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": "*"
    }
  ]
}