Catalogar e analisar seus dados com o Inventário S3
É 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)
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 Presto
nota
Pode levar até 48 horas para o Amazon S3 entregar o primeiro relatório de inventário.
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 Reter várias versões de objetos com o Versionamento 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 Reter várias versões de objetos com o Versionamento 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. Para obter mais informações, consulte Object na Referência da API do Amazon Simple Storage Service.
-
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
ouSNOW
. Para ter mais informações, consulte Compreender e gerenciar classes de armazenamento do Amazon S3.nota
O Inventário S3 não é compatível com a classe S3 Express One Zone.
-
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 como
PENDING
,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, criptografia do lado do servidor com chaves gerenciadas do Amazon S3 (SSE-S3), criptografia do lado do servidor com chaves do AWS Key Management Service (AWS KMS) (SSE-KMS), criptografia de camada dupla do lado do servidor com chaves do AWS KMS (DSSE-KMS) ou criptografia do lado do servidor com chaves fornecidas pelo cliente (SSE-C). Defina como
SSE-S3
,SSE-KMS
,DSSE-KMS
,SSE-C
ouNOT-SSE
. Um statusNOT-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 Bloquear objetos com o Bloqueio de Objetos.
-
Modo de retenção do bloqueio de objetos do S3: defina como
Governance
ouCompliance
para objetos bloqueados. Para ter mais informações, consulte Bloquear objetos com o Bloqueio de Objetos. -
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 comoOff
. Para ter mais informações, consulte Bloquear objetos com o Bloqueio de Objetos. -
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
FREQUENT
,INFREQUENT
,ARCHIVE_INSTANT_ACCESS
,ARCHIVE
ouDEEP_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
ouDISABLED
. 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. Para ter mais informações, consulte Usar algoritmos de soma de verificação compatíveis.
-
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 ter 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 ID de usuário canônico do proprietário do objeto. Para ter mais informações, consulte Find the canonical user ID for your AWS account no Guia de referência de gerenciamento de contas da AWS.
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.
Veja a seguir um exemplo de relatório de inventário com campos de metadados adicionais que consistem em quatro registros.
amzn-s3-demo-bucket1 example-object-1 EXAMPLEDC8l.XJCENlF7LePaNIIvs001 TRUE 1500 2024-08-15T15:28:26.0004 EXAMPLE21e1518b92f3d92773570f600 STANDARD FALSE COMPLETED SSE-KMS 2025-01-25T15:28:26.000Z COMPLIANCE Off ENABLED eyJ2ZXJzaW9uIjoiMjAyMi0xMS0xMCIsInN0YXR1cyI6IkFWQUlMQUJMRSIsImdyYW50cyI6W3sicGVybWlzc2lvbiI6IkZVTExfQ09OVFJPTCIsInR5cGUiOiJDYW5vbmljYWxVc2VyIiwiY2Fub25pY2FsSWQiOiJFWEFNUExFNzY2ZThmNmIxMTVkOTNkNDFkZjJlYWM0MjBhYTRhNDY1ZDE3N2MxMzk4YmM2YTA4OGM3NmI3MDAwIn1dfQ== EXAMPLE766e8f6b115d93d41df2eac420aa4a465d177c1398bc6a088c76b7000 amzn-s3-demo-bucket1 example-object-2 EXAMPLEDC8l.XJCENlF7LePaNIIvs002 TRUE 200 2024-08-21T15:28:26.000Z EXAMPLE21e1518b92f3d92773570f601 INTELLIGENT_TIERING FALSE COMPLETED SSE-KMS 2025-01-25T15:28:26.000Z COMPLIANCE Off INFREQUENT ENABLED SHA-256 eyJ2ZXJzaW9uIjoiMjAyMi0xMS0xMCIsInN0YXR1cyI6IkFWQUlMQUJMRSIsImdyYW50cyI6W3sicGVybWlzc2lvbiI6IkZVTExfQ09OVFJPTCIsInR5cGUiOiJDYW5vbmljYWxVc2VyIiwiY2Fub25pY2FsSWQiOiJFWEFNUExFNzY2ZThmNmIxMTVkOTNkNDFkZjJlYWM0MjBhYTRhNDY1ZDE3N2MxMzk4YmM2YTA4OGM3NmI3MDAwIn1dfQ== EXAMPLE766e8f6b115d93d41df2eac420aa4a465d177c1398bc6a088c76b7001 amzn-s3-demo-bucket1 example-object-3 EXAMPLEDC8l.XJCENlF7LePaNIIvs003 TRUE 12500 2023-01-15T15:28:30.000Z EXAMPLE21e1518b92f3d92773570f602 STANDARD FALSE REPLICA SSE-KMS 2025-01-25T15:28:26.000Z GOVERNANCE On ENABLED eyJ2ZXJzaW9uIjoiMjAyMi0xMS0xMCIsInN0YXR1cyI6IkFWQUlMQUJMRSIsImdyYW50cyI6W3sicGVybWlzc2lvbiI6IkZVTExfQ09OVFJPTCIsInR5cGUiOiJDYW5vbmljYWxVc2VyIiwiY2Fub25pY2FsSWQiOiJFWEFNUExFNzY2ZThmNmIxMTVkOTNkNDFkZjJlYWM0MjBhYTRhNDY1ZDE3N2MxMzk4YmM2YTA4OGM3NmI3MDAwIn1dfQ== EXAMPLE766e8f6b115d93d41df2eac420aa4a465d177c1398bc6a088c76b7002 amzn-s3-demo-bucket1 example-object-4 EXAMPLEDC8l.XJCENlF7LePaNIIvs004 TRUE 100 2021-02-15T15:28:27.000Z EXAMPLE21e1518b92f3d92773570f603 STANDARD FALSE COMPLETED SSE-KMS 2025-01-25T15:28:26.000Z COMPLIANCE Off ENABLED eyJ2ZXJzaW9uIjoiMjAyMi0xMS0xMCIsInN0YXR1cyI6IkFWQUlMQUJMRSIsImdyYW50cyI6W3sicGVybWlzc2lvbiI6IkZVTExfQ09OVFJPTCIsInR5cGUiOiJDYW5vbmljYWxVc2VyIiwiY2Fub25pY2FsSWQiOiJFWEFNUExFNzY2ZThmNmIxMTVkOTNkNDFkZjJlYWM0MjBhYTRhNDY1ZDE3N2MxMzk4YmM2YTA4OGM3NmI3MDAwIn1dfQ== EXAMPLE766e8f6b115d93d41df2eac420aa4a465d177c1398bc6a088c76b7003
Recomendamos que você crie uma política de ciclo de vida que exclua listas de inventário antigas. Para ter mais informações, consulte Gerenciar o ciclo de vida dos objetos.
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.
Tópicos
- Configurar o inventário do Amazon S3
- Localização de lista de inventário
- Configuração de notificações de eventos do Amazon S3 para conclusão de inventário
- Consulta do Amazon S3 Inventory com o Amazon Athena
- Converter strings de ID de versão vazias nos relatórios do Amazon S3 Inventory em cadeias de caracteres null
- Trabalhar com o campo ACL de objetos