Amazon S3 - o arquivo privado ainda pode ser baixado para todos?

3

Eu tenho alguns arquivos secretos que eu quero impedir que usuários anônimos visualizem / baixem. Eu tentei torná-lo privado executando algo como:

s3cmd setacl --acl-private s3://bucket/some/path/*.ext

Então eu vou para o S3 Management Console, selecione o arquivo e clique em Propriedades, tenho certeza que a permissão Open / Download está desmarcada para todos.

Mas copie o link https://s3-us-west-2.amazonaws.com/bucket/some/path/blah.ext e cole em um novo navegador, ele ainda pode ser aberto / download.

O que eu sinto falta?

    
por quanta 20.03.2014 / 17:23

1 resposta

5

Verifique sua política de buckets indo ao bucket e, em seguida, clique em Properties e Edit Bucket Policy. Se você tem algo assim:

    {
        "Sid": "Stmt1391783519913",
        "Effect": "Allow",
        "Principal": {
            "AWS": "*"
        },
        "Action": [
            "s3:GetObject",
        ],
        "Resource": "arn:aws:s3:::bucket/*"
    },

significa que você está permitindo que todos façam o download de todos os arquivos deste intervalo.

De acordo com o documento :

If an account has access to resources that an ACL or policy specifies, they are able to access the requested resource.

Essa é a razão pela qual um usuário anônimo ainda pode abrir / baixar seus arquivos.

Você pode evitar isso adicionando uma nova política, como abaixo:

    {
        "Sid": "Stmt1395306106592",
        "Effect": "Deny",
        "Principal": {
            "AWS": "*"
        },
        "Action": "s3:*",
        "Resource": "arn:aws:s3:::bucket/some/path/*.ext"
    },
    
por 20.03.2014 / 17:23