Configurar a funcionalidade Bloqueio de Objetos do S3 - Amazon Simple Storage Service

Configurar a funcionalidade Bloqueio de Objetos do S3

Com a funcionalidade Bloqueio de Objetos do Amazon S3, é possível armazenar objetos 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 Usar o bloqueio de objetos do S3.

Antes de bloquear qualquer objeto, é necessário habilitar as funcionalidades Versionamento e Bloqueio de Objetos do S3 em um bucket. 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 .

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 ter mais informações, consulte Registrar em log as solicitações com registro em log de acesso ao servidor.

Habilitar a funcionalidade Bloqueio de Objetos ao criar um bucket do S3

Você pode habilitar a funcionalidade Bloqueio de Objetos ao criar um bucket 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.

  1. Faça login no AWS Management Console e abra o console do Amazon S3 em https://console.aws.amazon.com/s3/.

  2. No painel de navegação à esquerda, escolha Buckets.

  3. Selecione Create bucket (Criar bucket).

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

  4. 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 nomeação de bucket.

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

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

  7. 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.

  8. Em Versionamento de bucket, escolha Habilitado.

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

  9. (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.

  10. 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.

  11. Selecione Criar bucket.

O seguinte exemplo create-bucket cria um bucket do S3 chamado DOC-EXAMPLE-BUCKET1 com a funcionalidade Bloqueio de Objetos habilitada:

aws s3api create-bucket --bucket DOC-EXAMPLE-BUCKET1 --object-lock-enabled-for-bucket

Para obter mais informações e exemplos, consulte create-bucket 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 AWS Management Console. Para obter mais informações, consulte What is CloudShell? no Guia do usuário do AWS CloudShell.

É 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 CreateBucket na Referência da API do Amazon Simple Storage Service.

Consulte exemplos de como habilitar o Bloqueio de Objetos ao criar um bucket do S3 com os SDKs da AWS em Usar CreateBucket com um SDK da AWS ou uma ferramenta de linha de comandos.

Consulte exemplos de como obter a configuração atual do Bloqueio de Objetos com os SDKs da AWS em Usar GetObjectLockConfiguration com um SDK da AWS ou uma ferramenta de linha de comandos.

Para obter informações gerais sobre como usar AWS SDKs diferentes, consulte Desenvolvimento com o Amazon S3 usando os AWS SDKs e Explorers.

Habilitar a funcionalidade Bloqueio de Objetos em um bucket do S3 existente

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.

nota

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

  1. Faça login no AWS Management Console e abra o console do Amazon S3 em https://console.aws.amazon.com/s3/.

  2. No painel de navegação à esquerda, escolha Buckets.

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

  4. Escolha a guia Properties (Propriedades).

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

  6. 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.

  7. Escolha Salvar alterações.

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 DOC-EXAMPLE-BUCKET1:

aws s3api put-object-lock-configuration --bucket DOC-EXAMPLE-BUCKET1 --object-lock-configuration='{ "ObjectLockEnabled": "Enabled", "Rule": { "DefaultRetention": { "Mode": "COMPLIANCE", "Days": 50 }}}'

Para obter mais informações e exemplos, consulte put-object-lock-configuration 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 AWS Management Console. Para obter mais informações, consulte What is CloudShell? no Guia do usuário do AWS CloudShell.

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 PutObjectLockConfiguration na Referência da API do Amazon Simple Storage Service.

Consulte exemplos de como habilitar o Bloqueio de Objetos para um bucket do S3 existente com os SDKs da AWS em Usar PutObjectLockConfiguration com um SDK da AWS ou uma ferramenta de linha de comandos.

Consulte exemplos de como obter a configuração atual do Bloqueio de Objetos com os SDKs da AWS em Usar GetObjectLockConfiguration com um SDK da AWS ou uma ferramenta de linha de comandos.

Para obter informações gerais sobre como usar AWS SDKs diferentes, consulte Desenvolvimento com o Amazon S3 usando os AWS SDKs e Explorers.

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 ter mais informações, consulte Retenções legais.

  1. Faça login no AWS Management Console e abra o console do Amazon S3 em https://console.aws.amazon.com/s3/.

  2. No painel de navegação à esquerda, escolha Buckets.

  3. 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.

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

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

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

  7. Escolha Salvar alterações.

O seguinte exemplo de put-object-legal-hold define uma retenção jurídica no objeto my-image.fs no bucket chamado DOC-EXAMPLE-BUCKET1:

aws s3api put-object-legal-hold --bucket DOC-EXAMPLE-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 DOC-EXAMPLE-BUCKET1:

aws s3api put-object-legal-hold --bucket DOC-EXAMPLE-BUCKET1 --key my-image.fs --legal-hold="Status=OFF"

Para obter mais informações e exemplos, consulte put-object-legal-hold 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 AWS Management Console. Para obter mais informações, consulte What is CloudShell? no Guia do usuário do AWS CloudShell.

É possível usar a API REST para definir ou modificar uma retenção jurídica em um objeto. Para obter mais informações, consulte PutObjectLegalHold na Referência da API do Amazon Simple Storage Service.

Consulte exemplos de como definir uma retenção legal em um objeto com os SDKs da AWS em Usar PutObjectLegalHold com um AWS SDK ou ferramenta de linha de comando.

Consulte exemplos de como obter o status atual de retenção legal com os SDKs da AWS em Obter a configuração de retenção legal de um objeto do Amazon S3 usando um SDK da AWS.

Para obter informações gerais sobre como usar AWS SDKs diferentes, consulte Desenvolvimento com o Amazon S3 usando os AWS SDKs e Explorers.

Definir ou modificar um período de retenção em um objeto do S3

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 ter mais informações, consulte Períodos de retenção.

  1. Faça login no AWS Management Console e abra o console do Amazon S3 em https://console.aws.amazon.com/s3/.

  2. No painel de navegação à esquerda, escolha Buckets.

  3. 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.

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

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

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

  7. Se você escolher Habilitar, em Modo de retenção, escolha o Modo de governança ou o Modo de conformidade. Para ter mais informações, consulte Modos de retenção.

  8. 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 ter mais informações, consulte Períodos de retenção.

  9. Selecione Save changes.

O seguinte exemplo de put-object-retention define um período de retenção no objeto my-image.fs no bucket chamado DOC-EXAMPLE-BUCKET1 até 1.º de janeiro de 2025:

aws s3api put-object-retention --bucket DOC-EXAMPLE-BUCKET1 --key my-image.fs --retention='{ "Mode": "GOVERNANCE", "RetainUntilDate": "2025-01-01T00:00:00" }'

Para obter mais informações e exemplos, consulte put-object-retention 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 AWS Management Console. Para obter mais informações, consulte What is CloudShell? no Guia do usuário do AWS CloudShell.

É possível usar a API REST para definir um período de retenção em um objeto. Para obter mais informações, consulte PutObjectRetention na Referência da API do Amazon Simple Storage Service.

Consulte exemplos de como definir um período de retenção em um objeto com os SDKs da AWS em Usar PutObjectRetention com um AWS SDK ou ferramenta de linha de comando.

Consulte exemplos de como obter o período de retenção em um objeto com os SDKs da AWS em Usar GetObjectRetention com um AWS SDK ou ferramenta de linha de comando.

Para obter informações gerais sobre como usar AWS SDKs diferentes, consulte Desenvolvimento com o Amazon S3 usando os AWS SDKs e Explorers.

Definir ou modificar um período de retenção padrão em um bucket do S3

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 ter mais informações, consulte Períodos de retenção.

  1. Faça login no AWS Management Console e abra o console do Amazon S3 em https://console.aws.amazon.com/s3/.

  2. No painel de navegação à esquerda, escolha Buckets.

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

  4. Escolha a guia Properties (Propriedades).

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

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

  7. Se você escolher Habilitar, em Modo de retenção, escolha o Modo de governança ou o Modo de conformidade. Para ter mais informações, consulte Modos de retenção.

  8. 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 ter mais informações, consulte Períodos de retenção.

  9. Selecione Save changes.

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 DOC-EXAMPLE-BUCKET1 usando o modo de conformidade:

aws s3api put-object-lock-configuration --bucket DOC-EXAMPLE-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 DOC-EXAMPLE-BUCKET1 --object-lock-configuration='{ "ObjectLockEnabled": "Enabled"}'

Para obter mais informações e exemplos, consulte put-object-lock-configuration 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 AWS Management Console. Para obter mais informações, consulte What is CloudShell? no Guia do usuário do AWS CloudShell.

É 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 PutObjectLockConfiguration na Referência da API do Amazon Simple Storage Service.

Consulte exemplos de como definir um período de retenção padrão em um bucket do S3 existente com os SDKs da AWS em Usar PutObjectLockConfiguration com um SDK da AWS ou uma ferramenta de linha de comandos.

Para obter informações gerais sobre como usar AWS SDKs diferentes, consulte Desenvolvimento com o Amazon S3 usando os AWS SDKs e Explorers.