Inventário do Amazon S3 - Amazon Simple Storage Service

Inventário do Amazon S3

Importante

O Amazon S3 agora aplica criptografia do lado do servidor com chaves gerenciadas do Amazon S3 (SSE-S3) como nível básico de criptografia para cada bucket no Amazon S3. Desde 5 de janeiro de 2023, todos os novos uploads de objetos para o Amazon S3 são automaticamente criptografados sem custo adicional e sem impacto na performance. O status de criptografia automática para a configuração de criptografia padrão do bucket do S3 e para novos uploads de objetos está disponível em logs do AWS CloudTrail, no Inventário do S3, na Lente de Armazenamento do S3, no console do Amazon S3 e como cabeçalho adicional de resposta da API do Amazon S3 na AWS Command Line Interface e em AWS SDKs. Para obter mais informações, consulte Perguntas frequentes sobre criptografia padrão.

É possível usar o Inventário Amazon S3 para ajudar a gerenciar o armazenamento. Por exemplo, você pode usá-lo para auditar e gerar relatórios sobre o status da replicação e criptografia de seus objetos para os negócios, a conformidade e as necessidades normativas. Também é possível simplificar e acelerar os fluxos de trabalho de negócios e os trabalhos de big data usando o Inventário Amazon S3, que fornece uma alternativa programada para as operações síncronas da API List do Amazon S3. O Inventário Amazon S3 não usa as operações de API List para auditar os objetos e não afeta a taxa de solicitação do bucket.

O Inventário Amazon S3 fornece arquivos de saída nos formatos CSV (valores separados por vírgulas), Apache ORC (colunar de linhas otimizado do Apache) ou Apache Parquet que listam os objetos e os metadados correspondentes, diária ou semanalmente, para um bucket do S3 ou objetos com prefixo compartilhado (ou seja, objetos que tenham nomes que comecem com uma string comum). Se você configurar um inventário semana, um relatório será gerado todo domingo (no fuso horário UTC) depois do relatório inicial. Para obter mais informações sobre preços do Amazon S3 Inventory, consulte Preços do Amazon S3.

Você pode configurar várias listas de inventário para um bucket. Ao configurar uma lista de inventário, é possível especificar o seguinte:

  • Quais metadados de objeto incluir no inventário

  • Se deve listar todas as versões do objeto ou somente as versões atuais

  • Onde armazenar a saída do arquivo da lista de inventário

  • Se o inventário deve ser gerado diariamente ou semanalmente

  • Se o arquivo da lista de inventário deve ser criptografado

É possível consultar o Inventário Amazon S3 com consultas SQL padrão usando o Amazon Athena, o Amazon Redshift Spectrum e outras ferramentas, como PrestoApache Hive e Apache Spark. Para obter mais informações sobre como usar o Athena para consultar os arquivos de inventário, consulte Consulta do Amazon S3 Inventory com o Amazon Athena.

Buckets de origem e destino

O bucket para o qual o inventário lista objetos é chamado de bucket de origem. O bucket em que o arquivo de lista de inventários é armazenado é chamado de bucket de destino.

Bucket de origem

O inventário lista os objetos armazenados no bucket de origem. É possível obter uma lista de inventários de um bucket inteiro ou filtrar a lista pelo prefixo do nome da chave do objeto.

O bucket de origem:

  • Contém os objetos que estão listados no inventário

  • Contém a configuração para o inventário

Bucket de destino

Os arquivos de lista do Amazon S3 Inventory são gravados no bucket de destino. Você pode especificar um prefixo de destino na configuração do inventário para agrupar todos os arquivos de lista de inventários em um local comum no bucket de destino.

O bucket de destino:

  • Contém as listas de arquivos de inventário.

  • Contém os arquivos manifestos que relacionam todos os arquivos de listas de inventários armazenados no bucket de destino. Para ter mais informações, consulte Manifesto de inventário.

  • Deve haver uma política de bucket para dar permissão ao Amazon S3 para verificar a propriedade do bucket e permissão para gravar arquivos no bucket.

  • Deve estar na mesma Região da AWS do bucket de origem.

  • Pode ser igual ao bucket de origem.

  • Pode pertencer a uma Conta da AWS diferente da conta que é proprietária do bucket de origem.

Lista do Amazon S3 Inventory

Um arquivo de lista de inventários contém uma lista dos objetos no bucket de origem e os metadados de cada objeto. Um arquivo da lista de inventários é armazenado no bucket de destino com um dos seguintes formatos:

  • Um arquivo CSV compactado com GZIP

  • Como um arquivo colunar de linha otimizado (ORC) do Apache compactado com ZLIB

  • Como um arquivo Apache Parquet compactado com Snappy

nota

Não há garantia de classificação em nenhuma ordem dos objetos nos relatórios do Amazon S3 Inventory.

Um arquivo de lista de inventários contém uma lista dos objetos no bucket de origem e os metadados de cada objeto listado:

  • Nome do bucket: o nome do bucket a que o inventário se refere.

  • Key name (Nome da chave): o nome da chave de objeto (ou chave) que identifica cada objeto no bucket. Ao usar o formato de arquivo CSV, o nome da chave é codificado em URL e deve ser decodificado para que possa ser usado.

  • Version ID (ID da versão): o ID de versão do objeto. Quando você habilita o versionamento em um bucket, o Amazon S3 atribui um número de versão aos objetos adicionados ao bucket. Para ter mais informações, consulte Usando o versionamento em buckets do S3. (O campo não é incluído caso a lista seja configurada somente para a versão atual dos objetos.)

  • IsLatest: definido como True se o objeto for a versão atual do objeto. (O campo não é incluído caso a lista seja configurada somente para a versão atual dos objetos.)

  • Delete marker (Marcador de exclusão): definido como True se o objeto for um marcador de exclusão. Para obter mais informações, consulte Usando o versionamento em buckets do S3. (Este campo é adicionado automaticamente ao seu relatório se você configurou o relatório para incluir todas as versões dos seus objetos).

  • Tamanho: o tamanho do objeto em bytes, sem incluir o tamanho de uploads incompletos de várias partes, metadados de objetos e marcadores de exclusão.

  • Last modified date (Data da última modificação) – a data de criação do objeto ou data da última modificação, a mais atual entre as duas.

  • ETag: a tag de entidade (ETag) é um hash do objeto. O ETag reflete as alterações apenas no conteúdo de um objeto, não em seus metadados. A ETag pode ser um resumo MD5 dos dados do objeto. Tudo depende de como o objeto foi criado e de como está criptografado.

  • Classe de armazenamento: a classe de armazenamento usada para armazenar o objeto. Defina como STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR ou SNOW. Para ter mais informações, consulte Uso de classes de armazenamento do Amazon S3.

  • Sinalizador de multipart upload: definido como True se o objeto foi carregado como um multipart upload. Para ter mais informações, consulte Carregar e copiar objetos usando multipart upload.

  • Replication status (Status da replicação): defina comoPENDING, COMPLETED, FAILED, ouREPLICA. Para ter mais informações, consulte Obtenção de informações sobre o status da replicação.

  • Status da criptografia: o status da criptografia do lado do servidor, dependendo do tipo de chave de criptografia usada: uma chave gerenciada pelo Amazon S3 (SSE-S3), uma chave do AWS Key Management Service (AWS KMS) (SSE-KMS) ou uma chave fornecida pelo cliente (SSE-C). Defina como SSE-S3SSE-CSSE-KMS ou NOT-SSE. Um status NOT-SSE significa que o objeto não foi criptografado com a criptografia no lado do servidor. Para obter mais informações, consulte Proteger dados com criptografia.

  • Prazo de retenção do bloqueio de objetos do S3: a data até a qual o objeto bloqueado não pode ser excluído. Para ter mais informações, consulte Usar o bloqueio de objetos do S3.

  • Modo de retenção do bloqueio de objetos do S3: defina como Governance ou Compliance para objetos bloqueados. Para ter mais informações, consulte Usar o bloqueio de objetos do S3.

  • Status de retenção legal do bloqueio de objetos do S3: definido como On caso uma retenção legal tenha sido aplicada a um objeto. Caso contrário, ele será definido como Off. Para ter mais informações, consulte Usar o bloqueio de objetos do S3.

  • Nível de acesso S3 Intelligent-Tiering: nível de acesso (frequente ou infrequente) do objeto se armazenado na classe de armazenamento S3 Intelligent-Tiering. Defina como FREQUENTINFREQUENTARCHIVE_INSTANT_ACCESSARCHIVE ou DEEP_ARCHIVE. Para ter mais informações, consulte Classe de armazenamento para otimizar automaticamente dados com padrões de acesso alterados ou desconhecidos.

  • S3 Bucket Key Status (Status da chave do bucket do S3): defina como ENABLED ou DISABLED. Indica se o objeto usa a uma chave de bucket do S3 para SSE-KMS. Para ter mais informações, consulte Uso de chaves de bucket do Amazon S3.

  • Algoritmo de soma de verificação: indica o algoritmo usado para criar a soma de verificação do objeto.

  • Lista de controle de acesso de objetos: uma lista de controle de acesso (ACL) para cada objeto que define quais Contas da AWS ou grupos recebem acesso a esse objeto e o tipo de acesso concedido. O campo ACL de objetos é definido no formato JSON. Um relatório da funcionalidade Inventário S3 inclui ACLs associadas a objetos no bucket de origem, mesmo quando as ACLs estão desabilitadas para o bucket. Para obter mais informações, consulte Trabalhar com o campo ACL de objetos e Visão geral da lista de controle de acesso (ACL).

    nota

    O campo ACL de objetos é definido no formato JSON. Um relatório de inventário exibe o valor do campo ACL de objetos como uma string codificada em base64.

    Por exemplo, suponha que você tenha o seguinte campo ACL de objetos no formato JSON:

    { "version": "2022-11-10", "status": "AVAILABLE", "grants": [{ "canonicalId": "example-canonical-user-ID", "type": "CanonicalUser", "permission": "READ" }] }

    O campo ACL de objetos é codificado e mostrado como a seguinte string codificada em base64:

    eyJ2ZXJzaW9uIjoiMjAyMi0xMS0xMCIsInN0YXR1cyI6IkFWQUlMQUJMRSIsImdyYW50cyI6W3siY2Fub25pY2FsSWQiOiJleGFtcGxlLWNhbm9uaWNhbC11c2VyLUlEIiwidHlwZSI6IkNhbm9uaWNhbFVzZXIiLCJwZXJtaXNzaW9uIjoiUkVBRCJ9XX0=

    Para obter o valor decodificado em JSON para o campo ACL de objetos, você pode consultar esse campo no Amazon Athena. Para obter exemplos de consultas, consulte Consulta do Amazon S3 Inventory com o Amazon Athena.

  • Proprietário do objeto: o dono do objeto.

nota

Quando um objeto atinge o fim de seu ciclo de vida, com base em sua configuração de ciclo de vida, o Amazon S3 o coloca em uma fila para remoção e o remove assincronamente. Assim, pode haver um atraso entre a data de expiração e a data em que o Amazon S3 remove um objeto. O relatório de inventário inclui os objetos que expiraram, mas ainda não foram removidos. Para obter mais informações sobre as ações de expiração no ciclo de vida do S3, consulte Expirando objetos.

Recomendamos que você crie uma política de ciclo de vida que exclua listas de inventário antigas. Para ter mais informações, consulte Gerenciando seu ciclo de vida de armazenamento.

Com s3:PutInventoryConfiguration, o usuário tem permissão para selecionar todos os campos de metadados listados anteriormente para cada objeto ao configurar uma lista de inventário e especificar o bucket de destino para armazenar o inventário. Um usuário com acesso de leitura aos objetos no bucket de destino pode acessar todos os campos de metadados do objeto que estão disponíveis na lista de inventário. Para restringir o acesso a um relatório de inventário, consulte Conceder permissões para o Inventário do S3 e análises do S3.

Consistência de inventário

Todos os seus objetos podem não aparecer em cada lista de inventários. A lista de inventários fornece uma consistência eventual para solicitações PUT (de objetos novos e substituídos) e para solicitações DELETE. Cada lista de inventário de um bucket é um snapshot dos itens do bucket. Essas listas acabam sendo consistentes (ou seja, uma lista pode não incluir objetos adicionados ou excluídos recentemente).

Para validar o estado de um objeto antes de você realizar uma ação no objeto, recomendamos que faça uma solicitação HeadObject da API REST para recuperar metadados do objeto ou verifique suas propriedades no console do Amazon S3. Você também pode verificar metadados do objeto com a AWS CLI ou os AWS SDKs. Para obter mais informações, consulte HeadObject na Referência da API do Amazon Simple Storage Service.

Para obter mais informações sobre como trabalhar com o Amazon S3 Inventory, consulte os tópicos a seguir.