

# Desabilitar ACLs de todos os novos buckets e aplicar Object Ownership
<a name="ensure-object-ownership"></a>

Recomendamos desabilitar ACLs nos buckets do Amazon S3. Faça isso aplicando a configuração Imposto pelo proprietário do bucket para Propriedade de objeto do S3. Quando você aplica essa configuração, as ACLs são desabilitadas, e você automaticamente tem a propriedade e o controle total sobre todos os objetos de seu bucket. Para exigir que todos os novos buckets sejam criados com ACLs desabilitadas usando políticas do AWS Identity and Access Management (IAM) ou políticas de controle de serviços (SCPs) do AWS Organizations, conforme descrito na próxima seção.

Para aplicar a propriedade do objeto a novos objetos sem desabilitar ACLs, aplique a configuração preferencial do proprietário do bucket. Quando você aplica essa configuração, é altamente recomendável atualizar a política de bucket para exigir a ACL `bucket-owner-full-control` pré-configurada para todas as solicitações `PUT` para o bucket. Atualize também os clientes para enviar a ACL `bucket-owner-full-control` pré-configurada de outras contas para o bucket.

**Topics**
+ [Desabilitar ACLs para todos os novos buckets (aplicada pelo proprietário do bucket)](#object-ownership-requiring-bucket-owner-enforced)
+ [Exigir a ACL pré-configurada bucket-owner-full-control para operações `PUT` do Amazon S3 (preferencial do proprietário do bucket)](#ensure-object-ownership-bucket-policy)

## Desabilitar ACLs para todos os novos buckets (aplicada pelo proprietário do bucket)
<a name="object-ownership-requiring-bucket-owner-enforced"></a>

O exemplo a seguir de política do IAM nega a permissão `s3:CreateBucket` para um usuário ou um perfil do IAM específico, a menos que a configuração Imposto pelo proprietário do bucket seja adotada em Propriedade de objeto. O par de chave-valor no bloco `Condition` especifica a chave `s3:x-amz-object-ownership` e a configuração `BucketOwnerEnforced` como valor. Em outras palavras, o usuário do IAM pode criar buckets somente se definir a configuração Imposto pelo proprietário do bucket para Propriedade de objeto e desabilitar ACLs. Também é possível usar essa política como um SCP de limite para sua organização da AWS.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "RequireBucketOwnerFullControl",
            "Action": "s3:CreateBucket",
            "Effect": "Deny",
            "Resource": "*",
            "Condition": {
                "StringNotEquals": {
                    "s3:x-amz-object-ownership": "BucketOwnerEnforced"
                }
            }
        }
    ]
}
```

------

## Exigir a ACL pré-configurada bucket-owner-full-control para operações `PUT` do Amazon S3 (preferencial do proprietário do bucket)
<a name="ensure-object-ownership-bucket-policy"></a>

Com a configuração preferencial do proprietário do bucket para Propriedade de objeto, como proprietário do bucket, você tem a propriedade e o controle total sobre novos objetos que outras contas gravam em seu bucket com a ACL `bucket-owner-full-control` pré-configurada. Porém, se outras contas gravarem objetos em seu bucket sem a ACL `bucket-owner-full-control` pré-configurada, o gravador de objetos manterá o acesso de controle total. Como proprietário do bucket, você pode implementar uma política de bucket que permita gravações somente se especificarem a ACL `bucket-owner-full-control` pré-configurada.

**nota**  
Caso tenha ACLs desabilitadas com a configuração Imposto pelo proprietário do bucket, como proprietário do bucket, você automaticamente terá propriedade e controle total sobre todos os objetos do bucket. Não é necessário usar esta seção para atualizar sua política de bucket a fim de aplicar a propriedade do objeto para o proprietário do bucket.

A política de bucket a seguir especifica que a conta *`111122223333`* pode fazer upload de objetos *`amzn-s3-demo-bucket`* somente quando a ACL do objeto estiver definida como `bucket-owner-full-control`. Substitua *`111122223333`* por uma conta real e *`amzn-s3-demo-bucket`* pelo nome de seu bucket.

------
#### [ JSON ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
      {
         "Sid": "OnlyAllowWritesToMyBucketWithBucketOwnerFullControl",
         "Effect": "Allow",
         "Principal": {
            "AWS": [
               "arn:aws:iam::111122223333:user/ExampleUser"
            ]
         },
         "Action": [
            "s3:PutObject"
         ],
         "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*",
         "Condition": {
            "StringEquals": {
               "s3:x-amz-acl": "bucket-owner-full-control"
            }
         }
      }
   ]
}
```

------

Veja a seguir um exemplo de operação de cópia que inclui a ACL pré-configurada `bucket-owner-full-control` usando a AWS Command Line Interface (AWS CLI).

```
aws s3 cp file.txt s3://amzn-s3-demo-bucket --acl bucket-owner-full-control
```

Depois que a política de bucket entrar em vigor, se o cliente não incluir a ACL pré-configurada `bucket-owner-full-control`, a operação falhará, e quem carregar receberá o seguinte erro: 

An error occurred (AccessDenied) when calling the PutObject operation: Access Denied (Ocorreu um erro (AccessDenied) ao chamar a operação PutObject: acesso negado.

**nota**  
Se os clientes precisarem de acesso a objetos após o upload, será necessário conceder permissões adicionais à conta de upload. Para obter informações sobre como conceder a contas acesso aos seus recursos, consulte [Demonstrações que usam políticas para gerenciar o acesso a recursos do Amazon S3](example-walkthroughs-managing-access.md).