Trabalhar com o S3 Lifecycle para buckets de diretório
O S3 Lifecycle ajuda você a armazenar objetos na classe S3 Express One Zone em buckets de diretório de forma econômica ao excluir objetos expirados em seu nome. Para gerenciar o ciclo de vida de objetos, crie uma configuração do S3 Lifecycle para o bucket de diretório. Uma configuração do Amazon S3 Lifecycle é um conjunto de regras que define as ações aplicadas pelo Amazon S3 a um grupo de objetos. Você pode definir uma configuração do Amazon S3 Lifecycle em um bucket de diretório usando a AWS Command Line Interface (AWS CLI), os AWS SDKs, a API REST do Amazon S3 e o AWS CloudFormation.
Na configuração do ciclo de vida, você usa regras para definir ações que você deseja que o Amazon S3 realize em objetos. Para objetos armazenados em buckets de diretório, você pode criar regras de ciclo de vida para expirar objetos à medida que envelhecem. Você também pode criar regras de ciclo de vida para excluir carregamentos fracionados em buckets de diretório com frequência diária.
Quando você adiciona uma configuração do ciclo de vida a um bucket, as regras de configuração se aplicam aos objetos existentes e aos objetos que serão adicionados no futuro. Por exemplo, se você adicionar uma regra de configuração de ciclo de vida hoje com uma ação de expiração que faz com que os objetos com um prefixo específico expirem 30 dias após sua criação, o S3 organizará para exclusão todos os objetos existentes com mais de 30 dias e com o prefixo especificado.
Como o S3 Lifecycle para buckets de diretório é diferente
Para objetos em buckets de diretório, é possível criar regras de ciclo de vida para expirar objetos e excluir carregamentos fracionados incompletos. No entanto, o S3 Lifecycle para buckets de diretório não permite ações de transição entre classes de armazenamento. O S3 Lifecycle para buckets de diretório exige que você conceda permissões explícitas à entidade principal de serviço do S3 Lifecycle.
Permissões do S3 Lifecycle
O S3 Lifecycle usa as operações de API DeleteObject, DeleteObjects e AbortMultipartUpload para expirar objetos em buckets de diretório. Para realizar essas chamadas, o S3 Lifecycle usa a API CreateSession para obter credenciais de segurança temporárias. Você deve conceder a permissão s3express:CreateSession com o modo de sessão ReadWrite para a entidade principal de serviço do S3 Lifecycle (lifecycle.s3.amazonaws.com). Se você não conceder essa permissão ou se uma política ativa negar explicitamente as permissões de exclusão para a entidade principal de serviço do S3 Lifecycle, o S3 Lifecycle não poderá expirar objetos em seu bucket de diretório. Para obter mais informações sobre CreateSession, consulte CreateSession na Referência da API do Amazon S3.
Uso de uma política de bucket para conceder permissões à entidade principal de serviço do S3 Lifecycle
A política de bucket a seguir concede à entidade principal de serviço do Ciclo de Vida do S3 permissão para criar sessões para realizar operações como DeleteObject e DeleteObjects. Quando nenhum modo de sessão é especificado em uma solicitação CreateSession, a sessão é criada com o privilégio máximo permitido pelas permissões (tentando primeiro ReadWrite e, depois, ReadOnly, se ReadWrite não for permitida). No entanto, as sessões ReadOnly são insuficientes para operações de ciclo de vida que modifiquem ou excluam objetos. Portanto, esse exemplo exige explicitamente um modo de sessão ReadWrite por meio da chave de condição s3express:SessionMode.
exemplo Política de bucket para permitir CreateSession com um modo de sessão ReadWrite explícito para operações de ciclo de vida
{ "Version":"2008-10-17", "Statement":[ { "Effect":"Allow", "Principal": { "Service":"lifecycle.s3.amazonaws.com" }, "Action":"s3express:CreateSession", "Condition": { "StringEquals": { "s3express:SessionMode": "ReadWrite" } }, "Resource":"arn:aws:s3express:us-east-2:412345678921:bucket/amzn-s3-demo-bucket--use2-az2--x-s3" } ] }
Monitorar regras de ciclo de vida
Para objetos armazenados em buckets de diretório, o S3 Lifecycle gera logs de eventos de dados e gerenciamento do AWS CloudTrail. Consulte mais informações em Exemplos de arquivos de log de eventos de dados do CloudTrail para a classe Amazon S3 Express One Zone.
Consulte mais informações sobre como criar configurações de ciclo de vida e solucionar problemas relacionados ao S3 Lifecycle nos seguintes tópicos: