

# Configurar propriedade de objeto em um bucket existente
<a name="object-ownership-existing-bucket"></a>

Você pode configurar S3 Object Ownership em um bucket do S3 existente. Para aplicar o Object Ownership ao criar um bucket, consulte [Configurar Object Ownership ao criar um bucket](object-ownership-new-bucket.md).

O S3 Object Ownership é uma configuração no nível do bucket do Amazon S3 que você pode usar para desabilitar as [listas de controle de acesso (ACLs)](acl-overview.md) e assumir a propriedade de cada objeto em seu bucket, simplificando o gerenciamento de acesso para dados armazenados no Amazon S3. Por padrão, a Propriedade de Objetos do S3 é definida como a configuração Imposto pelo proprietário do bucket e as ACLs são desabilitadas para novos buckets. Com as ACLs desabilitadas, o proprietário do bucket possui cada objeto no bucket e gerencia o acesso aos dados exclusivamente usando políticas de gerenciamento de acesso. Recomendamos manter as ACLs desabilitadas, exceto em circunstâncias incomuns em que seja necessário controlar o acesso para cada objeto individualmente. 

Há três configurações em Object Ownership que podem ser usadas para controlar a propriedade de objetos carregados no bucket e para desabilitar ou habilitar ACLs:

**ACLs desabilitadas**
+ **Imposto pelo proprietário do bucket (padrão)**: as ACLs são desabilitadas e o proprietário do bucket automaticamente tem a propriedade e o controle total sobre todos os objetos do bucket. As ACLs não afetam mais as permissões nos dados no bucket do S3. O bucket usa políticas para definir o controle de acesso.

**ACLs habilitadas**
+ **Bucket owner preferred** (Preferencial do proprietário do bucket): o proprietário do bucket tem a propriedade e o controle total sobre novos objetos que outras contas gravam no bucket com a ACL `bucket-owner-full-control` pré-configurada. 
+ **Object writer** (Gravador de objetos): a Conta da AWS que carrega um objeto é a proprietária do objeto, tem controle total sobre ele e pode conceder acesso a outros usuários por meio de ACLs.

**Pré-requisitos**: antes de adotar a configuração Imposto pelo proprietário do bucket para desabilitar ACLs, você deve migrar permissões de ACL de bucket para políticas de bucket e redefinir suas ACLs de bucket para a ACL privada padrão. Também recomendamos migrar permissões de ACL de objeto para políticas de bucket e editar políticas de bucket que exigem ACLs que não sejam ACLs de controle total do proprietário do bucket. Para obter mais informações, consulte [Pré-requisitos para desabilitar ACLs](object-ownership-migrating-acls-prerequisites.md).

**Permissions** (Permissões): para usar essa operação, é necessário ter a permissão `s3:PutBucketOwnershipControls`. Consulte mais informações sobre as permissões do Amazon S3 em [ Actions, resources, and condition keys for Amazon S3](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazons3.html) 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](using-with-s3-policy-actions.md).

## Usar o console do S3
<a name="add-object-ownership"></a>

1. Faça login no Console de gerenciamento da AWS e abra o console do Amazon S3 em [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).

1. Na lista **Buckets**, escolha o nome do bucket para o qual você deseja aplicar uma configuração S3 Object Ownership.

1. Escolha a aba **Permissões**.

1. Em **Object Ownership**, escolha **Edit** (Editar).

1. Em **Object Ownership**, para desabilitar ou habilitar ACLs e controlar a propriedade de objetos carregados em seu bucket, escolha uma das seguintes configurações:

**ACLs desabilitadas**
   + **Bucket owner enforced** (Aplicada pelo proprietário do bucket) (recomendado): as ACLs são desabilitadas e o proprietário do bucket automaticamente tem a propriedade e o controle total sobre todos os objetos do bucket. As ACLs não afetam mais as permissões nos dados no bucket do S3. O bucket usa políticas para definir o controle de acesso.

     Para exigir que todos os novos buckets sejam criados com ACLs desabilitadas usando IAM ou políticas do AWS Organizations, consulte[Desabilitar ACLs para todos os novos buckets (aplicada pelo proprietário do bucket)](ensure-object-ownership.md#object-ownership-requiring-bucket-owner-enforced).

**ACLs habilitadas**
   + **Bucket owner preferred** (Preferencial do proprietário do bucket): o proprietário do bucket tem a propriedade e o controle total sobre novos objetos que outras contas gravam no bucket com a ACL `bucket-owner-full-control` pré-configurada. 

     Se você aplicar a configuração preferencial do proprietário do bucket para exigir que todos os carregamentos do Amazon S3 incluam a ACL `bucket-owner-full-control` pré-configurada, será possível [adicionar uma política de bucket](ensure-object-ownership.md#ensure-object-ownership-bucket-policy) que só permita carregamentos de objetos que usam essa ACL.
   + **Object writer** (Gravador de objetos): a Conta da AWS que carrega um objeto é a proprietária do objeto, tem controle total sobre ele e pode conceder acesso a outros usuários por meio de ACLs.

1. Escolha **Salvar**.

## Como usar o AWS CLI
<a name="object-ownership-existing-bucket-cli"></a>

Para aplicar uma configuração do Object Ownership a um bucket existente, use o comando `put-bucket-ownership-controls` com o parâmetro `--ownership-controls`. Os valores válidos de propriedade são `BucketOwnerEnforced`, `BucketOwnerPreferred` ou `ObjectWriter`.

Este exemplo aplica a configuração Imposto pelo proprietário do bucket para um bucket existente usando a AWS CLI:

```
aws s3api put-bucket-ownership-controls --bucket amzn-s3-demo-bucket --ownership-controls="Rules=[{ObjectOwnership=BucketOwnerEnforced}]"
```

Para obter informações sobre `put-bucket-ownership-controls`, consulte [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/put-bucket-ownership-controls.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/put-bucket-ownership-controls.html) no *Guia do usuário do AWS Command Line Interface*. 

## Usar o AWS SDK para Java
<a name="object-ownership-existing-bucket-sdk-java"></a>

Este exemplo aplica a configuração `BucketOwnerEnforced` à Propriedade de objeto em um bucket existente usando o AWS SDK para Java:

```
         // Build the ObjectOwnership for BucketOwnerEnforced
         OwnershipControlsRule rule = OwnershipControlsRule.builder()
                .objectOwnership(ObjectOwnership.BucketOwnerEnforced)
                .build();

         OwnershipControls ownershipControls = OwnershipControls.builder()
                   .rules(rule)
                   .build()

          // Build the PutBucketOwnershipControlsRequest
          PutBucketOwnershipControlsRequest putBucketOwnershipControlsRequest =
                PutBucketOwnershipControlsRequest.builder()
                        .bucket(BUCKET_NAME)
                        .ownershipControls(ownershipControls)
                        .build();
                        
          // Send the request to Amazon S3 
          s3client.putBucketOwnershipControls(putBucketOwnershipControlsRequest);
```

## Usar o CloudFormation
<a name="object-ownership-existing-bucket-cfn"></a>

Para usar o CloudFormation para aplicar uma configuração de Propriedade de Objeto a um bucket existente, consulte [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-ownershipcontrols.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-ownershipcontrols.html) no *Guia do usuário do AWS CloudFormation*.

## Uso da API REST
<a name="object-ownership-existing-bucket-rest-api"></a>

Para usar a API REST para aplicar uma configuração do Object Ownership a um bucket do S3 existente, use `PutBucketOwnershipControls`. Para obter mais informações, consulte [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketOwnershipControls.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketOwnershipControls.html) na *Referência da API do Amazon Simple Storage Service*.

**Próximas etapas**: depois de adotar as configurações Imposto pelo proprietário do bucket ou Proprietário do bucket preferido para a Propriedade de Objetos, você poderá seguir estas etapas:
+ [Bucket owner enforced](ensure-object-ownership.md#object-ownership-requiring-bucket-owner-enforced) (Aplicada pelo proprietário do bucket): exija que todos os novos buckets sejam criados com ACLs desabilitadas usando uma política do IAM ou do Organizations. 
+ [Bucket owner preferred](ensure-object-ownership.md#ensure-object-ownership-bucket-policy) (Preferencial do proprietário do bucket): adicione uma política de bucket do S3 para exigir a ACL `bucket-owner-full-control` pré-configurada para todos os carregamentos de objetos para o bucket.