Лямбда-доступ запрещен на S3 PutObject - PullRequest
0 голосов
/ 09 января 2019

Я создал новое ведро S3 и оставил все значения по умолчанию на месте. Я пытаюсь записать объект в корзину из лямбда-функции, используя метод PutObject. Независимо от того, какие политики я присоединяю или что я делаю, я получаю «доступ запрещен» в действии, , если только я не редактирую ведущий ACL и делаю его полностью открытым. Очевидно, это не очень хорошее решение. Я действительно не знаю, что происходит: я знаю, что делал это раньше без каких-либо специальных настроек. Лямбда и корзина S3 находятся в одной и той же учетной записи, и к роли, назначенной лямбде, прикреплена политика AWSLambdaFullAccess. Я схожу с ума, любая помощь будет оценена.

Ответы [ 2 ]

0 голосов
/ 07 марта 2019

К сожалению, "s3:PutObject" недостаточно, чтобы запустить его - вы будете получать ошибку 403 Access denied.

Вы должны добавить "s3:PutObjectAcl" политику к своей роли Lambda.

0 голосов
/ 09 января 2019

На основании наборов разрешений, которые вы назначили для своей лямбда-функции, AWSLambdaFullAccess не даст вам доступа к вашей корзине S3. В дополнение к этим разрешениям вам нужно разрешить доступ к S3. Если PutObject - единственное разрешение, которое вам нужно, то к вашей роли Lambda может быть добавлена ​​следующая политика. Имейте в виду, что эти разрешения могут быть дополнительно заблокированы до уровня ресурса, но вы можете начать с них:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "Stmt1546988882992",
      "Action": [
        "s3:PutObject"
      ],
      "Effect": "Allow",
      "Resource": "*"
    }
  ]
}

Вы можете добавлять или удалять дополнительные разрешения S3 в зависимости от ваших требований.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...