Skip to main content

Problemas com Permissionamento

Objetos não Ficaram Públicos

  • Sintoma

Mesmo após configurar o bucket como "público" ou como "privado", os objetos não se comportam no mesmo estado que o bucket.

ACL 403 ERROR

  • Causa

A configuração a respeito de "público" ou "privado" diz respeito ao bucket, mas as regras não são aplicáveis de forma recursiva, ou seja, não são transmitidas para os objetos contidos no bucket.

  • Solução

Para aplicar regras de acesso aos objetos, utilize a ACL para Objetos. Que está referenciada no how-to: Configuração da Lista de Controle de Acesso (ACL) de um Objeto.

Alterar a Permissão de um Bucket não Funciona

  • Sintoma

Alterar a permissão de um bucket de privado para público ou vice-versa não funciona. Falha com um erro de acesso negado, ou diz que mudou porém o bucket continua aparecendo como privado no console.

item do menu: "Tornar Público"

item do menu

exemplo de erro no console

exemplo de erro no console

exemplo de sucesso falso

exemplo de sucesso falso

bucket ainda privado

bucket ainda privado

Nota

Na listagem do console, um bucket com qualquer bucket policy continuará sendo listado como "privado"

  • Causa

O bucket em questão pode ter uma bucket policy a ele associada. Regras da bucket policy possuem maior precedência do que as de ACL. Bucket policy permite a construção de regras de acesso mais específicas que um simples status de "público" ou "privado" e estas regras mais específicas sempre sobrescrevem este status simples.

  • Solução

Incluir acesso de leitura a todos na bucket policy

  1. Edite a policy atual seguindo a documentação

  2. Abaixo um exemplo de "Statement" a ser adicionado a uma bucket policy existente para tornar todos os objetos de um bucket publicamente acessíveis:

    "Statement": [
{
"Effect": "Allow",
"Principal": "*",
"Action": [
"s3:ListBucket",
"s3:GetObject"
],
"Resource": [
"nome-do-bucket",
"nome-do-bucket/*"
]
},
{
...
}
]
Nota

Substitua nome-do-bucket pelo nome do seu bucket.

Bucket Ficou Privado Após Criar uma Bucket Policy

  • Sintoma

Deixei o bucket público mas após criar uma policy ele ficou privado.

Nota

Na listagem do console, um bucket com qualquer bucket policy sempre será listado como "privado"

  • Causa

O bucket possui uma bucket policy associada, cujas regras prevalecem sobre as regras de ACL.

  • Solução

Incluir acesso de leitura a todos na bucket policy

  1. Edite a policy atual seguindo a documentação

  2. Abaixo um exemplo de "Statement" a ser adicionado a uma bucket policy existente para tornar todos os objetos de um bucket publicamente acessíveis:

    "Statement": [
{
"Effect": "Allow",
"Principal": "*",
"Action": [
"s3:ListBucket",
"s3:GetObject"
],
"Resource": [
"nome-do-bucket",
"nome-do-bucket/*"
]
},
{
...
}
]
Nota

Substitua nome-do-bucket pelo nome do seu bucket.

Não Consigo Acessar o Bucket Após Criar uma Bucket Policy

  • Sintoma

Erro AccessDeniedByBucketPolicy após configurar uma bucket policy

Nota

Na listagem do console, um bucket com qualquer bucket policy sempre será listado como "privado"

  • Causa

Quando não incluido o tenant na policy o mesmo não conseguirá realizar operações no mesmo.

  • Solução

Incluir o Tenant na bucket policy

  1. Edite a policy atual seguindo a documentação

  2. Abaixo um exemplo de "Statement" a ser adicionado a uma bucket policy existente para conceder acesso ao tenant:

    "Statement": [
{
"Effect": "Allow",
"Principal": {
"MGC": ["TENANT-ID"]
},
"Action": [
"s3:*"
],
"Resource": [
"nome-do-bucket",
"nome-do-bucket/*"
]
},
{
...
}
]
Nota

Substitua nome-do-bucket pelo nome do seu bucket.

Erro Version 2012-10-17

  • Sintoma

Erro value is not valid enumeration member; permitted: '2012-10-17' ao tentar salvar uma policy

  • Causa

Ao subir a nova policy você pode estar usando uma versão de sintaxe não permitida na bucket policy.

  • Solução

Use uma versão permitida no schema