Habilitar o versionamento em buckets
Use o S3 Versioning para manter várias versões de um objeto em um bucket. Esta seção fornece exemplos de como habilitar o versionamento em um bucket usando o console, a API REST, os AWS SDKs e a AWS Command Line Interface (AWS CLI).
nota
Ao habilitar o versionamento em um bucket pela primeira vez, poderá levar até 15 minutos para que a alteração seja totalmente propagada no sistema do S3. Durante esse período, as solicitações GET
de objetos criados ou atualizados após a habilitação do versionamento podem gerar erros HTTP 404 NoSuchKey
. Recomendamos aguardar 15 minutos depois de habilitar o versionamento para executar quaisquer operações de gravação (PUT
ou DELETE
) em objetos no bucket. Esse período de espera ajuda a evitar possíveis problemas com a visibilidade de objetos e o rastreamento de versões.
Para obter mais informações sobre o S3 Versioning, consulte Reter várias versões de objetos com o Versionamento do S3. Para obter informações sobre como trabalhar com objetos que estão em buckets habilitados para versão, consulte Trabalhar com objetos em um bucket com versionamento habilitado.
Para saber mais sobre como usar o Versionamento do S3 para proteger dados, consulte Tutorial: Protecting data on Amazon S3 against accidental deletion or application bugs using S3 Versioning, S3 Object Lock, and S3 Replication
Cada bucket do S3 que você cria tem um sub-recurso de versionamento associado a ele. (Para obter mais informações, consulte Opções de configuração de buckets de uso geral.) Por padrão, seu bucket não está habilitado para versionamento e o sub-recurso de versionamento armazena uma configuração vazia de versionamento, como mostrado a seguir.
<VersioningConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/"> </VersioningConfiguration>
Para habilitar o versionamento, você pode enviar uma solicitação ao Amazon S3 com uma configuração de versionamento que inclui um status.
<VersioningConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/"> <Status>Enabled</Status> </VersioningConfiguration>
Para suspender o versionamento, você define o valor do status como Suspended
.
O proprietário do bucket e todos os usuários autorizados podem habilitar o versionamento. O proprietário do bucket é a Conta da AWS que criou o bucket (a conta root). Para obter mais informações sobre permissões, consulte Gerenciamento de identidade e acesso para o Amazon S3.
As seções a seguir fornecem mais detalhes sobre como ativar o versionamento do S3 usando o console, a AWS CLI e os AWS SDKs.
Siga estas etapas para usar o AWS Management Console para habilitar o versionamento em um bucket do S3.
Como habilitar ou desabilitar o versionamento em um bucket de uso geral do S3
Faça login no AWS Management Console e abra o console do Amazon S3 em https://console.aws.amazon.com/s3/
. -
No painel de navegação à esquerda, escolha Buckets de uso geral.
-
Na lista de buckets, escolha o nome do bucket para o qual você deseja habilitar o versionamento.
-
Escolha Properties (Propriedades).
-
Em Bucket Versioning (Versionamento de bucket), escolha Edit (Editar).
-
Escolha Suspend (Suspender) ou Enable (Ativar), e selecione Save changes (Salvar alterações).
nota
Você pode usar a autenticação multifator (MFA) da AWS com versionamento. Ao usar a MFA com versionamento, você deve fornecer as chaves de acesso da sua Conta da AWS e um código válido do dispositivo MFA da conta para excluir permanentemente uma versão de objeto ou suspender ou reativar o versionamento.
Para usar a MFA com versionamento, você habilita MFA Delete
. No entanto, não é possível habilitar o MFA Delete
usando o AWS Management Console. É necessário usar a AWS Command Line Interface (AWS CLI) ou API. Para obter mais informações, consulte Configurando a exclusão de MFA.
O exemplo a seguir habilita o versionamento em um bucket de uso geral do S3.
aws s3api put-bucket-versioning --bucket
amzn-s3-demo-bucket1
--versioning-configuration Status=Enabled
O exemplo a seguir habilita o versionamento do S3 e a exclusão da autenticação multifator (MFA) em um bucket para um dispositivo de MFA físico. Para dispositivos de MFA físicos, no parâmetro --mfa
, passe uma concatenação do número de série do dispositivo de MFA, um caractere de espaço e o valor exibido em seu dispositivo de autenticação.
aws s3api put-bucket-versioning --bucket
amzn-s3-demo-bucket1
--versioning-configuration Status=Enabled,MFADelete=Enabled --mfa "SerialNumber 123456
"
O exemplo a seguir habilita o versionamento do S3 e a exclusão da autenticação multifator (MFA) em um bucket para um dispositivo de MFA virtual. Para dispositivos de MFA virtuais, no parâmetro --mfa
, passe uma concatenação do ARN do dispositivo de MFA, um caractere de espaço e o valor exibido em seu dispositivo de autenticação.
aws s3api put-bucket-versioning --bucket
amzn-s3-demo-bucket1
--versioning-configuration Status=Enabled,MFADelete=Enabled --mfa "arn:aws:iam::account-id
:mfa/root-account-mfa-device123789
"
nota
O uso da exclusão de MFA requer um dispositivo de autenticação física ou virtual aprovado. Para obter mais informações sobre como usar exclusão de MFA no Amazon S3, consulte Configurando a exclusão de MFA.
Para obter mais informações sobre como ativar o versionamento usando a AWS CLI, consulte put-bucket-versioning
Os exemplos a seguir permitem o versionamento em um bucket e, em seguida, recuperam o status do versionamento usando o AWS SDK para Java e o AWS SDK para .NET. Para obter informações sobre o uso de outros AWS SDKs, consulte o Centro do Desenvolvedor da AWS