Visão geral da lista de controle de acesso (ACL)
As listas de controle de acesso (ACLs) do Amazon S3 permitem o gerenciamento do acesso aos buckets e objetos. Cada bucket e objeto tem uma ACL anexada como um sub-recurso. Ela define a quais grupos ou Contas da AWS o acesso é concedido, bem como o tipo de acesso. Quando um recurso é solicitado, o Amazon S3 consulta a ACL correspondente para verificar se o solicitante tem as permissões de acesso necessárias.
A Propriedade de objetos do S3 é uma configuração no nível do bucket do Amazon S3 que você pode usar para controlar a propriedade de objetos carregados no bucket e para desabilitar ou habilitar as ACLs. Por padrão, a Propriedade de Objetos está definida com a configuração Imposto pelo proprietário do bucket e todas as ACLs estão desabilitadas. Quando as ACLs são desabilitadas, o proprietário do bucket possui todos os objetos do bucket e gerencia o acesso a eles exclusivamente usando políticas de gerenciamento de acesso.
A maioria dos casos de uso modernos no Amazon S3 não exige mais o uso de ACLs. Recomendamos manter as ACLs desabilitadas, exceto em circunstâncias incomuns em que seja necessário controlar o acesso para cada objeto individualmente. Com as ACLs desabilitadas, é possível usar políticas para controlar o acesso a todos os objetos no bucket, independentemente de quem carregou os objetos para o bucket. Para ter mais informações, consulte Controlar a propriedade de objetos e desabilitar ACLs para seu bucket.
Importante
Se o bucket usar a configuração Imposto pelo proprietário do bucket para a Propriedade de Objetos do S3, será necessário usar políticas para conceder acesso ao bucket e aos objetos contidos nele. Quando a configuração Imposto pelo proprietário do bucket estiver habilitada, as solicitações para definir listas de controle de acesso (ACLs) ou atualizar ACLs falharão e retornarão o código de erro AccessControlListNotSupported
. Ainda há suporte para solicitações de leitura de ACLs.
Quando você cria um bucket ou um objeto, o Amazon S3 cria uma ACL padrão que concede ao proprietário do recurso controle total sobre o recurso. Isso é exibido no seguinte exemplo de ACL de bucket (a ACL de objeto padrão tem a mesma estrutura):
<?xml version="1.0" encoding="UTF-8"?> <AccessControlPolicy xmlns="http://s3.amazonaws.com/doc/2006-03-01/"> <Owner> <ID>*** Owner-Canonical-User-ID ***</ID> <DisplayName>owner-display-name</DisplayName> </Owner> <AccessControlList> <Grant> <Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="Canonical User"> <ID>*** Owner-Canonical-User-ID ***</ID> <DisplayName>display-name</DisplayName> </Grantee> <Permission>FULL_CONTROL</Permission> </Grant> </AccessControlList> </AccessControlPolicy>
A ACL de exemplo inclui um elemento Owner
que identifica o proprietário pelo ID de usuário canônico da Conta da AWS. Para obter instruções sobre como encontrar seu ID de usuário canônico, consulte Encontrar um ID de usuário canônico da Conta da AWS. O elemento Grant
identifica o favorecido (uma Conta da AWS ou um grupo predefinido) e a permissão concedida. Esta ACL padrão tem um elemento Grant
para o proprietário. Conceda permissões adicionando elementos Grant
, com cada concessão identificando o favorecido e a permissão.
nota
Uma ACL pode ter até 100 concessões.
Tópicos
Quem é o favorecido?
O favorecido pode ser uma Conta da AWS ou um dos grupos predefinidos do Amazon S3. Você concede permissão a uma Conta da AWS usando o endereço de e-mail ou o ID de usuário canônico. No entanto, se você fornecer um endereço de e-mail na solicitação de concessão, o Amazon S3 encontrará o ID de usuário canônico para essa conta e o adicionará à ACL. As ACLs resultantes sempre conterão o ID de usuário canônico para a Conta da AWS, e não o endereço de e-mail da Conta da AWS.
Ao conceder direitos de acesso, você especifica cada favorecido como um par de
, em que type
="value
"
é um dos seguintes:type
id
: se o valor especificado é o ID de usuário canônico de uma Conta da AWSuri
: se as permissões estiverem sendo concedidas a um grupo predefinidoemailAddress
: se o valor especificado é o endereço de e-mail de uma Conta da AWS
Importante
O uso de endereços de e-mail para especificar um favorecido tem suporte somente nas seguintes regiões da AWS:
-
Leste dos EUA (Norte da Virgínia)
-
Oeste dos EUA (N. da Califórnia)
-
Oeste dos EUA (Oregon)
-
Ásia-Pacífico (Singapura)
-
Ásia-Pacífico (Sydney)
-
Ásia-Pacífico (Tóquio)
-
Europa (Irlanda)
-
América do Sul (São Paulo)
Para obter uma lista de todas as regiões e endpoints compatíveis com o Amazon S3, consulte Regiões e endpoints na Referência geral da Amazon Web Services.
exemplo Exemplo: endereço de e-mail
Por exemplo, o cabeçalho x-amz-grant-read
a seguir concede às Contas da AWS identificadas por endereços de e-mail permissões para ler dados de objetos e os respectivos metadados:
x-amz-grant-read: emailAddress="xyz@example.com", emailAddress="abc@example.com"
Atenção
Ao conceder aos recursos acesso a outras Contas da AWS, esteja ciente de que as Contas da AWS podem delegar as permissões delas a usuários de suas próprias contas. Isso é conhecido como acesso entre contas. Para obter informações sobre como usar o acesso entre contas, consulte Criar uma função para delegar permissões a um usuário do IAM no Guia do usuário do IAM.
Encontrar um ID de usuário canônico da Conta da AWS
O ID de usuário canônico está associado à Conta da AWS. Esse ID é uma longa string de caracteres, como:
79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be
Para obter informações sobre como encontrar o ID de usuário canônico de sua conta, consulte Find the canonical user ID for your Conta da AWS no Guia de referência de gerenciamento de contas da AWS.
Você também pode pesquisar o ID de usuário canônico de uma Conta da AWS lendo a ACL de um bucket ou objeto para o qual a Conta da AWS tem permissões de acesso. Quando uma Conta da AWS individual recebe permissões por meio de uma solicitação de concessão, um registro de concessão é adicionado à ACL com o ID de usuário canônico da conta.
nota
Se você tornar seu bucket público (não recomendado) qualquer usuário não autenticado poderá carregar objetos para o bucket. Esses usuários anônimos não têm uma Conta da AWS. Quando um usuário anônimo carrega um objeto no bucket, o Amazon S3 adiciona um ID de usuário canônico especial (65a011a29cdf8ec533ec3d1ccaae921c
) como o proprietário do objeto na ACL. Para ter mais informações, consulte Propriedade de bucket e objeto do Amazon S3.
Grupos predefinidos do Amazon S3
O Amazon S3 tem um conjunto de grupos predefinidos. Ao conceder acesso de conta a um grupo, especifique um dos URIs do Amazon S3 em vez do ID de usuário canônico. O Amazon S3 fornece os seguintes grupos predefinidos:
-
Grupo Usuários autenticados: representado por
http://acs.amazonaws.com/groups/global/AuthenticatedUsers
.Este grupo representa todas as Contas da AWS. A permissão de acesso a esse grupo permite que qualquer Conta da AWS acesse o recurso. No entanto, todas as solicitações devem estar assinadas (autenticadas).
Atenção
Quando você concede acesso ao grupo Usuários autenticados, qualquer usuário autenticado da AWS em todo o mundo pode acessar seu recurso.
-
Grupo Todos os usuários: representado por
http://acs.amazonaws.com/groups/global/AllUsers
.A permissão de acesso a esse grupo permite que qualquer um acesse o recurso. As solicitações podem estar assinadas (autenticadas) ou não (anônimas). As solicitações não assinadas omitem o cabeçalho Autenticação na solicitação.
Atenção
Recomendamos fortemente que você nunca conceda ao grupo All Users permissões
WRITE
,WRITE_ACP
ouFULL_CONTROL
. Por exemplo, emboraWRITE
as permissões não permitam que não proprietários substituam ou excluam objetos existentes, as permissõesWRITE
ainda permitem que qualquer pessoa armazene objetos em seu bucket, pelo qual você é cobrado. Para obter mais informações sobre essas permissões, consulte a seguinte seção Quais permissões posso conceder?. -
Grupo Entrega de logs: representado por
http://acs.amazonaws.com/groups/s3/LogDelivery
.A permissão
WRITE
em um bucket permite que esse grupo grave logs de acesso ao servidor (consulte Registrar em log as solicitações com registro em log de acesso ao servidor) no bucket.
nota
Ao usar ACLs, um favorecido pode ser uma Conta da AWS ou um dos grupos predefinidos do Amazon S3. No entanto, o favorecido não pode ser um usuário do IAM. Para obter mais informações sobre usuários da AWS e permissões no IAM, consulte Usar o AWS Identity and Access Management.
Quais permissões posso conceder?
A tabela a seguir lista o conjunto de permissões para as quais o Amazon S3 oferece suporte em uma ACL. O conjunto de permissões da ACL é o mesmo para a ACL de objetos e para a ACL de bucket. No entanto, dependendo do contexto (ACL de buckets ou ACL de objetos), essas permissões da ACL concedem permissão para operações de bucket ou objeto específicas. A tabela lista as permissões e descreve seus significados no contexto de objetos e buckets.
Para obter mais informações sobre permissões de ACL no console do Amazon S3, consulte Configurar ACLs.
Permissão | Quando concedida em um bucket | Quando concedida em um objeto |
---|---|---|
READ |
Permite ao favorecido listar os objetos no bucket | Permite ao favorecido ler os dados do objeto e seus metadados |
WRITE |
Permite que o favorecido crie novos objetos no bucket. Para os proprietários de bucket e objeto de objetos existentes, também permite exclusões e substituições desses objetos. | Não aplicável |
READ_ACP |
Permite ao favorecido ler a ACL do bucket | Permite ao favorecido ler a ACL do objeto |
WRITE_ACP |
Permite ao favorecido gravar a ACL para o bucket aplicável | Permite ao favorecido gravar a ACL para o objeto aplicável |
FULL_CONTROL |
Permite ao beneficiário as permissões READ , WRITE , READ_ACP e WRITE_ACP no bucket |
Permite ao beneficiário as permissões READ , READ_ACP e WRITE_ACP no objeto |
Atenção
Tenha cuidado ao conceder permissões de acesso a buckets e objetos do S3. Por exemplo, conceder acesso de WRITE
a um bucket permite que o favorecido crie objetos no bucket. É altamente recomendável que você leia toda a seção Visão geral da lista de controle de acesso (ACL) antes de conceder permissões.
Mapeamento das permissões da ACL e das permissões da política de acesso
Conforme mostrado na tabela anterior, uma ACL concede apenas um conjunto finito de permissões, em comparação com o número de permissões que pode ser definido em uma política de acesso (consulte Ações de políticas para o Amazon S3). Cada uma dessas permissões permite uma ou mais operações do Amazon S3.
A tabela a seguir mostra como cada uma das permissões da ACL se correlaciona com as permissões de política de acesso correspondentes. Como você pode ver, a política de acesso permite mais permissões que uma ACL. Use ACLs principalmente para conceder permissões básicas de leitura/gravação, similares às permissões de sistema de arquivos. Para obter mais informações sobre quando usar uma ACL, consulte Gerenciamento de identidade e acesso para o Amazon S3.
Para obter mais informações sobre permissões de ACL no console do Amazon S3, consulte Configurar ACLs.
Permissão da ACL | Permissões correspondentes da política de acesso quando permissões da ACL são concedidas em um bucket | Permissões correspondentes da política de acesso quando permissões da ACL são concedidas em um objeto |
---|---|---|
READ |
s3:ListBucket , s3:ListBucketVersions , e s3:ListBucketMultipartUploads |
s3:GetObject e s3:GetObjectVersion |
WRITE |
O proprietário do bucket pode criar, substituir e excluir qualquer objeto no bucket, e o proprietário do objeto tem Além disso, quando o favorecido é o proprietário do bucket, conceder a permissão |
Não aplicável |
READ_ACP |
s3:GetBucketAcl
|
s3:GetObjectAcl e s3:GetObjectVersionAcl |
WRITE_ACP |
s3:PutBucketAcl |
s3:PutObjectAcl e s3:PutObjectVersionAcl |
FULL_CONTROL |
Equivalente a conceder as permissões READ , WRITE , READ_ACP e WRITE_ACP da ACL. Assim, essa permissão da ACL equivale à combinação das permissões correspondentes da política de acesso. |
Equivalente a conceder as permissões READ , READ_ACP e WRITE_ACP da ACL. Assim, essa permissão da ACL equivale à combinação das permissões correspondentes da política de acesso. |
Chaves de condição
Ao conceder permissões de política de acesso, você pode usar chaves de condição para restringir o valor da ACL em um objeto usando uma política de bucket. As chaves de contexto a seguir correspondem a ACLs. Você pode usar essas chaves de contexto para obrigar a usar uma ACL específica em uma solicitação:
s3:x-amz-grant-read
: exigir acesso de leitura.s3:x-amz-grant-write
: exigir acesso de gravação.s3:x-amz-grant-read-acp
: exigir acesso de leitura à ACL do bucket.s3:x-amz-grant-write-acp
: exigir acesso de gravação à ACL do bucket.s3:x-amz-grant-full-control
: exigir controle total.s3:x-amz-acl
: exigir um ACL pré-configurada.
Para obter exemplos de políticas que envolvem cabeçalhos específicos de ACL, consulte Conceder a permissão s3:PutObject com uma condição que exige que o proprietário do bucket obtenha controle total. Consulte uma lista completa de chaves de condição específicas do Amazon S3 em Actions, resources, and condition keys for Amazon S3 na Referência de autorização do serviço.
Para ter mais informações sobre as permissões referentes a operações de API do S3 de acordo com os tipos de recurso do S3, consulte Permissões obrigatórias para operações de API do Amazon S3.
Valores aclRequired
para solicitações comuns do Amazon S3
Para identificar solicitações do Amazon S3 que exigiam ACLs para autorização, você pode usar o valor aclRequired
nos logs de acesso do servidor do Amazon S3 ou do AWS CloudTrail. O valor aclRequired
que aparece nos logs de acesso ao servidor do CloudTrail ou do Amazon S3 depende de quais operações foram chamadas e de determinadas informações sobre o solicitante, o proprietário do objeto e o proprietário do bucket. Se nenhuma ACLs for necessária, ou se você estiver configurando a ACL bucket-owner-full-control
predefinida, ou se as solicitações forem permitidas pela política de bucket, a string de valor aclRequired
será “-
” nos logs de acesso ao servidor do Amazon S3 e estará ausente no CloudTrail.
As tabelas a seguir listam os valores esperados de aclRequired
nos logs de acesso ao servidor do CloudTrail ou do Amazon S3 para as várias operações de API do Amazon S3. É possível usar essas informações para entender quais operações do Amazon S3 dependem de ACLs para autorização. Nas tabelas a seguir, A, B e C representam as diferentes contas associadas ao solicitante, ao proprietário do objeto e ao proprietário do bucket. As entradas com um asterisco (*) indicam qualquer uma das contas A, B ou C.
nota
As operações PutObject
na tabela a seguir, a menos que especificado de outra forma, indicam solicitações que não definem uma ACL, a não ser que a ACL seja bucket-owner-full-control
. Um valor nulo para aclRequired
indica que aclRequired
está ausente nos logs do AWS CloudTrail.
A tabela a seguir mostra os valores de aclRequired
para o CloudTrail.
Nome de operação | Solicitante | Proprietário do objeto | Bucket owner | A política de bucket concede acesso | Valor do aclRequired |
Motivo |
---|---|---|---|---|---|---|
GetObject |
A | A | A | Yes ou No | nulo | Acesso na mesma conta |
GetObject |
A | B | A | Yes ou No | nulo | Acesso à mesma conta com o proprietário do bucket aplicado |
GetObject |
A | A | B | Sim | nulo | Acesso entre contas concedido pela política de bucket |
GetObject |
A | A | B | Não | Sim | O acesso entre contas depende da ACL |
GetObject |
A | A | B | Sim | nulo | Acesso entre contas concedido pela política de bucket |
GetObject |
A | B | B | Não | Sim | O acesso entre contas depende da ACL |
GetObject |
A | B | C | Sim | nulo | Acesso entre contas concedido pela política de bucket |
GetObject |
A | B | C | Não | Sim | O acesso entre contas depende da ACL |
PutObject |
A | Não aplicável | A | Yes ou No | nulo | Acesso na mesma conta |
PutObject |
A | Não aplicável | B | Sim | nulo | Acesso entre contas concedido pela política de bucket |
PutObject |
A | Não aplicável | B | Não | Sim | O acesso entre contas depende da ACL |
PutObject com uma ACL (exceto por bucket-owner-full-control ) |
* | Não aplicável | * | Yes ou No | Sim | ACL de concessões de solicitação |
ListObjects |
A | Não aplicável | A | Yes ou No | nulo | Acesso na mesma conta |
ListObjects |
A | Não aplicável | B | Sim | nulo | Acesso entre contas concedido pela política de bucket |
ListObjects |
A | Não aplicável | B | Não | Sim | O acesso entre contas depende da ACL |
DeleteObject |
A | Não aplicável | A | Yes ou No | nulo | Acesso na mesma conta |
DeleteObject |
A | Não aplicável | B | Sim | nulo | Acesso entre contas concedido pela política de bucket |
DeleteObject |
A | Não aplicável | B | Não | Sim | O acesso entre contas depende da ACL |
PutObjectAcl |
* | * | * | Yes ou No | Sim | ACL de concessões de solicitação |
PutBucketAcl |
* | Não aplicável | * | Yes ou No | Sim | ACL de concessões de solicitação |
nota
As operações REST.PUT.OBJECT
na tabela a seguir, a menos que especificado de outra forma, indicam solicitações que não definem uma ACL, a não ser que a ACL seja bucket-owner-full-control
. Uma string de valor aclRequired
de “-
” indica um valor nulo nos logs de acesso ao servidor do Amazon S3.
A tabela a seguir mostra os valores de aclRequired
para logs de acesso ao servidor do Amazon S3.
Nome de operação | Solicitante | Proprietário do objeto | Bucket owner | A política de bucket concede acesso | Valor do aclRequired |
Motivo |
---|---|---|---|---|---|---|
REST.GET.OBJECT |
A | A | A | Yes ou No | - | Acesso na mesma conta |
REST.GET.OBJECT |
A | B | A | Yes ou No | - | Acesso à mesma conta com o proprietário do bucket aplicado |
REST.GET.OBJECT |
A | A | B | Sim | - | Acesso entre contas concedido pela política de bucket |
REST.GET.OBJECT |
A | A | B | Não | Sim | O acesso entre contas depende da ACL |
REST.GET.OBJECT |
A | B | B | Sim | - | Acesso entre contas concedido pela política de bucket |
REST.GET.OBJECT |
A | B | B | Não | Sim | O acesso entre contas depende da ACL |
REST.GET.OBJECT |
A | B | C | Sim | - | Acesso entre contas concedido pela política de bucket |
REST.GET.OBJECT |
A | B | C | Não | Sim | O acesso entre contas depende da ACL |
REST.PUT.OBJECT |
A | Não aplicável | A | Yes ou No | - | Acesso na mesma conta |
REST.PUT.OBJECT |
A | Não aplicável | B | Sim | - | Acesso entre contas concedido pela política de bucket |
REST.PUT.OBJECT |
A | Não aplicável | B | Não | Sim | O acesso entre contas depende da ACL |
REST.PUT.OBJECT com uma ACL (exceto por bucket-owner-full-control ) |
* | Não aplicável | * | Yes ou No | Sim | ACL de concessões de solicitação |
REST.GET.BUCKET |
A | Não aplicável | A | Yes ou No | - | Acesso na mesma conta |
REST.GET.BUCKET |
A | Não aplicável | B | Sim | - | Acesso entre contas concedido pela política de bucket |
REST.GET.BUCKET |
A | Não aplicável | B | Não | Sim | O acesso entre contas depende da ACL |
REST.DELETE.OBJECT |
A | Não aplicável | A | Yes ou No | - | Acesso na mesma conta |
REST.DELETE.OBJECT |
A | Não aplicável | B | Sim | - | Acesso entre contas concedido pela política de bucket |
REST.DELETE.OBJECT |
A | Não aplicável | B | Não | Sim | O acesso entre contas depende da ACL |
REST.PUT.ACL |
* | * | * | Yes ou No | Sim | ACL de concessões de solicitação |
Amostra de ACL
A seguir, a amostra de ACL em um bucket identifica o proprietário do recurso e um conjunto de concessões. O formato é a representação XML de uma ACL na API REST do Amazon S3. O proprietário do bucket tem FULL_CONTROL
sobre o recurso. Além disso, a ACL mostra como as permissões são concedidas em um recurso para duas Contas da AWS, identificadas pelo ID de usuário canônico, e para dois grupos predefinidos do Amazon S3 discutidos na seção anterior.
<?xml version="1.0" encoding="UTF-8"?> <AccessControlPolicy xmlns="http://s3.amazonaws.com/doc/2006-03-01/"> <Owner> <ID>Owner-canonical-user-ID</ID> <DisplayName>display-name</DisplayName> </Owner> <AccessControlList> <Grant> <Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="CanonicalUser"> <ID>Owner-canonical-user-ID</ID> <DisplayName>display-name</DisplayName> </Grantee> <Permission>FULL_CONTROL</Permission> </Grant> <Grant> <Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="CanonicalUser"> <ID>user1-canonical-user-ID</ID> <DisplayName>display-name</DisplayName> </Grantee> <Permission>WRITE</Permission> </Grant> <Grant> <Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="CanonicalUser"> <ID>user2-canonical-user-ID</ID> <DisplayName>display-name</DisplayName> </Grantee> <Permission>READ</Permission> </Grant> <Grant> <Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="Group"> <URI>http://acs.amazonaws.com/groups/global/AllUsers</URI> </Grantee> <Permission>READ</Permission> </Grant> <Grant> <Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="Group"> <URI>http://acs.amazonaws.com/groups/s3/LogDelivery</URI> </Grantee> <Permission>WRITE</Permission> </Grant> </AccessControlList> </AccessControlPolicy>
ACL pré-configurada
O Amazon S3 oferece suporte a um conjunto de concessões predefinidas, conhecidas como ACLs pré-configuradas. Cada ACL pré-configurada tem um conjunto predefinido de concessões e permissões. A tabela a seguir lista o conjunto de ACLs pré-configuradas e as concessões predefinidas associadas.
ACL pré-configurada | Aplica-se a | Permissões adicionadas à ACL |
---|---|---|
private |
Bucket e objeto | O proprietário obtém FULL_CONTROL . Ninguém mais tem direitos de acesso (padrão). |
public-read |
Bucket e objeto | O proprietário obtém FULL_CONTROL . O grupo AllUsers (consulte Quem é o favorecido?) obtém acesso READ . |
public-read-write |
Bucket e objeto | O proprietário obtém FULL_CONTROL . O grupo AllUsers obtém os acessos READ e WRITE . Essa concessão não costuma ser recomendada em um bucket. |
aws-exec-read |
Bucket e objeto | O proprietário obtém FULL_CONTROL . O Amazon EC2 obtém acesso READ a GET um pacote de imagem de máquina da Amazon (AMI) do Amazon S3. |
authenticated-read |
Bucket e objeto | O proprietário obtém FULL_CONTROL . O grupo AuthenticatedUsers obtém acesso READ . |
bucket-owner-read |
Objeto | O proprietário do objeto obtém FULL_CONTROL . O proprietário do bucket obtém acesso READ . Se você especificar essa ACL pré-configurada ao criar um bucket, o Amazon S3 a ignorará. |
bucket-owner-full-control |
Objeto | Os proprietários do objeto e do bucket obtêm FULL_CONTROL sobre o objeto. Se você especificar essa ACL pré-configurada ao criar um bucket, o Amazon S3 a ignorará. |
log-delivery-write |
Bucket | O grupo LogDelivery obtém as permissões WRITE e READ_ACP no bucket. Para obter mais informações sobre logs, consulte (Registrar em log as solicitações com registro em log de acesso ao servidor). |
nota
Você pode especificar apenas uma dessas ACLs pré-configuradas na solicitação.
Especifique uma ACL pré-configurada na solicitação usando o cabeçalho de solicitação x-amz-acl
. Quando o Amazon S3 recebe uma solicitação com uma ACL pré-configurada, ele adiciona as concessões predefinidas à ACL do recurso.