Пользователь НЕ ограничен определенной папкой S3 - PullRequest
1 голос
/ 21 мая 2019

У меня есть роль IAM, связанная с пулом пользователей Cognito.Ниже приведена политика IAM.

Что работает:

  • Если я пытаюсь загрузить объект на S3 без входа в систему, он жалуется: не аутентифицирован.

Что не работает:

  • как зарегистрированный пользователь, мне разрешено загружать только в папку S3 с моим идентификатором пользователя, но вместо этого я могу загружать в любую папку, включаяпапка test.

У меня нет политики корзины (я пробовал это, и она по-прежнему работает, как указано выше).

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

Политика не реализуется должным образом, потому что, когда я удалил объект remove и put и оставил объект get, я все еще смог загрузить и возразить.

Кто-нибудь видитчто не так с приведенным ниже?

Код загрузки

const uploadParams = {Bucket: 'bucket-1',          
    Key: `testing/${someId}/${someName}`,            
    s3.upload (uploadParams, (err: Error, data: AWS.S3.ManagedUpload.SendData) => {
    if (err) {
        console.log("Error", err);
    } if (data) {
        console.log("Upload Successful");
    } }); 

Политика ролей IAM:

{
        "Version": "2012-10-17",
        "Statement": [
            {
                "Action": [
                    "s3:ListBucket"
                ],
                "Effect": "Allow",
                "Resource": [
                    "arn:aws:s3:::bucket-1"
                ],
                "Condition": {
                    "StringLike": {
                        "s3:prefix": [
                            "${cognito-identity.amazonaws.com:sub}/*"
                        ]
                    }
                }
            },
            {
                "Action": [
                    "s3:GetObject",
                    "s3:PutObject",
                    "s3:DeleteObject"
                ],
                "Effect": "Allow",
                "Resource": [
                    "arn:aws:s3:::bucket-1/${cognito-identity.amazonaws.com:sub}/*"
                ]
            }
        ]
    }
...