Amazon S3: permite o acesso do usuário à subpasta somente em qualquer bucket

1

Estou tentando criar uma política que permita que um usuário leia de qualquer intervalo (essa parte funciona), mas só grave em uma subpasta específica em qualquer intervalo.

Esta é a minha política até agora (a leitura funciona, mas ainda permite escrever na raiz do intervalo):

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:Get*",
                "s3:List*"
            ],
            "Resource": [
                "*"
            ]
        },
        {
            "Effect": "Deny",
            "Action": [
                "s3:PutObject"
            ],
            "Resource": [
                "*"
            ]
        }
        {
            "Effect": "Allow",
            "Action": [
                "s3:PutObject"
            ],
            "Resource": [
                "arn:aws:s3:::*/test"
                "arn:aws:s3:::*/test/*"
            ]
        }
    ]
}

Com essa política, o usuário ainda pode gravar na raiz do bloco, o usuário só deve poder gravar a subpasta "teste" em qualquer bloco.

Eu também tentei adicionar condições à última declaração:

{
    "Effect": "Allow",
    "Action": [
        "s3:PutObject"
    ],
    "Resource": [
        "arn:aws:s3:::*/pdf-test",
        "arn:aws:s3:::*/pdf-test/*"
    ],
    "Condition": {
        "StringLike": {
            "s3:prefix": ["pdf-test/*"] 
        }
    }
}

Mas agora o usuário não pode escrever nada.

Como evito que o usuário grave em qualquer pasta, exceto "teste" em qualquer intervalo?

    
por diego.greyrobot 11.12.2013 / 20:55

0 respostas