

# Bloquear objetos com o Bloqueio de Objetos
<a name="object-lock"></a>

A funcionalidade Bloqueio de Objetos do S3 pode ajudar a evitar que os objetos do Amazon S3 sejam excluídos ou substituídos por um período fixo ou indefinidamente. A funcionalidade Bloqueio de Objetos usa um modelo de *gravação única e várias leituras* (WORM). Você pode usar a funcionalidade Bloqueio de Objetos para ajudar a atender aos requisitos regulamentares que exigem armazenamento WORM ou para adicionar outra camada de proteção contra alterações ou exclusão de objetos.

**nota**  
A funcionalidade Bloqueio de Objetos do S3 foi avaliada pela Cohasset Associates para uso em ambientes sujeitos aos regulamentos SEC 17a-4, CFTC e FINRA. Para obter mais informações sobre como a funcionalidade Bloqueio de Objetos está relacionada a essas regulamentações, consulte o documento [Cohasset Associates Compliance Assessment](https://d1.awsstatic.com/r2018/b/S3-Object-Lock/Amazon-S3-Compliance-Assessment.pdf).

O bloqueio de objetos fornece duas maneiras de gerenciar a retenção de objetos: *períodos de retenção* e *retenções legais*. Uma versão do objeto pode ter um período de retenção, uma retenção jurídica ou ambos.
+ **Período de retenção**: um período de retenção especifica um período fixo durante o qual uma versão de objeto permanece bloqueada. Você pode definir um período de retenção exclusivo para objetos individuais. Além disso, você pode definir um período de retenção padrão em um bucket do S3. Também é possível restringir os períodos mínimo e máximo de retenção permitidos com a chave de condição `s3:object-lock-remaining-retention-days` na política do bucket. Essa chave de condição ajuda a estabelecer o período de retenção permitido. Para ter mais informações, consulte [Definir limites para os períodos de retenção com uma política de bucket](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lock-managing.html#object-lock-managing-retention-limits).
+ **Retenção jurídica**: uma retenção jurídica oferece a mesma proteção de um período de retenção, mas sem data de expiração. Em vez disso, uma retenção legal permanecerá em vigor até você removê-la explicitamente. As retenções jurídicas independem dos períodos de retenção e são colocadas em versões de objetos individuais.

A funcionalidade Bloqueio de Objetos só funciona somente em buckets com a funcionalidade Versionamento do S3 habilitada. Quando você bloqueia uma versão do objeto, o Amazon S3 armazena as informações de bloqueio nos metadados dessa versão do objeto. A colocação de um período de retenção ou uma retenção jurídica em um objeto só protege a versão especificada na solicitação. Os períodos de retenção e as retenções jurídicas não impedem a criação de versões do objeto nem a adição de marcadores de exclusão no objeto. Para obter informações sobre o Versionamento do S3, consulte [Reter várias versões de objetos com o Versionamento do S3](Versioning.md).

Se você colocar um objeto em um bucket que já contenha um objeto protegido com o mesmo nome de chave de objeto, o Amazon S3 criará outra versão desse objeto. A versão protegida existente do objeto permanece bloqueada de acordo com a configuração da retenção.

## Como o bloqueio de objetos do S3 funciona
<a name="object-lock-overview"></a>

**Topics**
+ [

### Períodos de retenção
](#object-lock-retention-periods)
+ [

### Modos de retenção
](#object-lock-retention-modes)
+ [

### Retenções legais
](#object-lock-legal-holds)
+ [

### como excluir um trabalho com o Bloqueio de Objetos do S3
](#object-lock-how-deletes-work)
+ [

### Práticas recomendadas para usar a funcionalidade Bloqueio de Objetos do S3
](#object-lock-best-practices)
+ [

### Permissões obrigatórias
](#object-lock-permissions)

### Períodos de retenção
<a name="object-lock-retention-periods"></a>

Um *período de retenção* protege uma versão do objeto por um período fixo. Quando você coloca um período de retenção em uma versão do objeto, o Amazon S3 armazena um timestamp nos metadados da versão do objeto para indicar quando o período de retenção expira. Depois que o período de retenção expirar, a versão do objeto não poderá ser substituída nem excluída.

Você pode colocar um período de retenção explicitamente em uma versão de objeto individual ou nas propriedades de um bucket para que ele se aplique automaticamente a todos os objetos no bucket. Ao aplicar um período de retenção a uma versão de objeto explicitamente, especifique a opção de *Retain Until Date (Reter até uma determinada data)* para a versão do objeto. O Amazon S3 armazena essa data nos metadados da versão do objeto.

Você também pode definir um período de retenção nas propriedades de um bucket. Ao definir um período de retenção em um bucket, especifique uma duração, em dias ou anos, para proteger cada versão do objeto colocada no bucket. Quando você coloca um objeto no bucket, o Amazon S3 calcula um *Prazo de retenção* para a versão do objeto, adicionando a duração especificada ao timestamp da criação da versão do objeto. A versão do objeto é protegida exatamente como se você tivesse colocado explicitamente um bloqueio individual com esse período de retenção na versão do objeto.

**nota**  
Quando você usa `PUT` em uma versão de objeto que tem um modo e um período de retenção individual explícitos em um bucket, as configurações individuais da funcionalidade Bloqueio de Objetos da versão do objeto substituem qualquer configuração de retenção de propriedades do bucket.

Assim como acontece com todas as outras configurações de bloqueio de objetos, os períodos de retenção se aplicam a versões de objetos individuais. As versões diferentes de um único objeto podem ter modos e períodos de retenção diferentes.

Por exemplo, suponha que você tenha um objeto de 15 dias em um período de retenção de 30 dias e você `PUT` um objeto no Amazon S3 com o mesmo nome e um período de retenção de 60 dias. Nesse caso, a solicitação `PUT` será bem-sucedida e o Amazon S3 criará outra versão do objeto com um período de retenção de 60 dias. A versão anterior mantém o período de retenção original e se torna excluível em 15 dias.

Depois que você tiver aplicado uma configuração de retenção a uma versão do objeto, poderá estender o período de retenção. Para fazer isso, envie uma nova solicitação da funcionalidade Bloqueio de Objetos para a versão do objeto com um *Prazo de retenção* que seja posterior ao configurado atualmente para a versão do objeto. O Amazon S3 substitui o período de retenção existente pelo novo período mais longo. Qualquer usuário com permissões para colocar um período de retenção do objeto pode estender um período de retenção para uma versão do objeto. Para definir um período de retenção, você deve ter a permissão `s3:PutObjectRetention`.

Ao definir um período de retenção em um objeto ou bucket do S3, é necessário selecionar um dos dois modos de retenção: *conformidade* ou *governança*.

### Modos de retenção
<a name="object-lock-retention-modes"></a>

A funcionalidade Bloqueio de Objetos do S3 oferece dois modos de retenção que aplicam níveis diferentes de proteção aos objetos:
+ Modo de conformidade
+ Modo de governança

No modo de *conformidade*, uma versão do objeto protegida não pode ser substituída nem excluída por qualquer usuário, inclusive o usuário root na Conta da AWS. Quando um objeto estiver bloqueado no modo de conformidade, o modo de retenção não poderá ser alterado nem o período de retenção poderá ser encurtado. O modo de conformidade ajuda a garantir que uma versão do objeto não possa ser substituída nem excluída durante o período de retenção.

**nota**  
A única maneira de excluir um objeto no modo de conformidade antes da data de retenção é excluir a Conta da AWS associada.

No modo de *governança*, os usuários não podem substituir nem excluir uma versão do objeto ou alterar as configurações de bloqueio, a menos que tenham permissões especiais. Com o modo de governança, você protege objetos contra a exclusão da maioria dos usuários, mas ainda pode conceder a alguns usuários permissão para alterar as configurações de retenção ou excluir objetos, caso necessário. Também é possível usar o modo de governança para testar as configurações do período de retenção antes de criar um período de retenção do modo de conformidade. 

Para substituir ou remover as configurações de retenção do modo de governança, você precisa ter a permissão `s3:BypassGovernanceRetention` e incluir explicitamente `x-amz-bypass-governance-retention:true` como um cabeçalho de solicitação com qualquer solicitação que exija a substituição do modo de governança. 

**nota**  
Por padrão, o console do Amazon S3 inclui o cabeçalho `x-amz-bypass-governance-retention:true`. Se você tentar excluir objetos protegidos pelo modo de *governança* e tiver a permissão `s3:BypassGovernanceRetention`, a operação será bem-sucedida. 

### Retenções legais
<a name="object-lock-legal-holds"></a>

Com a funcionalidade Bloqueio de Objetos, você também pode colocar uma *retenção jurídica* em uma versão de objeto. Assim como um período de retenção, uma retenção legal evita que uma versão do objeto seja substituída ou excluída. Porém, uma retenção jurídica não tem uma quantidade fixa de tempo associada e permanecerá em vigor até ser removida. As retenções legais podem ser feitas e removidas livremente por qualquer usuário com a permissão `s3:PutObjectLegalHold`. 

As retenções legais independem dos períodos de retenção. Fazer uma retenção legal em uma versão do objeto não afeta o modo de retenção ou o período de retenção dessa versão do objeto. 

Por exemplo, suponha que você coloque uma retenção jurídica em uma versão do objeto e que essa versão também está protegida por um período de retenção. Se o período de retenção expirar, o objeto não perderá a proteção WORM. Em vez disso, a retenção jurídica continuará protegendo o objeto até um usuário autorizado removê-la explicitamente. Da mesma maneira, se você remover uma retenção legal enquanto uma versão do objeto tiver um período de retenção em vigor, a versão do objeto continuará protegida até o período de retenção expirar.

### como excluir um trabalho com o Bloqueio de Objetos do S3
<a name="object-lock-how-deletes-work"></a>

Se o bucket tiver o Bloqueio de Objetos do S3 habilitado, o objeto estiver protegido por um período de retenção ou uma restrição legal e você tentar excluir o objeto, o Amazon S3 exibirá uma das seguintes respostas, dependendo de como você tentou excluir o objeto:
+ **Solicitação de `DELETE` permanente**: se você emitiu uma solicitação `DELETE` permanente (uma solicitação que especifica um ID de versão), o Amazon S3 exibirá um erro Access Denied (`403 Forbidden`) quando você tentar excluir o objeto. Para ter mais informações sobre como solucionar erros Access Denied com o Bloqueio de Objetos, consulte [Configurações do bloqueio de objetos do S3](troubleshoot-403-errors.md#troubleshoot-403-object-lock).
+ **Solicitação `DELETE` simples**: se você emitiu uma solicitação `DELETE` simples (que não especifica um versão de ID), o Amazon S3 exibirá uma resposta `200 OK` inserirá um [marcador de exclusão](DeleteMarker.md) no bucket, e esse marcador se tornará a versão atual do objeto com um novo ID. Para ter mais informações sobre como gerenciar marcadores de exclusão com o Bloqueio de Objetos, consulte [Gerenciar marcadores de exclusão com a funcionalidade Bloqueio de Objetos](object-lock-managing.md#object-lock-managing-delete-markers).

### Práticas recomendadas para usar a funcionalidade Bloqueio de Objetos do S3
<a name="object-lock-best-practices"></a>

Considere usar o *Modo de governança* se quiser proteger objetos de serem excluídos pela maioria dos usuários durante um período de retenção predefinido, mas ao mesmo tempo quiser que alguns usuários com permissões especiais tenham a flexibilidade de alterar as configurações de retenção ou excluir os objetos. 

Considere usar o *Modo de conformidade* se você nunca quiser que nenhum usuário, incluindo o usuário raiz em sua Conta da AWS, possa excluir os objetos durante um período de retenção predefinido. Você pode usar esse modo caso precise armazenar dados de conformidade. 

Você pode usar a *Retenção jurídica* quando não tiver certeza de quanto tempo deseja que os objetos permaneçam imutáveis. Isso pode ser devido a uma futura auditoria externa dos dados, em que você deseja manter os objetos imutáveis até que a auditoria seja concluída. Como alternativa, você pode ter um projeto em andamento que utiliza um conjunto de dados que deseja manter imutável até que o projeto seja concluído. 

### Permissões obrigatórias
<a name="object-lock-permissions"></a>

As operações do bloqueio de objetos exigem permissões específicas. Dependendo da operação exata que você está tentando realizar, algumas das seguintes permissões poderão ser necessárias:
+ `s3:BypassGovernanceRetention`
+ `s3:GetBucketObjectLockConfiguration`
+ `s3:GetObjectLegalHold`
+ `s3:GetObjectRetention`
+ `s3:PutBucketObjectLockConfiguration`
+ `s3:PutObjectLegalHold`
+ `s3:PutObjectRetention`

Consulte uma lista completa de permissões do Amazon S3 com descrições 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).

Para obter informações sobre como usar condições com permissões, consulte [Exemplos de políticas de bucket usando chaves de condição](amazon-s3-policy-keys.md).

# Considerações sobre a funcionalidade Bloqueio de Objetos
<a name="object-lock-managing"></a>

A funcionalidade Bloqueio de Objetos do Amazon S3 pode ajudar a evitar que os objetos sejam excluídos ou substituídos por um período fixo ou indefinidamente.

É possível usar o console do Amazon S3, a AWS Command Line Interface (AWS CLI), os AWS SDKs ou a API REST do Amazon S3 para visualizar ou definir informações da funcionalidade Bloqueio de Objetos. Para obter informações gerais sobre os recursos da funcionalidade Bloqueio de Objetos do S3, consulte [Bloquear objetos com o Bloqueio de Objetos](object-lock.md).

**Importante**  
Depois de habilitar a funcionalidade Bloqueio de Objetos em um bucket, não será possível desabilitá-la nem suspender o versionamento nesse bucket. 
Os buckets do S3 com funcionalidade Bloqueio de Objetos não podem ser usados como buckets de destino para logs de acesso ao servidor. Para obter mais informações, consulte [Registrar em log as solicitações com registro em log de acesso ao servidor](ServerLogs.md).

**Topics**
+ [

## Permissões para visualizar as informações de bloqueio
](#object-lock-managing-view)
+ [

## Ignorar modo de governança
](#object-lock-managing-bypass)
+ [

## Usar a funcionalidade Bloqueio de Objetos com a funcionalidade Replicação do S3
](#object-lock-managing-replication)
+ [

## Usar o Bloqueio de Objetos com criptografia
](#object-lock-managing-encryption)
+ [

## Usar a funcionalidade Bloqueio de Objetos com a funcionalidade Inventário Amazon S3
](#object-lock-inv-report)
+ [

## Gerenciar políticas da funcionalidade Ciclo de Vida do S3 com a funcionalidade Bloqueio de Objetos
](#object-lock-managing-lifecycle)
+ [

## Gerenciar marcadores de exclusão com a funcionalidade Bloqueio de Objetos
](#object-lock-managing-delete-markers)
+ [

## Usar a funcionalidade Lente de Armazenamento do S3 com a funcionalidade Bloqueio de Objetos
](#object-lock-storage-lens)
+ [

## Fazer upload de objetos em um bucket habilitado para a funcionalidade Bloqueio de Objetos
](#object-lock-put-object)
+ [

## Configurar eventos e notificações
](#object-lock-managing-events)
+ [

## Definir limites para os períodos de retenção com uma política de bucket
](#object-lock-managing-retention-limits)

## Permissões para visualizar as informações de bloqueio
<a name="object-lock-managing-view"></a>

É possível visualizar de forma programática o status da funcionalidade Bloqueio de Objetos de uma versão de objeto do Amazon S3 usando as operações [https://docs.aws.amazon.com/AmazonS3/latest/API/API_HeadObject.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_HeadObject.html) ou [https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html). Ambas as operações retornam o modo de retenção, a data de retenção e o status de retenção jurídica para a versão do objeto especificada. Além disso, é possível visualizar o status da funcionalidade Bloqueio de Objetos para vários objetos em um bucket do S3 usando a funcionalidade Inventário do S3. 

Para exibir o modo e o período de retenção de uma versão do objeto, você deve ter a permissão `s3:GetObjectRetention`. Para exibir o status de retenção legal de uma versão do objeto, você deve ter a permissão `s3:GetObjectLegalHold`. Para visualizar a configuração de retenção padrão de um bucket, é necessário ter a permissão `s3:GetBucketObjectLockConfiguration`. Caso você faça uma solicitação de uma configuração da funcionalidade Bloqueio de Objetos em um bucket que não tenha a funcionalidade Bloqueio de Objetos do S3 habilitada, o Amazon S3 retornará um erro. 

## Ignorar modo de governança
<a name="object-lock-managing-bypass"></a>

Se você tiver a permissão `s3:BypassGovernanceRetention`, poderá realizar operações em versões de objeto bloqueadas no modo de governança como se elas estivessem desprotegidas. Essas operações incluem a exclusão de uma versão do objeto, a redução do período de retenção ou a remoção do período de retenção da funcionalidade Bloqueio de Objetos com a colocação de uma nova solicitação `PutObjectRetention` com parâmetros vazios. 

Para ignorar o modo de governança, você deve indicar explicitamente na solicitação que você deseja ignorar esse modo. Para fazer isso, inclua o cabeçalho `x-amz-bypass-governance-retention:true` na solicitação da operação de API `PutObjectRetention` ou use o parâmetro equivalente com solicitações feitas por meio da AWS CLI ou dos AWS SDKs. O console do S3 aplicará automaticamente esse cabeçalho para solicitações feitas por meio do console do S3 se você tiver a permissão `s3:BypassGovernanceRetention`.

**nota**  
Ignorar o modo de governança não afeta o status de retenção legal de uma versão do objeto. Caso uma versão do objeto tenha uma retenção jurídica habilitada, essa retenção permanecerá em vigor e evitará que solicitações substituam ou excluam a versão do objeto.

## Usar a funcionalidade Bloqueio de Objetos com a funcionalidade Replicação do S3
<a name="object-lock-managing-replication"></a>

Você pode usar a funcionalidade Bloqueio de Objetos com a funcionalidade Replicação do S3 para habilitar a cópia automática e assíncrona de objetos bloqueados e seus metadados de retenção em buckets do S3. Isso significa que, para objetos replicados, o Amazon S3 usa a configuração de bloqueio de objetos do bucket de origem. Em outras palavras, se o bucket de origem tiver o recurso Bloqueio de Objetos habilitado, os buckets de destino também deverão ter esse recurso habilitado. Se um objeto for carregado diretamente no bucket de destino (fora da replicação do S3), ele usará o Bloqueio de Objetos definido no bucket de destino. Ao usar a replicação, os objetos em um *bucket de origem* são replicados para um ou mais *buckets de destino*. 

Para configurar a replicação em um bucket com a funcionalidade Bloqueio de Objetos habilitada, você pode usar o console do S3, a AWS CLI, a API REST do Amazon S3 ou os AWS SDKs.

**nota**  
Para usar a funcionalidade Bloqueio de Objetos com replicação, é necessário conceder duas permissões adicionais no bucket de origem do S3 no perfil do AWS Identity and Access Management (IAM) usado para configurar a replicação. As duas permissões adicionais são `s3:GetObjectRetention` e `s3:GetObjectLegalHold`. Se o perfil tiver uma instrução de permissão `s3:Get*`, essa instrução satisfará o requisito. Para obter mais informações, consulte [Configurar permissões para replicação em tempo real](setting-repl-config-perm-overview.md).  
Para obter informações gerais sobre a funcionalidade Replicação do S3, consulte [Replicar objetos dentro de uma região e entre regiões](replication.md).  
Para obter exemplos de configuração da funcionalidade Replicação do S3, consulte [Exemplos para configurar a replicação em tempo real](replication-example-walkthroughs.md).

## Usar o Bloqueio de Objetos com criptografia
<a name="object-lock-managing-encryption"></a>

O Amazon S3 criptografa todos os objetos novos por padrão. É possível usar o Bloqueio de Objetos com objetos criptografados. Para obter mais informações, consulte [Proteger dados com criptografia](UsingEncryption.md).

Embora o Bloqueio de Objetos possa ajudar a evitar que os objetos do Amazon S3 sejam excluídos ou substituídos, ele não oferece proteção contra a perda de acesso às chaves de criptografia ou a exclusão dessas chaves. Por exemplo, se você criptografar os objetos com a criptografia do lado do servidor do AWS KMS e a chave do AWS KMS for excluída, os objetos poderão ficar ilegíveis.

## Usar a funcionalidade Bloqueio de Objetos com a funcionalidade Inventário Amazon S3
<a name="object-lock-inv-report"></a>

Você pode configurar a funcionalidade Inventário Amazon S3 para criar listas dos objetos em um bucket do S3 com base em uma programação definida. Você pode configurar a funcionalidade Inventário Amazon S3 para incluir os seguintes metadados da funcionalidade Bloqueio de Objetos para os objetos:
+ O prazo de retenção
+ O modo de retenção
+ O status da retenção jurídica

Para obter mais informações, consulte [Catalogar e analisar seus dados com o Inventário S3](storage-inventory.md).

## Gerenciar políticas da funcionalidade Ciclo de Vida do S3 com a funcionalidade Bloqueio de Objetos
<a name="object-lock-managing-lifecycle"></a>

As configurações de gerenciamento de ciclo de vida do objeto continuam funcionando normalmente em objetos protegidos, inclusive a colocação de marcadores de exclusão. No entanto, uma versão bloqueada de um objeto não pode ser excluída por uma política de expiração da funcionalidade Ciclo de Vida do S3. A funcionalidade Bloqueio de Objetos é mantida independentemente da classe de armazenamento em que o objeto reside, bem como durante as transições da funcionalidade Ciclo de Vida do S3 entre classes de armazenamento.

Para obter mais informações sobre como gerenciar ciclos de vida de objetos, consulte [Gerenciar o ciclo de vida dos objetos](object-lifecycle-mgmt.md).

## Gerenciar marcadores de exclusão com a funcionalidade Bloqueio de Objetos
<a name="object-lock-managing-delete-markers"></a>

Embora possa excluir uma versão do objeto protegida, você ainda pode criar um marcador de exclusão para esse objeto. A colocação de um marcador de exclusão em um objeto não exclui o objeto nem suas versões. No entanto, isso faz com que o Amazon S3 se comporte na maioria das vezes como se o objeto tivesse sido excluído. Para obter mais informações, consulte [Trabalhar com marcadores de exclusão](DeleteMarker.md).

**nota**  
Os marcadores de exclusão não são protegidos por WORM, independentemente de qualquer período de retenção ou da retenção legal no objeto subjacente.

## Usar a funcionalidade Lente de Armazenamento do S3 com a funcionalidade Bloqueio de Objetos
<a name="object-lock-storage-lens"></a>

Para ver métricas de bytes de armazenamento e contagem de objetos com Bloqueio de Objeto habilitado, você pode usar a Lente de Armazenamento do Amazon S3. A Lente de Armazenamento do S3 é um recurso de análise de armazenamento em nuvem que você pode usar para obter visibilidade em toda a organização sobre o uso e a atividade do armazenamento de objetos.

Para obter mais informações, consulte [Usar a Lente de Armazenamento do S3 para proteger seus dados](storage-lens-data-protection.md).

Para obter uma lista completa de métricas, consulte [Glossário de métricas de lente de armazenamento do Amazon S3](storage_lens_metrics_glossary.md).

## Fazer upload de objetos em um bucket habilitado para a funcionalidade Bloqueio de Objetos
<a name="object-lock-put-object"></a>

O cabeçalho `Content-MD5` ou `x-amz-sdk-checksum-algorithm` é necessário em todas as solicitações de upload de um objeto com um período de retenção configurado usando o Bloqueio de Objetos. Esses cabeçalhos são uma forma de verificar a integridade do objeto durante o upload.

Quando um objeto é carregado com o console do Amazon S3, o S3 adiciona automaticamente o cabeçalho `Content-MD5`. Você também pode especificar uma função de soma de verificação adicional e um valor de soma de verificação por meio do console como o cabeçalho `x-amz-sdk-checksum-algorithm`. Se você usar a API [PutObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html), deverá especificar o cabeçalho `Content-MD5`, o cabeçalho `x-amz-sdk-checksum-algorithm` ou ambos para configurar o período de retenção do Bloqueio de Objetos.

Para obter mais informações, consulte [Verificar a integridade do objeto no Amazon S3](checking-object-integrity.md).

## Configurar eventos e notificações
<a name="object-lock-managing-events"></a>

Use a funcionalidade Notificações de Eventos do Amazon S3 para rastrear o acesso e as alterações feitas nas configurações da funcionalidade Bloqueio de Objetos e nos dados usando o AWS CloudTrail. Para obter informações sobre o CloudTrail, consulte [O que é AWS CloudTrail?](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html) no *Guia do Usuário do AWS CloudTrail*.

Você também pode usar o Amazon CloudWatch para gerar alertas com base nesses dados. Para obter informações sobre o CloudWatch, consulte [O que é o Amazon CloudWatch?](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html) no *Guia do usuário do Amazon CloudWatch*.

## Definir limites para os períodos de retenção com uma política de bucket
<a name="object-lock-managing-retention-limits"></a>

É possível definir os períodos de retenção mínimo e máximo permitidos para um bucket usando uma política de bucket. O período máximo de retenção é de cem anos.

O exemplo a seguir mostra uma política de bucket que usa a chave de condição `s3:object-lock-remaining-retention-days` para definir um período de retenção máximo de 10 dias.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Id": "SetRetentionLimits",
    "Statement": [
        {
            "Sid": "SetRetentionPeriod",
            "Effect": "Deny",
            "Principal": "*",
            "Action": [
                "s3:PutObjectRetention"
            ],
            "Resource": "arn:aws:s3:::amzn-s3-demo-bucket1/*",
            "Condition": {
                "NumericGreaterThan": {
                    "s3:object-lock-remaining-retention-days": "10"
                }
            }
        }
    ]
}
```

------

**nota**  
Se o seu bucket for o bucket de destino de uma configuração de replicação, você poderá definir períodos de retenção mínimo e máximo permitidos para as réplicas de objetos criadas usando a replicação. Para fazer isso, você deve permitir a ação `s3:ReplicateObject` na política de bucket. Para obter mais informações sobre as permissões de replicação, consulte [Configurar permissões para replicação em tempo real](setting-repl-config-perm-overview.md). 

Para obter mais informações sobre políticas de bucket, consulte os seguintes tópicos:
+ [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).
+ [Operações com objetos](security_iam_service-with-iam.md#using-with-s3-actions-related-to-objects)
+ [Exemplos de políticas de bucket usando chaves de condição](amazon-s3-policy-keys.md)

# Configurar a funcionalidade Bloqueio de Objetos do S3
<a name="object-lock-configure"></a>

Com a funcionalidade Bloqueio de Objetos do Amazon S3, é possível armazenar objetos em buckets de uso geral no Amazon S3 usando um modelo de *gravação única e várias leituras* (WORM). Você pode usar o bloqueio de objetos do S3 para evitar que um objeto seja excluído ou substituído por um período fixo ou indefinidamente. Para obter informações gerais sobre os recursos da funcionalidade Bloqueio de Objetos, consulte [Bloquear objetos com o Bloqueio de Objetos](object-lock.md).

Antes de bloquear qualquer objeto, é necessário habilitar as funcionalidades Versionamento e Bloqueio de Objetos do S3 em um bucket de uso geral. Depois, você pode definir um período de retenção, uma retenção jurídica ou ambos. 

Para trabalhar com a funcionalidade Bloqueio de Objetos, é necessário ter determinadas permissões. Para obter uma lista das permissões relacionadas a várias operações da funcionalidade Bloqueio de Objetos, consulte [Permissões obrigatórias](object-lock.md#object-lock-permissions).

**Importante**  
Depois de habilitar a funcionalidade Bloqueio de Objetos em um bucket, não será possível desabilitá-la nem suspender o versionamento nesse bucket. 
Os buckets do S3 com funcionalidade Bloqueio de Objetos não podem ser usados como buckets de destino para logs de acesso ao servidor. Para obter mais informações, consulte [Registrar em log as solicitações com registro em log de acesso ao servidor](ServerLogs.md).

**Topics**
+ [

## Habilitar a funcionalidade Bloqueio de Objetos ao criar um bucket de uso geral do S3
](#object-lock-configure-new-bucket)
+ [

## Habilitar a funcionalidade Bloqueio de Objetos em um bucket do S3 existente
](#object-lock-configure-existing-bucket)
+ [

## Definir ou modificar uma retenção jurídica em um objeto do S3
](#object-lock-configure-set-legal-hold)
+ [

## Definir ou modificar um período de retenção em um objeto do S3
](#object-lock-configure-set-retention-period-object)
+ [

## Definir ou modificar um período de retenção padrão em um bucket do S3
](#object-lock-configure-set-retention-period-bucket)

## Habilitar a funcionalidade Bloqueio de Objetos ao criar um bucket de uso geral do S3
<a name="object-lock-configure-new-bucket"></a>

Você pode habilitar a funcionalidade Bloqueio de Objetos ao criar um bucket de uso geral do S3 usando o console do Amazon S3, a AWS Command Line Interface (AWS CLI), os AWS SDKs ou a API REST do Amazon S3.

### Usar o console do S3
<a name="object-lock-new-bucket-console"></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. No painel de navegação à esquerda, escolha **Buckets de uso geral**.

1. Selecione **Create bucket (Criar bucket)**.

   A página **Create bucket** (Criar bucket) é aberta.

1. Para **Nome do bucket**, insira um nome para o bucket.
**nota**  
Depois de criar um bucket, não será possível mudar o nome dele. Para obter mais informações sobre como nomear buckets, consulte [Regras de nomenclatura de buckets de uso geral](bucketnamingrules.md).

1. Em **Region** (Região), escolha a Região da AWS onde deseja que o bucket resida. 

1. Em **Propriedade de Objetos**, escolha desabilitar ou habilitar as listas de controle de acesso (ACLs) e controlar a propriedade de objetos carregados no bucket.

1. Em **Configurações de bloqueio de acesso público para este bucket**, selecione as configurações de bloqueio de acesso público que deseja aplicar ao bucket. 

1. Em **Versionamento de bucket**, escolha **Habilitado**.

   A funcionalidade Bloqueio de Objetos só funciona em buckets com versionamento.

1. (Opcional) Em **Tags** (Etiquetas), você pode optar por adicionar etiquetas ao seu bucket. As etiquetas são pares de chave-valor usados para categorizar o armazenamento e alocar os custos.

1. Em **Configurações avançadas**, encontre **Bloqueio de objeto** e escolha **Habilitar**.

   Você deve reconhecer que a ativação da funcionalidade Bloqueio de Objetos permitirá permanentemente que os objetos desse bucket sejam bloqueados.

1. Selecione **Criar bucket**.

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

O seguinte exemplo `create-bucket` cria um bucket do S3 chamado `amzn-s3-demo-bucket1` com a funcionalidade Bloqueio de Objetos habilitada:

```
aws s3api create-bucket --bucket amzn-s3-demo-bucket1 --object-lock-enabled-for-bucket
```

Para obter mais informações e exemplos, consulte [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/create-bucket.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/create-bucket.html) na *Referência de comandos da AWS CLI*.

**nota**  
Você pode executar comandos da AWS CLI pelo console usando o AWS CloudShell. O AWS CloudShell é um shell pré-autenticado e baseado em navegador que você pode inicializar diretamente do Console de gerenciamento da AWS. Para obter mais informações, consulte [What is CloudShell?](https://docs.aws.amazon.com/cloudshell/latest/userguide/welcome.html) no *Guia do usuário do AWS CloudShell*.

### Uso da API REST
<a name="object-lock-new-bucket-rest"></a>

É possível usar a API REST para criar um bucket do S3 com a funcionalidade Bloqueio de Objetos habilitada. Para obter mais informações, consulte [https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html) na *Referência da API do Amazon Simple Storage Service*.

### Usar SDKs da AWS
<a name="object-lock-new-bucket-sdk"></a>

Consulte exemplos de como habilitar o Bloqueio de Objetos ao criar um bucket do S3 com os SDKs da AWS em [Code examples](https://docs.aws.amazon.com/AmazonS3/latest/API/s3_example_s3_LCreateBucket_section.html) na *Referência de API do Amazon S3*.

Consulte exemplos de como obter a configuração atual do Bloqueio de Objetos com os SDKs da AWS em [Code examples](https://docs.aws.amazon.com/AmazonS3/latest/API/s3_example_s3_GetObjectLockConfiguration_section.html) na *Referência de API do Amazon S3*.

Consulte um cenário interativo que demonstra os diferentes recursos do Bloqueio de Objetos usando os SDKs da AWS em [Code examples](https://docs.aws.amazon.com/AmazonS3/latest/API/s3_example_s3_Scenario_ObjectLock_section.html) na *Referência de API do Amazon S3*.

Consulte informações gerais sobre como usar diferentes SDKs da AWS em [Developing with Amazon S3 using the AWS SDKs](https://docs.aws.amazon.com/AmazonS3/latest/API/sdk-general-information-section.html) na *Referência de API do Amazon S3*.

## Habilitar a funcionalidade Bloqueio de Objetos em um bucket do S3 existente
<a name="object-lock-configure-existing-bucket"></a>

Você pode habilitar a funcionalidade Bloqueio de Objetos para um bucket do S3 existente usando o console do Amazon S3, a AWS CLI, os AWS SDKs ou a API REST do Amazon S3.

### Usar o console do S3
<a name="object-lock-existing-bucket-console"></a>

**nota**  
A funcionalidade Bloqueio de Objetos só funciona em buckets com versionamento.

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. No painel de navegação à esquerda, escolha **Buckets**.

1. Na lista **Buckets**, escolha o nome do bucket para o qual você deseja habilitar a funcionalidade Bloqueio de Objetos.

1. Escolha a guia **Properties (Propriedades)**.

1. Em **Propriedades**, role para baixo até a seção **Bloqueio de objeto** e escolha **Editar**.

1. Em **Bloqueio de objeto**, escolha **Habilitar**.

   Você deve reconhecer que a ativação da funcionalidade Bloqueio de Objetos permitirá permanentemente que os objetos desse bucket sejam bloqueados.

1. Escolha **Salvar alterações**.



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

O seguinte exemplo de comando `put-object-lock-configuration` define um período de retenção de 50 dias da funcionalidade Bloqueio de Objetos em um bucket chamado `amzn-s3-demo-bucket1`:

```
aws s3api put-object-lock-configuration --bucket amzn-s3-demo-bucket1 --object-lock-configuration='{ "ObjectLockEnabled": "Enabled", "Rule": { "DefaultRetention": { "Mode": "COMPLIANCE", "Days": 50 }}}'
```

Para obter mais informações e exemplos, consulte [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/put-object-lock-configuration.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/put-object-lock-configuration.html) na *Referência de comandos da AWS CLI*.

**nota**  
Você pode executar comandos da AWS CLI pelo console usando o AWS CloudShell. O AWS CloudShell é um shell pré-autenticado e baseado em navegador que você pode inicializar diretamente do Console de gerenciamento da AWS. Para obter mais informações, consulte [What is CloudShell?](https://docs.aws.amazon.com/cloudshell/latest/userguide/welcome.html) no *Guia do usuário do AWS CloudShell*.

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

Você pode usar a API REST do Amazon S3 para habilitar a funcionalidade Bloqueio de Objetos em um bucket do S3 existente. Para obter mais informações, consulte [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectLockConfiguration.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectLockConfiguration.html) na *Referência da API do Amazon Simple Storage Service*.

### Usar SDKs da AWS
<a name="object-lock-existing-bucket-sdk"></a>

Consulte exemplos de como habilitar o Bloqueio de Objetos para um bucket existente do S3 com os SDKs da AWS em [Code examples](https://docs.aws.amazon.com/AmazonS3/latest/API/s3_example_s3_PutObjectLockConfiguration_section.html) na *Referência de API do Amazon S3*.

Consulte exemplos de como obter a configuração atual do Bloqueio de Objetos com os SDKs da AWS em [Code examples](https://docs.aws.amazon.com/AmazonS3/latest/API/s3_example_s3_GetObjectLockConfiguration_section.html) na *Referência de API do Amazon S3*.

Consulte um cenário interativo que demonstra os diferentes recursos do Bloqueio de Objetos usando os SDKs da AWS em [Code examples](https://docs.aws.amazon.com/AmazonS3/latest/API/s3_example_s3_Scenario_ObjectLock_section.html) na *Referência de API do Amazon S3*.

Consulte informações gerais sobre como usar diferentes SDKs da AWS em [Developing with Amazon S3 using the AWS SDKs](https://docs.aws.amazon.com/AmazonS3/latest/API/sdk-general-information-section.html) na *Referência de API do Amazon S3*.

## Definir ou modificar uma retenção jurídica em um objeto do S3
<a name="object-lock-configure-set-legal-hold"></a>

Você pode definir ou remover uma retenção jurídica de um objeto do S3 usando o console do Amazon S3, a AWS CLI, os AWS SDKs ou a API REST do Amazon S3.

**Importante**  
Se você quiser definir uma retenção jurídica em um objeto, o bucket do objeto já deverá ter a funcionalidade Bloqueio de Objetos habilitada.
Quando você usa `PUT` em uma versão de objeto que tem um modo e um período de retenção individual explícitos em um bucket, as configurações individuais da funcionalidade Bloqueio de Objetos da versão do objeto substituem qualquer configuração de retenção de propriedades do bucket.

Para obter mais informações, consulte [Retenções legais](object-lock.md#object-lock-legal-holds).

### Usar o console do S3
<a name="object-lock-set-legal-hold-console"></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. No painel de navegação à esquerda, escolha **Buckets**.

1. Na lista **Buckets**, escolha o nome do bucket que contém o objeto no qual você deseja definir ou modificar uma retenção jurídica.

1. Na lista **Objetos**, selecione o objeto no qual você deseja definir ou modificar uma retenção jurídica.

1. Na página **Propriedades do objeto**, encontre a seção **Retenção jurídica do Bloqueio de objeto** e escolha **Editar**.

1. Escolha **Habilitar** para definir uma retenção jurídica ou **Desabilitar** para remover uma retenção jurídica.

1. Escolha **Salvar alterações**.

### Como usar o AWS CLI
<a name="object-lock-set-legal-hold-cli"></a>

O seguinte exemplo de `put-object-legal-hold` define uma retenção jurídica no objeto *`my-image.fs`* no bucket chamado `amzn-s3-demo-bucket1`:

```
aws s3api put-object-legal-hold --bucket amzn-s3-demo-bucket1 --key my-image.fs --legal-hold="Status=ON"
```

O seguinte exemplo de `put-object-legal-hold` remove uma retenção jurídica do objeto *`my-image.fs`* no bucket chamado `amzn-s3-demo-bucket1`:

```
aws s3api put-object-legal-hold --bucket amzn-s3-demo-bucket1 --key my-image.fs --legal-hold="Status=OFF"
```

Para obter mais informações e exemplos, consulte [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/put-object-legal-hold.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/put-object-legal-hold.html) na *Referência de comandos da AWS CLI*.

**nota**  
Você pode executar comandos da AWS CLI pelo console usando o AWS CloudShell. O AWS CloudShell é um shell pré-autenticado e baseado em navegador que você pode inicializar diretamente do Console de gerenciamento da AWS. Para obter mais informações, consulte [What is CloudShell?](https://docs.aws.amazon.com/cloudshell/latest/userguide/welcome.html) no *Guia do usuário do AWS CloudShell*.

### Uso da API REST
<a name="object-lock-set-legal-hold-rest"></a>

É possível usar a API REST para definir ou modificar uma retenção jurídica em um objeto. Para obter mais informações, consulte [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectLegalHold.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectLegalHold.html) na *Referência da API do Amazon Simple Storage Service*.

### Usar SDKs da AWS
<a name="object-lock-set-legal-hold-sdk"></a>

Consulte exemplos de como definir uma retenção legal em um objeto com os SDKs da AWS em [Code examples](https://docs.aws.amazon.com/AmazonS3/latest/API/s3_example_s3_PutObjectLegalHold_section.html) na *Referência de API do Amazon S3*.

Consulte exemplos de como obter o status de retenção legal atual com os SDKs da AWS em [Code examples](https://docs.aws.amazon.com/AmazonS3/latest/API/s3_example_s3_GetObjectLegalHoldConfiguration_section.html) na *Referência de API do Amazon S3*.

Consulte um cenário interativo que demonstra os diferentes recursos do Bloqueio de Objetos usando os SDKs da AWS em [Code examples](https://docs.aws.amazon.com/AmazonS3/latest/API/s3_example_s3_Scenario_ObjectLock_section.html) na *Referência de API do Amazon S3*.

Consulte informações gerais sobre como usar diferentes SDKs da AWS em [Developing with Amazon S3 using the AWS SDKs](https://docs.aws.amazon.com/AmazonS3/latest/API/sdk-general-information-section.html) na *Referência de API do Amazon S3*.

## Definir ou modificar um período de retenção em um objeto do S3
<a name="object-lock-configure-set-retention-period-object"></a>

Você pode definir ou modificar um período de retenção em um objeto do S3 usando o console do Amazon S3, a AWS CLI, os AWS SDKs ou a API REST do Amazon S3.

**Importante**  
Se você quiser definir um período de retenção em um objeto, o bucket do objeto já deverá ter a funcionalidade Bloqueio de Objetos habilitada.
Quando você usa `PUT` em uma versão de objeto que tem um modo e um período de retenção individual explícitos em um bucket, as configurações individuais da funcionalidade Bloqueio de Objetos da versão do objeto substituem qualquer configuração de retenção de propriedades do bucket.
A única maneira de excluir um objeto no modo de conformidade antes da data de retenção é excluir a Conta da AWS associada.

Para obter mais informações, consulte [Períodos de retenção](object-lock.md#object-lock-retention-periods).

### Usar o console do S3
<a name="object-lock-set-retention-period-console"></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. No painel de navegação à esquerda, escolha **Buckets**.

1. Na lista **Buckets**, escolha o nome do bucket que contém o objeto no qual você deseja definir ou modificar um período de retenção.

1. Na lista **Objetos**, selecione o objeto no qual você deseja definir ou modificar um período de retenção.

1. Na página **Propriedades do objeto**, encontre a seção **Retenção de Bloqueio de objetos** e escolha **Editar**.

1. Em **Retenção**, escolha **Habilitar** para definir um período de retenção ou **Desabilitar** para remover um período de retenção.

1. Se você escolher **Habilitar**, em **Modo de retenção**, escolha o **Modo de governança** ou o **Modo de conformidade**. Para obter mais informações, consulte [Modos de retenção](object-lock.md#object-lock-retention-modes).

1. Em **Prazo de retenção**, escolha a data em que deseja que o período de retenção termine. Durante esse período, o objeto será protegido por WORM e não poderá ser substituído nem excluído. Para obter mais informações, consulte [Períodos de retenção](object-lock.md#object-lock-retention-periods).

1. Selecione **Save changes**.

### Como usar o AWS CLI
<a name="object-lock-set-retention-period-cli"></a>

O seguinte exemplo de `put-object-retention` define um período de retenção no objeto *`my-image.fs`* no bucket chamado `amzn-s3-demo-bucket1` até 1.º de janeiro de 2025:

```
aws s3api put-object-retention --bucket amzn-s3-demo-bucket1 --key my-image.fs --retention='{ "Mode": "GOVERNANCE", "RetainUntilDate": "2025-01-01T00:00:00" }'
```

Para obter mais informações e exemplos, consulte [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/put-object-retention.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/put-object-retention.html) na *Referência de comandos da AWS CLI*.

**nota**  
Você pode executar comandos da AWS CLI pelo console usando o AWS CloudShell. O AWS CloudShell é um shell pré-autenticado e baseado em navegador que você pode inicializar diretamente do Console de gerenciamento da AWS. Para obter mais informações, consulte [What is CloudShell?](https://docs.aws.amazon.com/cloudshell/latest/userguide/welcome.html) no *Guia do usuário do AWS CloudShell*.

### Uso da API REST
<a name="object-lock-set-retention-period-rest"></a>

É possível usar a API REST para definir um período de retenção em um objeto. Para obter mais informações, consulte [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectRetention.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectRetention.html) na *Referência da API do Amazon Simple Storage Service*.

### Usar SDKs da AWS
<a name="object-lock-set-retention-period-sdk"></a>

Consulte exemplos de como definir um período de retenção em um objeto com os SDKs da AWS em [Code examples](https://docs.aws.amazon.com/AmazonS3/latest/API/s3_example_s3_PutObjectRetention_section.html) na *Referência de API do Amazon S3*.

Consulte exemplos de como obter o período de retenção em um objeto com os SDKs da AWS em [Code examples](https://docs.aws.amazon.com/AmazonS3/latest/API/s3_example_s3_GetObjectLockConfiguration_section.html) na *Referência de API do Amazon S3*.

Consulte um cenário interativo que demonstra os diferentes recursos do Bloqueio de Objetos usando os SDKs da AWS em [Code examples](https://docs.aws.amazon.com/AmazonS3/latest/API/s3_example_s3_GetObjectLockConfiguration_section.html) na *Referência de API do Amazon S3*.

Consulte informações gerais sobre como usar diferentes SDKs da AWS em [Developing with Amazon S3 using the AWS SDKs](https://docs.aws.amazon.com/AmazonS3/latest/API/sdk-general-information-section.html) na *Referência de API do Amazon S3*.

## Definir ou modificar um período de retenção padrão em um bucket do S3
<a name="object-lock-configure-set-retention-period-bucket"></a>

Você pode definir ou modificar um período de retenção padrão em um bucket do S3 usando o console do Amazon S3, a AWS CLI, os AWS SDKs ou a API REST do Amazon S3. Especifique uma duração, em dias ou anos, para proteger cada versão do objeto colocada no bucket.

**Importante**  
Se você quiser definir um período de retenção padrão em um bucket, o bucket já deverá ter a funcionalidade Bloqueio de Objetos habilitada.
Quando você usa `PUT` em uma versão de objeto que tem um modo e um período de retenção individual explícitos em um bucket, as configurações individuais da funcionalidade Bloqueio de Objetos da versão do objeto substituem qualquer configuração de retenção de propriedades do bucket.
A única maneira de excluir um objeto no modo de conformidade antes da data de retenção é excluir a Conta da AWS associada.

Para obter mais informações, consulte [Períodos de retenção](object-lock.md#object-lock-retention-periods).

### Usar o console do S3
<a name="object-lock-set-retention-period-bucket-console"></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. No painel de navegação à esquerda, escolha **Buckets**.

1. Na lista **Buckets**, escolha o nome do bucket no qual você deseja definir ou modificar um período de retenção padrão.

1. Escolha a guia **Properties (Propriedades)**.

1. Em **Propriedades**, role para baixo até a seção **Bloqueio de objeto** e escolha **Editar**.

1. Em **Retenção padrão**, escolha **Habilitar** para definir uma retenção padrão ou **Desabilitar** para remover uma retenção padrão.

1. Se você escolher **Habilitar**, em **Modo de retenção**, escolha o **Modo de governança** ou o **Modo de conformidade**. Para obter mais informações, consulte [Modos de retenção](object-lock.md#object-lock-retention-modes).

1. Em **Período de retenção padrão**, escolha o número de dias ou anos para a duração do período de retenção. Os objetos colocados nesse bucket ficarão bloqueados durante esse número de dias ou anos. Para obter mais informações, consulte [Períodos de retenção](object-lock.md#object-lock-retention-periods).

1. Selecione **Save changes**.

### Como usar o AWS CLI
<a name="object-lock-configure-set-retention-period-bucket-cli"></a>

O seguinte exemplo de comando `put-object-lock-configuration` define um período de retenção de 50 dias da funcionalidade Bloqueio de Objetos no bucket chamado `amzn-s3-demo-bucket1` usando o modo de conformidade:

```
aws s3api put-object-lock-configuration --bucket amzn-s3-demo-bucket1 --object-lock-configuration='{ "ObjectLockEnabled": "Enabled", "Rule": { "DefaultRetention": { "Mode": "COMPLIANCE", "Days": 50 }}}'
```

O seguinte exemplo de `put-object-lock-configuration` remove a configuração de retenção padrão de um bucket:

```
aws s3api put-object-lock-configuration --bucket amzn-s3-demo-bucket1 --object-lock-configuration='{ "ObjectLockEnabled": "Enabled"}'
```

Para obter mais informações e exemplos, consulte [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/put-object-lock-configuration.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/put-object-lock-configuration.html) na *Referência de comandos da AWS CLI*.

**nota**  
Você pode executar comandos da AWS CLI pelo console usando o AWS CloudShell. O AWS CloudShell é um shell pré-autenticado e baseado em navegador que você pode inicializar diretamente do Console de gerenciamento da AWS. Para obter mais informações, consulte [What is CloudShell?](https://docs.aws.amazon.com/cloudshell/latest/userguide/welcome.html) no *Guia do usuário do AWS CloudShell*.

### Uso da API REST
<a name="object-lock-configure-set-retention-period-bucket-rest"></a>

É possível usar a API REST para definir um período de retenção padrão em um bucket do S3 disponível. Para obter mais informações, consulte [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectLockConfiguration.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectLockConfiguration.html) na *Referência da API do Amazon Simple Storage Service*.

### Usar SDKs da AWS
<a name="object-lock-configure-set-retention-period-bucket-sdk"></a>

Consulte exemplos de como definir um período de retenção padrão em um bucket existente do S3 com os SDKs da AWS em [Code examples](https://docs.aws.amazon.com/AmazonS3/latest/API/s3_example_s3_PutObjectLockConfiguration_section.html) na *Referência de API do Amazon S3*.

Consulte um cenário interativo que demonstra os diferentes recursos do Bloqueio de Objetos usando os SDKs da AWS em [Code examples](https://docs.aws.amazon.com/AmazonS3/latest/API/s3_example_s3_Scenario_ObjectLock_section.html) na *Referência de API do Amazon S3*.

Consulte informações gerais sobre como usar diferentes SDKs da AWS em [Developing with Amazon S3 using the AWS SDKs](https://docs.aws.amazon.com/AmazonS3/latest/API/sdk-general-information-section.html) na *Referência de API do Amazon S3*.