Проблема с добавлением политики в корзину s3 в serverless.yaml - PullRequest
0 голосов
/ 17 июня 2020

У меня есть следующая политика, которую я хотел бы добавить в свою корзину S3

s3Permissions:
  Type: AWS::S3::BucketPolicy
  Properties:
    Bucket: ${self:provider.environment.S3_BUCKET}
    PolicyDocument:
        Id: Policy1590589947784
        Version: '2012-10-17'
        Statement:
        - Sid: getObjectFromS3
          Action:
          - s3:GetObject
          Effect: Allow
          Resource: arn:aws:s3:::${self:provider.environment.S3_BUCKET}
          Principal: "*"

У меня эта настройка как одна из переменных среды

S3_BUCKET: com.backbar.lookups.${self:provider.stage}

Я получаю следующую ошибку при попытке развернуть

An error occurred: s3Permissions - Action does not apply to any resource(s) in statement (Service: Amazon S3; Status Code: 400; Error Code: MalformedPolicy; Request ID: 3760256F6D1080A1; S3 Extended Request ID: ...

Как правильно установить политику корзины?

1 Ответ

1 голос
/ 17 июня 2020

Я считаю, что вместо:

Resource: arn:aws:s3:::${self:provider.environment.S3_BUCKET}

должно быть:

Resource: arn:aws:s3:::${self:provider.environment.S3_BUCKET}/*

s3:GetObject применяется к объектам. Ваш оригинальный Resource - это ведро.

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