Catalogage et analyse de vos données avec S3 Inventory - Amazon Simple Storage Service

Catalogage et analyse de vos données avec S3 Inventory

Vous pouvez utiliser Amazon S3 Inventory pour vous aider à gérer votre stockage. Par exemple, vous pouvez l’utiliser pour contrôler et signaler le statut de réplication et de chiffrement de vos objets à des fins professionnelles, de conformité et d’obligations réglementaires. Vous pouvez également simplifier et accélérer les flux de travail et les tâches du big data à l’aide d’Amazon S3 Inventory, qui fournit une alternative planifiée aux opérations d’API List synchrones Amazon S3. Amazon S3 Inventory n’utilise pas les opérations d’API List pour auditer vos objets et n’affecte pas le taux de demande de votre compartiment.

Amazon S3 Inventory fournit des fichiers de sortie au format CSV (valeurs séparées par une virgule), ORC (Apache Optimized Row Columnar) ou Apache Parquet qui répertorient vos objets et leurs métadonnées correspondantes tous les jours ou toutes les semaines pour des objets ou un compartiment S3 avec un préfixe partagé (c’est-à-dire des objets dont le nom commence par une chaîne commune). Si vous avez configuré un inventaire hebdomadaire, un rapport est généré tous les dimanches (fuseau horaire UTC) après le rapport initial. Pour plus d’informations sur la tarification d’Amazon S3 Inventory, consultez Tarification Amazon S3.

Vous pouvez configurer plusieurs listes d’inventaire d’un compartiment. Lorsque vous configurez une liste d’inventaire, vous pouvez spécifier les éléments suivants :

  • Quelles métadonnées d’objet inclure dans l’inventaire

  • S’il faut répertorier toutes les versions de l’objet ou uniquement les versions actuelles

  • Où stocker la sortie du fichier de liste d’inventaire

  • S’il faut générer l’inventaire de manière quotidienne ou hebdomadaire

  • S’il faut chiffrer le fichier de liste d’inventaire

Vous pouvez interroger Amazon S3 Inventory avec des requêtes SQL standard en utilisant Amazon AthenaAmazon Redshift Spectrum et d’autres outils tels que PrestoApache Hive et Apache Spark. Pour plus d’informations sur l’utilisation d’Athena pour interroger vos fichiers d’inventaire, consultez Interrogation d’Amazon S3 Inventory avec Amazon Athena.

Note

La distribution du premier rapport d’inventaire pour Amazon S3 peut prendre jusqu’à 48 heures.

Compartiments source et de destination

Le compartiment pour lequel l’inventaire répertorie les objets est appelé compartiment source. Le compartiment dans lequel le fichier de liste d’inventaire est stocké est appelé compartiment de destination.

Compartiment source

L’inventaire répertorie les objets qui sont stockés dans le compartiment source. Vous pouvez obtenir une liste d’inventaire d’un compartiment entier ou vous pouvez filtrer par liste par préfixe de nom de la clé d’objet.

Le compartiment source :

  • Contient les objets qui sont répertoriés dans l’inventaire

  • Contient la configuration de l’inventaire

Compartiment de destination

Les fichiers de liste d’Amazon S3 Inventory sont écrits dans le compartiment de destination. Vous pouvez spécifier un préfixe de destination dans la configuration de l’inventaire pour regrouper tous les fichiers de liste d’inventaire dans un emplacement commun au sein du compartiment de destination.

Le compartiment de destination :

  • Contient les listes de fichiers d’inventaire.

  • Contient les fichiers manifeste qui répertorient tous les fichiers de listes d’inventaire stockés dans le compartiment de destination. Pour plus d’informations, consultez Manifeste d’inventaire.

  • Doit avoir une stratégie de compartiment pour donner à Amazon S3 l’autorisation de vérifier la propriété du compartiment et l’autorisation d’écrire des fichiers dans le compartiment.

  • Doit se situer dans la même Région AWS que le compartiment source.

  • Peut être le même que le compartiment source.

  • Peut être détenu par un Compte AWS différent de celui possédant le compartiment source.

Liste Amazon S3 Inventory

Un fichier de liste d’inventaire contient une liste des objets figurant dans le compartiment source et les métadonnées de chaque objet. Un fichier de liste d’inventaire est stocké dans le compartiment de destination sous l’un des formats suivants :

  • Fichier CSV compressé avec GZIP

  • En tant que fichier de colonne de ligne optimisée (ORC) par Apache compressé avec ZLIB

  • En tant que fichier Apache Parquet compressé avec Snappy

Note

Le tri des objets n’est pas garanti dans les rapports Amazon S3 Inventory.

Un fichier d’inventaire contient une liste des objets figurant dans le compartiment source et les métadonnées de chaque objet de la liste. Les champs par défaut ci-dessous sont toujours inclus :

  • Nom du compartiment – Le nom du compartiment pour lequel l’inventaire est effectué.

  • ETag : la balise d’entité (ETag) est un hachage de l’objet. ETag reflète les modifications uniquement appliquées au contenu d’un objet, pas à ses métadonnées. ETag peut être une valeur de hachage MD5 des données de l’objet. Cela dépend de la façon dont l’objet a été créé et de la manière dont il est chiffré. Pour plus d’informations, veuillez consulter Object dans la Référence des API Amazon Simple Storage Service.

  • Nom de clé – Nom de la clé d’objet (ou clé) qui identifie de manière unique l’objet dans le compartiment. Lorsque vous utilisez le format de fichier CSV, le nom de clé est codé en URL et doit être décodé avant d’être utilisé.

  • Date de la dernière modification – Date de création de l’objet ou date de la dernière modification, la plus récente étant retenue.

  • Taille : la taille de l’objet en octets, à l’exclusion de la taille des chargements partitionnés incomplets, des métadonnées de l’objet et des marqueurs de suppression.

  • Classe de stockage : classe de stockage utilisée pour stocker l’objet. Défini sur STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR ou SNOW. Pour plus d’informations, consultez Bien comprendre et gérer les classes de stockage Amazon S3.

    Note

    S3 Inventory ne prend pas en charge S3 Express One Zone.

Vous pouvez choisir d’inclure les champs de métadonnées supplémentaires suivants dans le rapport :

  • Algorithme de total de contrôle : algorithme utilisé pour créer le total de contrôle de l’objet. Pour plus d’informations, consultez Utilisation des algorithmes de somme de contrôle pris en charge.

  • Statut du chiffrement – Statut du chiffrement côté serveur, en fonction du type de clé de chiffrement utilisé : chiffrement côté serveur avec des clés gérées par Amazon S3 (SSE-S3), chiffrement côté serveur avec des clés AWS Key Management Service (AWS KMS) (SSE-KMS), chiffrement double couche côté serveur avec des clés AWS KMS (DSSE-KMS) ou chiffrement côté serveur avec des clés fournies par le client (SSE-C). Défini sur SSE-S3, SSE-KMS, DSSE-KMS, SSE-C ou NOT-SSE. Le statut NOT-SSE signifie que l’objet n’est pas chiffré avec le chiffrement côté serveur. Pour plus d’informations, consultez Protection des données à l’aide du chiffrement.

  • Niveau d’accès S3 Intelligent-Tiering : niveau d’accès (fréquent ou peu fréquent) de l’objet s’il est stocké dans S3 Intelligent-Tiering. Défini sur FREQUENT, INFREQUENT, ARCHIVE_INSTANT_ACCESS, ARCHIVE ou DEEP_ARCHIVE. Pour plus d’informations, consultez Classe de stockage pour l’optimisation automatique des données avec des modèles d’accès inconnus ou irréguliers.

  • Date de fin de conservation du verrouillage d’objet S3 : date jusqu’à laquelle l’objet verrouillé ne peut pas être supprimé. Pour plus d’informations, consultez Verrouillage d’objets avec la fonctionnalité de verrouillage d’objet.

  • Mode de rétention de verrouillage d’objet S3 : défini sur Governance ou Compliance pour les objets qui sont verrouillés. Pour plus d’informations, consultez Verrouillage d’objets avec la fonctionnalité de verrouillage d’objet.

  • Statut de conservation légale du verrouillage d’objet S3 : défini sur On si une conservation légale a été appliquée à un objet. Sinon, elle est définie sur Off. Pour plus d’informations, consultez Verrouillage d’objets avec la fonctionnalité de verrouillage d’objet.

  • ID de version – ID de version de l’objet. Lorsque vous activez la gestion des versions sur un compartiment, Amazon S3 attribue un numéro de version aux objets qui sont ajoutés au compartiment. Pour plus d’informations, consultez Conservation de plusieurs versions d’objets grâce à la gestion des versions S3. (Ce champ n’est pas inclus si la liste est configurée uniquement pour la version actuelle des objets.)

  • IsLatest – Défini sur True si l’objet est la version actuelle de l’objet. (Ce champ n’est pas inclus si la liste est configurée uniquement pour la version actuelle des objets.)

  • Marqueur de suppression – Défini sur True, si l’objet est un marqueur de suppression. Pour plus d’informations, consultez Conservation de plusieurs versions d’objets grâce à la gestion des versions S3. (Ce champ est automatiquement ajouté à votre rapport si vous avez configuré celui-ci pour qu’il inclue toutes les versions de vos objets).

  • Indicateur de chargement partitionné – Défini sur True si l’objet a été chargé dans un chargement partitionné. Pour plus d’informations, consultez Chargement et copie d’objets à l’aide du chargement partitionné dans Amazon S3.

  • Propriétaire de l’objet – ID d’utilisateur canonique du propriétaire de l’objet. Pour plus d’informations, consultez Recherche de l’ID d’utilisateur canonique de votre compte AWS dans le Guide de référence sur la gestion des comptes AWS.

  • Statut de réplication – Défini sur PENDING, COMPLETED, FAILED ou REPLICA. Pour plus d’informations, consultez Obtention d’informations sur le statut de la réplication.

  • Statut de clé de compartiment S3 – Défini sur ENABLED ou DISABLED. Indique si l’objet utilise une clé de compartiment S3 pour SSE-KMS. Pour plus d’informations, consultez Utilisation de clés de compartiment Amazon S3..

  • Liste de contrôle d’accès d’objet : une liste de contrôle d’accès (ACL) pour chaque objet qui définit quels groupes ou Comptes AWS se voient accorder l’accès à cet objet et le type d’accès accordé. Le champ Liste ACL d’objet est défini au format JSON. Un rapport S3 Inventory inclut les listes ACL associées aux objets dans votre compartiment source, même lorsque les listes ACL sont désactivées pour le compartiment. Pour plus d’informations, consultez Utiliser le champ Liste ACL d’objet et Présentation de la liste de contrôle d’accès (ACL).

    Note

    Le champ Liste ACL d’objet est défini au format JSON. Un rapport d’inventaire affiche la valeur du champ Liste ACL d’objet sous la forme d’une chaîne codée en base64.

    Supposons, par exemple, que vous disposiez du champ Liste ACL d’objet suivant au format JSON :

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

    Le champ Liste ACL d’objet est codé et affiché sous la forme de la chaîne codée en base64 suivante :

    eyJ2ZXJzaW9uIjoiMjAyMi0xMS0xMCIsInN0YXR1cyI6IkFWQUlMQUJMRSIsImdyYW50cyI6W3siY2Fub25pY2FsSWQiOiJleGFtcGxlLWNhbm9uaWNhbC11c2VyLUlEIiwidHlwZSI6IkNhbm9uaWNhbFVzZXIiLCJwZXJtaXNzaW9uIjoiUkVBRCJ9XX0=

    Pour obtenir la valeur décodée au format JSON pour le champ Liste ACL d’objet, vous pouvez interroger ce champ dans Amazon Athena. Pour d’autres exemples de requête, consultez Interrogation d’Amazon S3 Inventory avec Amazon Athena.

Note

Lorsqu’un objet est en fin de vie selon la configuration de son cycle de vie, Amazon S3 le place dans une file d’attente en vue de sa suppression et le supprime de manière asynchrone. Cependant, un certain retard est possible entre la date d’expiration et la date à laquelle Amazon S3 supprime l’objet. Le rapport d’inventaire inclut les objets qui ont expiré mais qui n’ont pas encore été supprimés. Pour plus d’informations sur les actions d’expiration dans le cycle de vie S3, consultez Objets en cours d’expiration.

Voici un exemple de rapport d’inventaire avec des champs de métadonnées supplémentaires, qui se compose de quatre enregistrements.

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

Nous vous recommandons de créer une stratégie de cycle de vie qui supprime les anciennes listes d’inventaire. Pour plus d’informations, consultez Gestion du cycle de vie des objets.

L’autorisation s3:PutInventoryConfiguration permet à l’utilisateur de sélectionner tous les champs de métadonnées répertoriés précédemment pour chaque objet lors de la configuration d’une liste d’inventaire et de spécifier le compartiment de destination pour stocker l’inventaire. Un utilisateur disposant d’un accès en lecture aux objets du compartiment de destination peut accéder à tous les champs de métadonnées d’objets disponibles dans la liste d’inventaire. Pour restreindre l’accès à un rapport d’inventaire, consultez Accorder des autorisations pour S3 Inventory et les analyses S3..

Cohérence de l’inventaire

Tous vos objets peuvent ne pas apparaître dans chaque liste d’inventaire. La liste d’inventaire fournit une cohérence à terme pour des requêtes PUT (des objets nouveaux et de remplacement) et pour des requêtes DELETE. Chaque liste d’inventaire d’un compartiment est un instantané des articles du compartiment. Ces listes sont finalement cohérentes (c’est-à-dire qu’une liste peut ne pas inclure les objets récemment ajoutés ou supprimés).

Pour valider l’état d’un objet avant de prendre des mesures sur l’objet, nous recommandons d’effectuer une demande d’API REST HeadObject pour récupérer les métadonnées de l’objet ou de vérifier les propriétés de l’objet dans la console Amazon S3. Vous pouvez également vérifier les métadonnées d’objet avec la AWS CLI ou les kits AWS SDK. Pour plus d’informations, veuillez consulter HeadObject dans la Référence des API Amazon Simple Storage Service.

Pour plus d’informations sur l’utilisation d’Amazon S3 Inventory, consultez les rubriques suivantes.