Proteja os dados no Amazon S3 contra exclusão acidental ou bugs de aplicativos que usam o versionamento do S3, o bloqueio de objetos do S3 e a replicação do S3

TUTORIAL

Visão geral

O Amazon S3 é um serviço de armazenamento de objetos líder do setor em termos de escalabilidade, disponibilidade de dados, segurança, desempenho e com 99,999999999% (11 9s) de durabilidade de dados. No entanto, mesmo o armazenamento mais durável não é capaz de evitar erros humanos ou bugs de software que podem fazer com que seus aplicativos sejam corrompidos ou excluam dados acidentalmente. Com o aumento dos eventos de ransomware, clientes de todos as dimensões estão avaliando opções adicionais de proteção contra a manipulação maliciosa de seus dados críticos no Amazon S3.

Como acontece com qualquer dado, a melhor prática é ter um backup e implementar proteções contra a exclusão mal-intencionada ou acidental. Este guia de introdução ao Amazon S3 mostra como seguir as melhores práticas com o versionamento do Amazon S3, que permite preservar, recuperar e restaurar todas as versões de cada objeto armazenado em um bucket do Amazon S3. OBloqueio de objetos do Amazon S3 pode, então, ser adicionado ao versionamento do S3 para evitar que os dados sejam excluídos ou substituídos por um período fixo ou indefinidamente. Para criar cópias adicionais de seus dados em outra região da AWS para proteção multirregional, a Replicação do Amazon S3 trabalha com o versionamento do S3 e o bloqueio de objetos do S3 para copiar automaticamente objetos entre regiões da AWS e contas separadas da AWS. Por último, você pode trazer visibilidade dos seus níveis atuais de proteção de dados e do uso desses atributos em um único painel com a Lente de armazenamento do Amazon S3.

O que você aprenderá

  • Criar um bucket do Amazon S3
  • Habilitar o versionamento do S3 para evitar que objetos sejam sobrescritos
  • Configurar o bloqueio de objetos do S3 para evitar a exclusão acidental de objetos
  • Analisar o status da proteção de dados dos buckets do S3 usando a Lente de armazenamento do S3

Pré-requisitos

Para concluir este tutorial, você precisa de uma conta da AWS. Acesse esta página de suporte para obter mais informações sobre como criar e ativar uma nova conta da AWS.

Observação: como estamos demonstrando o bloqueio de objetos do S3, os dados deste laboratório não podem ser excluídos antes de um dia após sua criação.

 Experiência com a AWS

Iniciante

 Tempo para a conclusão

30 minutos

 Custo da conclusão (com métricas gratuitas)

 Requisitos

Conta da AWS

 Serviços usados

 Data da última atualização

3 de outubro de 2022

Implementação

Etapa 1: criar um bucket do Amazon S3

1.1 – Fazer login no console do Amazon S3

  • Se você ainda não tiver feito isto, crie uma conta da AWS.
  • Faça login no Console de gerenciamento da AWS usando as informações da sua conta.
  • Na barra de pesquisa de serviços do Console da AWS, digite S3. Na seção de resultados da pesquisa de serviços, selecione S3.

Clique nas capturas de tela deste tutorial para ampliar a imagem.

1.2 – Criar um bucket do S3

  • No painel de navegação à esquerda, clique em Buckets e, em seguida, clique em Criar bucket na seção Buckets.

1.3

  • Insira um nome descritivo para seu bucket. Os nomes dos buckets são globalmente exclusivos em todas as contas da AWS. Se ocorrer um erro com o nome selecionado, tente outra combinação. Depois, selecione em qual Região da AWS você deseja que seu bucket seja criado.

1.4

  • Em seguida, na seção Propriedade do objeto, deixe a configuração padrão com ACLs desativadas. Recomendamos que você desative as ACLs (listas de controle de acesso), exceto em circunstâncias incomuns em que você precise controlar o acesso de cada objeto individualmente. Com a propriedade do objeto, você pode desativar as ACLs e confiar nas políticas de controle de acesso. Para obter mais informações, acesse o Guia do usuário do Amazon S3.

 1.5

  • Na seção de configurações de Bloquear acesso público para este bucket, a configuração padrão de bloqueio de acesso público é adequada para essa workload, portanto, mantenha as configurações padrão.

1.6 – Habilitar o versionamento

  • Em seguida, na seção Versionamento de bucket, certifique-se de Habilitar o versionamento de bucket. O versionamento no Amazon S3 é uma maneira de manter diversas variantes de um objeto no mesmo bucket. Você pode usar o atributo de Versionamento do S3 para preservar, recuperar e restaurar todas as versões de cada objeto armazenado nos seus buckets. Com o versionamento do S3, você pode se recuperar com mais facilidade de ações não intencionais do usuário e de falhas dos aplicativos. Depois que o versionamento for habilitado para um bucket, se o Amazon S3 receber várias solicitações de gravação para o mesmo objeto simultaneamente, ele armazenará todos esses objetos.

1.7 – Habilitar a criptografia padrão

  • Agora, na seção Criptografia padrão, ative a criptografia padrão para o bucket. Essas configurações serão aplicadas a todos os objetos carregados no bucket para os quais você não definiu detalhes de criptografia em repouso durante o processo de upload. Para essa workload, em Criptografia no lado do servidor, selecione Habilitar. Em seguida, em Tipo de chave de criptografia, selecione Chaves gerenciadas pelo Amazon S3 (SSE-S3). Se seus requisitos de workload não forem atendidos pelo SSE-S3, você também pode usar o AWS Key Management Service (AWS KMS). Para obter mais informações sobre como o Amazon S3 usa o AWS KMS, consulte o Guia do desenvolvedor do AWS Key Management Service.

1.8

  • Em seguida, na seção Configurações avançadas, em Bloqueio de objetos, selecione Habilitar.
  • Você pode usar o Bloqueio de objetos do S3 para armazenar objetos usando um modelo write-once-read-many (WORM — gravação única e várias leituras). O Bloqueio de objetos do S3 pode ajudar a evitar que objetos sejam excluídos ou substituídos por um período de tempo fixo ou indefinidamente. Você pode usar o Bloqueio de objetos do S3 para atender a requisitos regulatórios que exigem armazenamento WORM ou para adicionar outra camada de proteção contra alterações e exclusões de objetos.
  • Essa etapa apenas habilitou o Bloqueio de objetos no bucket. Definiremos configurações específicas, como Modo de retenção e Período de Retenção, mais adiante no tutorial.
  • Crie o bucket do S3 clicando em Criar bucket.

Etapa 2: configurar o versionamento do S3

2.1 – Fazer upload de um objeto

  • Em sua estação de trabalho, crie um arquivo de texto que contenha as palavras Versão 1 e salve-o em sua estação de trabalho.

2.2

  • No console do Amazon S3, procure o bucket que você criou na Etapa 1 e selecione o nome do bucket.
  • Em seguida, selecione a guia Objetos. Depois, na seção Objetos, clique em Fazer upload.

2.3

  • Em seguida, na seção Fazer upload, clique em Adicionar arquivos. Navegue até o sistema de arquivos local para localizar o arquivo de teste que você criou acima. Selecione o arquivo pertinente e, em seguida, escolha Abrir. Seu arquivo será listado na seção Arquivos e pastas. Deixe o restante das opções nas configurações padrão e escolha o botão Fazer upload.

2.4

  • Depois que as operações de upload do arquivo forem concluídas, você receberá uma mensagem de status indicando se o upload foi teve êxito ou não. Neste caso, o arquivo foi carregado com êxito. Depois, escolha Fechar.
  • Agora você pode ver o objeto no console do S3.

2.5

  • Na sua estação de trabalho, edite o arquivo que você criou. Altere o texto para Versão 2 e salve-o com o mesmo nome de arquivo. Faça o upload do arquivo atualizado no Amazon S3 repetindo as etapas 2.2 a 2.4.

2.6

  • Para ver uma lista das versões dos objetos no bucket, escolha a seleção Mostrar versões. Para cada versão do objeto, o console mostra um ID de versão exclusivo, a data e a hora em que a versão do objeto foi criada e outras propriedades. 

Agora que você ativou o versionamento de objetos do S3, todas as versões desse objeto continuarão sendo preservadas em seu bucket do Amazon S3 e poderão ser recuperadas ou restauradas. Com o versionamento do S3 ativado, somente o proprietário de um bucket do Amazon S3 pode excluir permanentemente uma versão. Quando uma operação DELETE é executada em um objeto, as solicitações simples (sem versão) subsequentes não recuperam mais o objeto, mas ele ainda permanece no S3 como uma versão anterior.

Quando o versionamento está ativado, somente DELETE não consegue excluir permanentemente um objeto. Em vez disso, o Amazon S3 insere um marcador de exclusão no bucket, e esse marcador se torna a versão atual do objeto com uma nova ID. 

Manter versões não atuais dos objetos pode aumentar seus custos de armazenamento. Você pode definir regras de ciclo de vida para gerenciar o tempo de vida e o custo de armazenamento de várias versões dos objetos. Você pode ter regras de ciclo de vida configuradas para remover permanentemente as versões mais antigas ou para ter janelas adicionais de proteção por um custo de armazenamento menor. Você também pode configurar uma regra de ciclo de vida que arquive todas as suas versões anteriores nas classes de armazenamento mais baratas Amazon S3 Glacier Instant Retrieval ou Amazon S3 Glacier Flexible Retrieval e as exclua após 100 dias, oferecendo uma janela de 100 dias para reverter alterações em seus dados e, ao mesmo tempo, reduzir seus custos de armazenamento.

Marque a caixa de seleção à esquerda do objeto de nível superior e clique em Abrir. Esse objeto representa a versão mais recente do arquivo e deve ter escrito Versão 2. Repita o processo na versão mais antiga do objeto e confirme se está escrito Versão 1.

2.7 – Demonstração da exclusão de objetos

  • Desative Mostrar versões para fechar a lista de versões. 

Insira excluir no campo de entrada de texto e clique no botão Excluir objetos.

  • Escolha Fechar.
  • Em seguida, na guia Objetos, você verá que o objeto parece ter sido excluído.
  • Ative a opção Mostrar versões. Observe que o objeto de nível superior agora está listado como um Marcador de exclusão na coluna Tipo, mas as duas versões do objeto ainda estão disponíveis.

2.8 – Demonstração da restauração de um objeto

  • Para restaurar o objeto, exclua o Marcador de exclusão marcando a caixa de seleção do objeto de nível superior. Selecione Excluir.
  • Insira excluir permanentemente no campo de entrada de texto e escolha Excluir objetos.
  • Escolha Fechar.
  • A exclusão do marcador Excluir restaurou o objeto.
  • Marque a caixa de seleção à esquerda do objeto de nível superior e clique em Abrir. Esse objeto deve abrir como Versão 2.
  • Marque a caixa de seleção à esquerda da versão mais antiga do objeto e escolha Abrir. Esse objeto deve abrir como Versão 1.

2.9 – Excluir permanentemente uma versão específica de um objeto

Também podemos excluir uma versão específica de um objeto sem criar um marcador de exclusão. Na próxima etapa, excluiremos a versão mais recente do objeto.

  • Com a opção Mostrar versões ativada, marque a caixa de seleção à esquerda do objeto de nível superior e escolha Excluir.
  • Insira excluir permanentemente no campo de entrada de texto e escolha Excluir objetos.
  • Agora excluímos a versão mais recente do objeto.
  • Para confirmar isso, marque a caixa de seleção à esquerda do objeto restante e escolha Abrir
  • Fazer a seleção acima abrirá uma nova guia em seu navegador, com o texto Versão 1.

Etapa 3: configurar o bloqueio de objetos do S3

3.1

  • Exiba os atributos detalhados no nível do bucket. Em seu bucket, selecione Propriedades.

3.2

  • Navegue até a seção Bloqueio de objetos. Em seguida, escolha Editar.

3.3

  • Na seção Retenção padrão, escolha Habilitar.
  • Defina o Modo de retenção padrão como Conformidade.
  • Como Período de retenção padrão, insira 1 no campo de entrada de texto e deixe a caixa suspensa como Dias. Em seguida, clique em Salvar alterações.

Agora definimos as configurações padrão do bloqueio de objetos para todos os novos objetos que são enviados para o bucket. Os objetos existentes no bucket não são afetados por essas configurações. Para bloquear objetos existentes, você pode usar as operações em lote do S3.

No modo de governança, você não pode substituir ou excluir uma versão do objeto ou alterar suas configurações de bloqueio, a menos que tenha a permissão s3:BypassGovernanceRetention. Por padrão, o console do S3 inclui o cabeçalho x-amz-bypass-governance-retention:true. Se você tentar excluir objetos protegidos pelo modo de governança e tiver permissões s3:BypassGovernanceRetention, a operação terá êxito. Por esse motivo, estamos usando o modo de conformidade neste tutorial.

Quando é colocado bloqueio em um objeto usando o modo Conformidade, a versão do objeto não pode ser excluída por nenhum usuário, incluindo o usuário raiz, até que o período de retenção expire. Além disso, seu modo de retenção não pode ser alterado e seu período de retenção não pode ser reduzido.  

Este tutorial demonstrará como nem mesmo um usuário com direitos administrativos consegue excluir objetos protegidos pelo modo de conformidade. Objetos que estão bloqueados e não podem ser excluídos continuarão sendo cobrados. Para minimizar os custos deste tutorial, certifique-se de ter definido a retenção padrão para apenas 1 dia e fazer upload apenas de arquivos pequenos.

3.4 – Fazer upload de um novo objeto

  • Na guia Objetos, escolha Fazer upload

3.5

  • Em seguida, na seção Fazer upload, em Arquivos e pastas, clique em Adicionar arquivos. Navegue até o sistema de arquivos local, selecione qualquer arquivo pequeno para ser usado no teste e escolha Abrir. Seu arquivo será listado na seção Arquivos e pastas. Deixe o restante das opções nas configurações padrões e escolha Fazer upload.

3.6

  • Depois que as operações de upload do arquivo forem concluídas, você receberá uma mensagem de status indicando se o upload foi teve êxito ou não. Neste caso, o arquivo foi carregado com êxito. Depois, escolha Fechar.

3.7

  • Na guia Objetos, escolha o novo objeto de teste que você carregou.

Na guia Propriedades do objeto, revise a seção Visão geral do gerenciamento de objetos. Observe que os padrões de bloqueio de objetos que definimos foram aplicados ao objeto. Você também pode substituir esses padrões ao fazer upload um novo objeto e estender (mas não reduzir) a data de retenção aplicada a um objeto bloqueado.

3.8 – Tentar excluir o objeto

Nesta seção, exploraremos outro método de excluir permanentemente uma versão específica de um objeto, sem criar um marcador de exclusão. 

  • Escolha a guia Versões.  
  • Marque a caixa de seleção à esquerda do objeto e escolha Excluir.

Insira excluir permanentemente no campo de entrada de texto e escolha Excluir objetos.

  • Você receberá uma mensagem de erro informando que o objeto não pode ser excluído. Esse é o comportamento esperado ao usar o Bloqueio de objetos no modo de conformidade. Você precisará esperar até que o período de retenção (que definimos como 1 dia) tenha expirado para que esse objeto possa ser excluído.
  • Em seguida, escolha Fechar para sair dessa janela.

Etapa 4: explorar os atributos adicionais de proteção de dados do S3

Embora estejam fora do escopo deste tutorial, há dois outros tópicos de proteção de dados do S3 que você deve conhecer:

A replicação do S3 permite a cópia automática e assíncrona de objetos nos buckets do Amazon S3. Os buckets que são configurados para a replicação de objetos podem pertencer à mesma conta da AWS ou a diferentes contas. Você pode replicar objetos em um único bucket de destino ou em vários buckets de destino. Os buckets de destino podem estar em diferentes regiões da AWS ou na mesma região do bucket de origem.

A replicação do S3 exige que o versionamento do S3 esteja ativado nos buckets de origem e de destino.  

Se o bucket de origem tiver o bloqueio de objetos do S3 ativado, o (s) bucket (s) de destino também deverá ter o bloqueio de objetos do S3 ativado. Para habilitar a replicação em um bucket com o bloqueio de objetos ativado, você deve primeiro entrar em contato com o AWS Support. Quando o Amazon S3 replica objetos que têm informações de retenção aplicadas, ele aplica esses mesmos controles de retenção às suas réplicas, substituindo o período de retenção padrão configurado em seus buckets de destino. Se você não tiver controles de retenção aplicados aos objetos em seu bucket de origem e replicar em buckets de destino que tenham um período de retenção padrão definido, o período de retenção padrão do bucket de destino será aplicado às suas réplicas de objetos. 

Opções de registro em log

O Amazon S3 é integrado ao AWS CloudTrail, um serviço que fornece um registro das ações tomadas por um usuário, função ou serviço da AWS no Amazon S3. O CloudTrail captura um subconjunto de chamadas de API para o Amazon S3 como eventos, incluindo chamadas do console do Amazon S3 e chamadas de código para as APIs do Amazon S3.

O registro de acesso ao servidor fornece registros detalhados das solicitações feitas a um bucket. Os logs de acesso ao servidor são úteis para muitos aplicativos. Por exemplo, as informações do log de acesso podem ser úteis em auditorias de segurança e acesso. Também podem ajudar você a conhecer sua base de clientes e entender sua fatura do Amazon S3.

Use o AWS Backup para centralizar e automatizar a proteção de dados em serviços da AWS e workloads híbridas. Ele oferece um serviço econômico, totalmente gerenciado e baseado em políticas que simplifica ainda mais a proteção de dados em grande escala. O AWS Backup também ajuda a garantir a conformidade regulatória ou as políticas de negócios para a proteção de dados.  

O Amazon S3 é um dos muitos recursos do AWS Backup suportados. O AWS Backup também faz uso do versionamento do S3.

Etapa 5: visualizar métricas de proteção de dados do S3 com a Lente de armazenamento do Amazon S3

A Lente de armazenamento do Amazon S3 oferece visibilidade de toda a organização sobre o status de proteção de dados de seus dados armazenados no Amazon S3. A Lente de armazenamento do S3 pode mostrar facilmente as porcentagens dos dados criptografados, com versões, replicados e bloqueados por objetos. Essa visibilidade de proteção de dados na Lente de armazenamento do S3 pode ser visualizada em vários buckets do Amazon S3, contas da AWS e AWS Organizations sem custo adicional, com 14 dias de níveis de proteção de dados históricos para começar imediatamente.

Você pode usar a Lente de armazenamento do S3 para ver um resumo das métricas de proteção de dados, expresso como uma porcentagem da quantidade total de dados. Isso inclui: bytes da versão atual, bytes de outras versões, bytes criptografados, bytes replicados e bytes de bloqueio de objetos.

5.1

  • No console do S3, localize Lente de armazenamento no painel de navegação.
  • Clique em Painéis e, em seguida, em default-account-dashboard.

5.2

  • Selecione a guia Proteção de dados para ver estatísticas relacionadas a versionamento, criptografia, replicação e bloqueio de objetos.

Etapa 6: realizar a limpeza

Nas próximas etapas, você limpará os recursos criados neste tutorial. É uma prática recomendada excluir recursos que você não esteja mais usando a fim de evitar cobranças não intencionais.

Observe que você precisará esperar 1 dia para que o bloqueio de objetos do S3 expire antes de seguir essas etapas.

6.1 – Excluir os objetos de teste

  • Se você estiver desconectado da sessão do Console de Gerenciamento da AWS, realize login novamente. Navegue até o console do S3 e selecione Buckets no painel de navegação. Primeiro, você precisará excluir os objetos de teste do seu bucket de teste. Selecione o botão de opção à esquerda do bucket que você criou para este tutorial e, em seguida, escolha Esvaziar.
  • Na página Esvaziar bucket, insira excluir permanentemente na caixa de confirmação Excluir permanentemente todos os objetos. Em seguida, escolha Esvaziar para continuar.
  • Posteriormente, será apresentada uma faixa de notificação indicando se a exclusão foi bem-sucedida. Clique em Sair.

6.2 – Excluir o bucket de teste

  • Por fim, você precisa excluir o bucket de teste que criou. Retorne à lista de buckets em sua conta. Selecione o botão de opção à esquerda do bucket que você criou para este tutorial e, em seguida, escolha Excluir.
  • Analise a mensagem de aviso. Se você quiser continuar a exclusão desse bucket, insira o nome dele na caixa de confirmação do campo de entrada de texto e escolha Excluir intervalo.

Conclusão

Parabéns! Você aprendeu a proteger dados no Amazon S3 usando o Versionamento e o Bloqueio de objetos do S3 e analisou essas configurações usando a Lente de armazenamento do S3.

Esta página foi útil para você?

Próximas etapas

Para saber mais sobre o Amazon S3, acesse os recursos a seguir.