Tornar público um bucket no Amazon S3 [fechado]


286

Como posso definir um bucket no Amazon S3 para que todos os arquivos sejam publicamente somente leitura por padrão?


10
Estou irritado por esta questão ter sido sinalizada como fora de tópico. A AWS é essencial para programadores sérios. Eu acrescentaria u pode usar o comando cli sincronia com acl argumento assim:aws s3 sync ./local-folder-name s3://remote-bucket-name --acl=public-read
John Vandivier

Esta resposta a um post semelhante podem ajudar: stackoverflow.com/a/23102551/475882
jaxxbo

Respostas:


462

Você pode definir uma política de bucket conforme detalhado nesta postagem do blog:

http://ariejan.net/2010/12/24/public-readable-amazon-s3-bucket-policy/


De acordo com a sugestão de @ robbyt, crie uma política de bucket com o seguinte JSON:

{
  "Version": "2008-10-17",
  "Statement": [{
    "Sid": "AllowPublicRead",
    "Effect": "Allow",
    "Principal": { "AWS": "*" },
    "Action": ["s3:GetObject"],
    "Resource": ["arn:aws:s3:::bucket/*" ]
  }]
}

Importante : substitua bucketna Resourcelinha pelo nome do seu balde.


Ao usar a CLI oficial da AWS, arn:aws:s3:::buckettambém é necessário adicionar à Resourcematriz. (Portanto, sem o /*.) Espero que isso ajude outras pessoas que estavam lutando com isso como eu.
18715 silvenon

Foi mal. Isso é necessário apenas se você planeja sync, não apenas exibir o bucket.
18715 silvenon

6
Para dar suporte ao acesso anônimo pelo boto do python, além de definir essa política, também tive que conceder Listprivilégios Everyonena seção Propriedades> Permissões do bucket.
22815 Chris Betti

qual é a regra de escrever a versão? Estou usando a data atual 16/11/2017, informa: Erro: A política deve conter uma sequência de versões válida
Timothy.Li

1
@ Timothy.Li você se lembrou de colocá-lo entre aspas? "2017-11-16",
Froggomad

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.