La fonctionnalité de rapport d'inventaire Storage Insights vous aide à gérer le stockage d'objets à grande échelle. Il s'agit d'une alternative planifiée et plus rapide à l'opération d'API Objects: list
.
Les rapports d'inventaire contiennent des informations de métadonnées sur vos objets, telles que la classe de stockage, l'ETag et le type de contenu. Ces informations vous aident à analyser vos coûts de stockage, à vérifier et valider vos objets, ainsi qu'à assurer la sécurité et la conformité des données. Vous pouvez exporter des rapports d'inventaire sous forme de fichiers CSV (valeurs séparées par une virgule) ou Apache Parquet pour les analyser plus en détail à l'aide d'outils tels que BigQuery.
Cette page présente la fonctionnalité de rapport d'inventaire Storage Insights. Pour obtenir des instructions sur l'utilisation de la fonctionnalité, consultez la page Créer et gérer des rapports d'inventaire.
Présentation des rapports d'inventaire
Les rapports d'inventaire contiennent une liste d'objets et de métadonnées associées pour un bucket donné, également appelé bucket source. Pour générer des rapports d'inventaire, vous devez d'abord créer une configuration de rapport d'inventaire qui définit la fréquence de génération des rapports, les champs de métadonnées que vous souhaitez inclure dans les rapports, et un bucket permettant de générer et stocker les rapports, également appelé bucket de destination.
Lorsque vous créez une configuration de rapport d'inventaire, un identifiant unique universel (UUID) lui est automatiquement attribué. Ce champ n'est pas modifiable. Toutefois, vous pouvez modifier les champs suivants d'une configuration de rapport d'inventaire :
- Nom à afficher de la configuration de rapport d'inventaire
- Champs de métadonnées d'objets inclus dans les rapports d'inventaire
- Bucket de destination dans lequel les rapports d'inventaire sont stockés
- Planification qui détermine la fréquence à laquelle les rapports d'inventaire sont générés
- Format de fichier dans lequel les rapports d'inventaire sont générés (CSV ou Apache Parquet)
Lorsque vous supprimez une configuration de rapport d'inventaire, les nouveaux rapports d'inventaire ne sont plus générés pour la configuration, mais les rapports d'inventaire existants demeurent.
Buckets source et de destination
Le bucket source contient les objets pour lesquels vous souhaitez générer des rapports d'inventaire. Il contient également la configuration de rapport d'inventaire. Un bucket source peut contenir jusqu'à 100 configurations de rapport d'inventaire.
Le bucket de destination contient les rapports d'inventaire générés. Le bucket de destination doit répondre aux exigences suivantes :
- Il doit se trouver dans le même emplacement que le bucket source.
- Il doit se trouver dans le même projet que le bucket source.
- Il peut être identique au bucket source.
Lorsque vous créez une configuration de rapport d'inventaire pour la première fois, un agent de service est automatiquement créé en votre nom. Pour créer des configurations de rapport d'inventaire et écrire des rapports d'inventaire dans le bucket de destination, vous et votre agent de service devez disposer des autorisations IAM requises. Consultez les autorisations requises pour vous-même et pour votre agent de service.
Storage Insights utilise les noms des buckets sources et de destination pour déterminer les buckets à utiliser lors de l'exécution de tâches. Si vous supprimez un bucket source ou de destination, puis créez un bucket portant le même nom, Storage Insights exécute les jobs en utilisant le nouveau bucket.
Champs de métadonnées d'objet
Les champs de métadonnées suivants peuvent être inclus dans un rapport d'inventaire. Les champs de métadonnées marqués comme "obligatoires" doivent être inclus dans le rapport d'inventaire.
Champ de métadonnées | Description | Remarques |
---|---|---|
projet | ID du projet où réside le bucket source. | Requis |
bucket | Nom du bucket source. | Requis |
name | Nom de l'objet. | Requis |
location | Emplacement du bucket source. | Facultatif |
size | Taille de l'objet. | Facultatif |
timeCreated | Heure de création de l'objet au format RFC 3339. | Facultatif |
timeDeleted | Heure de suppression de l'objet au format RFC 3339. Renvoyé si et seulement si cette version de l'objet n'est plus une version active, mais reste dans le bucket en tant que version archivée. | Facultatif |
mise(s) à jour | Heure de modification des métadonnées de l'objet au format RFC 3339. | Facultatif |
storageClass | Classe de stockage de l'objet. | Facultatif |
etag | Tag d'entité HTTP 1.1 pour l'objet. | Facultatif |
retentionExpirationTime | Heure la plus ancienne de suppression de l'objet, qui dépend de la configuration de conservation définie pour l'objet et de toute règle de conservation définie pour le bucket le contenant. La valeur de retentionExpriationTime est indiquée au format RFC 3339. |
Facultatif |
crc32c | Somme de contrôle CRC32C, comme décrit dans la RFC 4960 Annexe B, encodée en base64 dans l'ordre d'octet big-endian. Pour en savoir plus sur la somme de contrôle CRC32C, consultez la section Métadonnées des objets. | Facultatif |
md5Hash | Hachage MD5 des données, encodé en base64. Ce champ n'est pas présent pour les objets composites. Pour en savoir plus sur le hachage MD5, consultez la section Métadonnées des objets. | Facultatif |
generation | Contenu de la génération de cet objet. Utilisé pour la gestion des versions d'objets. | Facultatif |
metageneration | Version des métadonnées de cet objet à cette génération. Utilisé pour les conditions préalables et pour la détection des modifications des métadonnées. Un numéro de métagénération n'a de sens que dans le contexte d'une génération particulière d'un objet particulier. | Facultatif |
contentType | Content-Type des données d'objet. Si un objet est stocké sans Content-Type, il est diffusé en tant qu'application/octet-stream. | Facultatif |
contentEncoding | Content-Encoding des données d'objet. | Facultatif |
timeStorageClassUpdated | Date et heure de la dernière modification de la classe de stockage de l'objet. Une fois l'objet créé, il est défini sur timeCreated. | Facultatif |
Pour en savoir plus sur les champs de métadonnées d'objets, consultez la page Métadonnées d'bjets.
Segments de rapport d'inventaire
Lorsqu'un rapport d'inventaire contient plus de 1 000 000 d'objets, Storage Insights génère un ou plusieurs objets segment pour composer le rapport d'inventaire. Lorsque tous les segments d'un rapport d'inventaire ont été générés, un fichier manifeste est généré dans le même bucket de destination que les segments.
Fichier manifeste du rapport d'inventaire
La présence d'un fichier manifeste indique que tous les segments qui composent un rapport d'inventaire ont été générés. Le fichier manifeste fournit également les noms des objets segment du rapport d'inventaire.
Le fichier manifeste suit la convention d'attribution de noms REPORT_CONFIG_UUID_TARGET_DATETIME_manifest.json
, dans laquelle :
REPORT_CONFIG_UUID
est l'UUID généré automatiquement de la configuration de rapport d'inventaire.TARGET_DATETIME
est la date et l'heure UTC générées automatiquement, correspondant à l'horodatage de génération du rapport d'inventaire.
Voici un exemple de nom de fichier manifeste : fc95c52f-157a-494f-af4a-d4a53a69ba66_2022-11-30T00:00_manifest.json
.
Le fichier manifest.json
contient les champs renseignés automatiquement ci-après :
{ "report_config": REPORT_CONFIG_FIELDS, "records_processed": NUMBER_OF_INCLUDED_OBJECTS, "snapshot_time": "SNAPSHOT_TIME, "target_datetime": "TARGET_DATETIME, "shard_count": SHARD_COUNT, "report_shards_file_names": [ SHARD_FILE_NAME ...] }
Où :
REPORT_CONFIG_FIELDS
inclut des champs contenus dans la ressource ReportConfig.NUMBER_OF_INCLUDED_OBJECTS
est le nombre d'objets inclus dans le rapport d'inventaire.SNAPSHOT_TIME
est la date et l'heure UTC générées automatiquement, correspondant à la réalisation de l'instantané de données. Toutes les données d'un rapport d'inventaire sont capturées au niveau de l'instantané.TARGET_DATETIME
est la date et l'heure UTC générées automatiquement, correspondant à l'horodatage de génération du rapport d'inventaire.SHARD_COUNT
est le nombre total de segments générés qui composent le rapport d'inventaire.SHARD_FILE_NAME
est le nom d'un segment composant un rapport d'inventaire.
Voici un exemple de fichier manifest.json
:
{ "report_config": { "name": "projects/123456789098/locations/us/reportConfigs/fcec5187-afa6-48b0-938a-543d16493dc0", "createTime": "2023-06-08T08:07:53.397366139Z", "updateTime": "2023-06-08T08:07:53.552347723Z", "frequencyOptions": { "frequency": "DAILY", "startDate": { "year": 2023, "month": 6, "day": 9 } "endDate": { "year": 2023, "month": 6, "day": 23 } }, "csvOptions": { "recordSeparator": "\n", "delimiter": "," }, "objectMetadataReportOptions": { "metadataFields": [ "project", "bucket", "name", "location", "updated", "storageClass", ], "storageFilters": { "bucket": "my-test-bucket" }, "storageDestinationOptions": { "bucket": "example-bucket", "destinationPath": "folder/subfolder" } } }, "records_processed": 3993900, "snapshot_time" : "2023-06-06T00:07:27Z", "target_datetime": { "year": 2023, "month": 6, "day": 6 }, "shard_count": 4, "report_shards_file_names": [ "fc95c52f-157a-494f-af4a-d4a53a69ba66_2022-11-30T00:54_0.csv", "fc95c52f-157a-494f-af4a-d4a53a69ba66_2022-11-30T00:54_1.csv", ... ], }
Tarifs et emplacements de bucket disponibles
Storage Insights est soumis à une tarification, où chaque million d'objets figurant dans un rapport d'inventaire est facturé aux tarifs ci-dessous, en fonction de l'emplacement de stockage. Pour en savoir plus sur les emplacements de stockage, consultez la page Emplacements des buckets.
Pays acceptés
Emplacement | Région | Tarifs |
---|---|---|
Asie | ||
Taïwan (asia-east1 ) |
0,0025 $/un million d'objets | |
Hong Kong (asia-east2 ) |
0,0028 $/un million d'objets | |
Tokyo (asia-northeast1 ) |
0,0028 $/un million d'objets | |
Osaka (asia-northeast2 ) |
0,0028 $/un million d'objets | |
Séoul (asia-northeast3 ) |
0,0028 $/un million d'objets | |
Singapour (asia-southeast1 ) |
0,0025 $/un million d'objets | |
Australie | ||
Sydney (australia-southeast1 ) |
0,0028 $/un million d'objets | |
Melbourne (australia-southeast2 ) |
0,0028 $/un million d'objets | |
Europe | ||
Varsovie (europe-central2 ) |
0,0028 $/un million d'objets | |
Finlande (europe-north1 ) |
0,0025 $/un million d'objets | |
Madrid (europe-southwest1 ) |
0,0028 $/un million d'objets | |
Belgique (europe-west1 ) |
0,0025 $/un million d'objets | |
Londres (europe-west2 ) |
0,0028 $/un million d'objets | |
Francfort (europe-west3 ) |
0,0028 $/un million d'objets | |
Pays-Bas (europe-west4 ) |
0,0025 $/un million d'objets | |
Zurich (europe-west6 ) |
0,0031 $/un million d'objets | |
Milan (europe-west8 ) |
0,0028 $/un million d'objets | |
Paris (europe-west9 ) |
0,0028 $/un million d'objets | |
Inde | ||
Mumbai (asia-south1 ) |
0,0028 $/un million d'objets | |
Delhi (asia-south2 ) |
0,0028 $/un million d'objets | |
Indonésie | ||
Jakarta (asia-southeast2 ) |
0,0028 $/un million d'objets | |
Moyen-Orient | ||
Tel Aviv (me-west1 ) |
0,0026 $/un million d'objets | |
Amérique du Nord | ||
Montréal (northamerica-northeast1 ) |
0,0028 $/un million d'objets | |
Toronto (northamerica-northeast2 ) |
0,0028 $/un million d'objets | |
Iowa (us-central1 ) |
0,0025 $/un million d'objets | |
Caroline du Sud (us-east1 ) |
0,0025 $/un million d'objets | |
Virginie du Nord (us-east4 ) |
0,0028 $/un million d'objets | |
Columbus (us-east5 ) |
0,0025 $/un million d'objets | |
Oregon (us-west1 ) |
0,0025 $/un million d'objets | |
Los Angeles (us-west2 ) |
0,0028 $/un million d'objets | |
Salt Lake City (us-west3 ) |
0,0028 $/un million d'objets | |
Las Vegas (us-west4 ) |
0,0028 $/un million d'objets | |
Dallas (us-south1 ) |
0,0025 $/un million d'objets | |
Amérique du Sud | ||
São Paulo (southamerica-east1 ) |
0,0043 $/un million d'objets | |
Santiago (southamerica-west1 ) |
0,0037 $/un million d'objets | |
Emplacements multirégionaux | ||
Asie (asia ) |
0,0028 $/un million d'objets | |
Europe (eu ) |
0,0028 $/un million d'objets | |
États-Unis (us ) |
0,0028 $/un million d'objets | |
Emplacements birégionaux | ||
Tokyo/Osaka (asia1 ) |
0,0028 $/un million d'objets | |
Finlande/Pays-Bas (eur4 ) |
0,0028 $/un million d'objets | |
Iowa/Caroline du Sud (nam4 ) |
0,0028 $/un million d'objets |
Journaux d'audit
Cloud Storage crée des journaux d'audit lorsque des rapports d'inventaire sont générés dans le bucket de destination. Storage Insights génère des journaux d'audit chaque fois que des configurations de rapport d'inventaire sont créées, mises à jour ou supprimées.
Cloud Storage ne crée pas de journaux d'audit lorsqu'une configuration de rapport d'inventaire lit les métadonnées d'objet depuis un bucket source.
Intégration à VPC Service Controls
Vous pouvez fournir un niveau de sécurité supplémentaire pour les ressources Storage Insights à l'aide de VPC Service Controls. Lorsque vous utilisez VPC Service Controls, vous ajoutez des projets aux périmètres de service afin de protéger les ressources et les services des requêtes provenant de l'extérieur du périmètre. Pour en savoir plus sur VPC Service Controls et les périmètres de service, consultez la page Périmètres de service : détails et configuration.
Limite
L'activation du filtrage des adresses IP sur les buckets Cloud Storage empêche Storage Insights d'y accéder, que l'utilisateur utilise un agent de service pour interagir avec Cloud Storage ou non. Pour éviter les perturbations de service, nous vous recommandons de ne pas utiliser le filtrage par adresse IP sur les buckets Cloud Storage si vous créez des rapports d'inventaire pour ces buckets.
Étape suivante
Apprenez à créer une configuration de rapport d'inventaire et générez des rapports d'inventaire.