403 из S3 несмотря на то, что разрешено действие "s3: GetObject" - PullRequest
2 голосов
/ 16 мая 2019

Я использую Serverless для развертывания своих функций Lambda в AWS, одна из которых читает объекты S3.У меня установлены эти разрешения в моем файле serverless.yml:

iamRoleStatements:
    - Effect: Allow
      Action:
        - s3:ListBucket
        - s3:GetObject
      Resource: "arn:aws:s3:::myBucket"

Однако после развертывания API, когда я пытаюсь достичь конечной точки, которую дает мне Serverless, я получаю 403. Я также вошел в IAMв консоли AWS, чтобы проверить lambdaRole для соответствующего региона и для S3, я вижу «Уровень доступа» «Ограничено: Список».Насколько я понимаю, я должен видеть здесь «Чтение», основываясь на действиях, которые я разрешаю.

Может ли кто-нибудь указать мне, что я могу упустить?

1 Ответ

4 голосов
/ 16 мая 2019

Действие GetObject действует на объекты, а не на корзины, поэтому ваша политика неверна. Попробуйте следующее:

iamRoleStatements:
    - Effect: Allow
      Action:
      - s3:ListBucket
      Resource: "arn:aws:s3:::myBucket"
    - Effect: Allow
      Action:
      - s3:GetObject
      Resource: "arn:aws:s3:::myBucket/*"
...