Inventarberichte für Storage Insights

Mit dem Feature „Storage Insights-Inventarberichte“ können Sie Ihren Objektspeicher im großen Maßstab verwalten. Dies ist eine schnellere und planbare Alternative zum API-Vorgang Objects: list. Verwenden Sie Storage Insights-Inventarberichte, wenn Sie die Migration großer Buckets ohne Leistungseinbußen validieren oder die Integrität von Objekten in einem einzelnen Bucket prüfen möchten.

Inventarberichte enthalten Metadateninformationen zu Ihren Objekten, z. B. die Speicherklasse des Objekts, das ETag und den Inhaltstyp. Mit diesen Informationen können Sie Ihre Speicherkosten analysieren, Objekte prüfen und validieren sowie Datensicherheit und Compliance . Sie können Inventarberichte als CSV- oder als Apache Parquet-Dateien exportieren und sie dann mit Tools wie BigQuery weiter analysieren.

Diese Seite bietet einen Überblick über die Funktion der Storage Insights-Inventarbericht. Eine Anleitung zur Verwendung des Features finden Sie unter Inventarberichte erstellen und verwalten.

Übersicht über Inventarberichte

Inventarberichte enthalten eine Liste von Objekten und zugehörigen Metadaten für einen bestimmten Bucket, der auch als Quell-Bucket bezeichnet wird. Um Inventarberichte zu generieren, müssen Sie zuerst eine Inventarberichtskonfiguration erstellen, die definiert, wie oft die Berichte generiert werden, welche Metadatenfelder die Berichte enthalten sollen und welcher Bucket, auch als Ziel-Bucket bezeichnet, zum Erstellen und Speichern der Berichte verwendet werden soll.

Beim Erstellen einer Inventarberichtskonfiguration wird ihr automatisch eine UUID (Universally Unique Identifier) zugewiesen. Dieses Feld kann nicht bearbeitet werden. Sie können jedoch die folgenden Felder einer Inventarberichtskonfiguration bearbeiten:

  • Den Anzeigenamen der Inventarberichtskonfiguration
  • Die Objektmetadatenfelder, die in den Inventarberichten enthalten sind
  • Den Ziel-Bucket, in dem die Inventarberichte gespeichert werden
  • Den Zeitplan, der bestimmt, wie oft Inventarberichte generiert werden
  • Das Dateiformat, in dem Inventarberichte generiert werden (CSV oder Apache Parquet)

Wenn Sie eine Inventarberichtskonfiguration löschen, werden für die Konfiguration keine neuen Inventarberichte mehr erstellt. Vorhandene Inventarberichte bleiben jedoch erhalten.

Quell- und Ziel-Buckets

Der Quell-Bucket enthält die Objekte, für die Sie Inventarberichte generieren möchten. Er enthält auch die Inventarberichtskonfiguration. Sie können in einem Quell-Bucket bis zu 100 Inventarberichtskonfigurationen haben.

Der Ziel-Bucket speichert die generierten Inventarberichte. Der Ziel-Bucket muss die folgenden Anforderungen erfüllen:

  • Er muss sich am selben Standort wie der Quell-Bucket befinden.
  • Er muss sich im selben Projekt wie der Quell-Bucket befinden.
  • Er kann mit dem Quell-Bucket identisch sein.

Wenn Sie zum ersten Mal eine Inventarberichtskonfiguration erstellen, wird automatisch ein Dienst-Agent für Sie erstellt. Sie und Ihr Dienst-Agent benötigen die erforderlichen IAM-Berechtigungen, um Inventarberichtskonfigurationen zu erstellen und Inventarberichte in den Ziel-Bucket zu schreiben. Sehen Sie sich die für Sie und Ihren Dienst-Agent erforderlichen Berechtigungen an.

Storage Insights verwendet die Namen der Quell- und Ziel-Buckets, um zu bestimmen, welche Buckets beim Ausführen von Jobs verwendet werden sollen. Wenn Sie einen Quell- oder Ziel-Bucket löschen und später einen neuen Bucket mit demselben Namen erstellen, führt Storage Insights Jobs mit dem neuen Bucket aus.

Felder für Objektmetadaten

Die folgenden Metadatenfelder können in einem Inventarbericht enthalten sein. Metadatenfelder, die als "erforderlich" gekennzeichnet sind, müssen im Inventarbericht enthalten sein.

Metadatenfeld Beschreibung Hinweise
Projekt Die ID des Projekts, in dem sich der Quell-Bucket befindet. Erforderlich
Bucket Der Name des Quell-Buckets. Erforderlich
Name Der Name des Objekts. Erforderlich
Standort Der Standort des Quell-Buckets. Optional
Größe Die Größe des Objekts. Optional
timeCreated Die Erstellungszeit des Objekts im RFC 3339-Format. Optional
timeDeleted Die Löschzeit des Objekts im RFC 3339-Format. Wird nur zurückgegeben, wenn diese Version des Objekts keine Live-Version mehr ist, aber im Bucket als nicht aktuelle Version verbleibt. Optional
aktualisiert Die Änderungszeit der Objektmetadaten im Format RFC 3339. Optional
storageClass Die Speicherklasse des Objekts. Optional
etag HTTP 1.1-Entitäts-Tag für das Objekt. Optional
retentionExpirationTime Der früheste Zeitpunkt, zu dem das Objekt gelöscht werden kann. Dies hängt von der für das Objekt festgelegten Aufbewahrungskonfiguration und der für das Bucket, der das Objekt enthält, festgelegten Aufbewahrungsrichtlinie ab. Der Wert für retentionExpriationTime wird im RFC 3339-Format angegeben. Optional
crc32c Die CRC32C-Prüfsumme, wie in RFC 4960 Anhang B beschrieben, mit base64 in Big-Endian-Bytereihenfolge codiert. Weitere Informationen zur CRC32C-Prüfsumme finden Sie unter Objektmetadaten. Optional
md5Hash Der MD5-Hash der Daten, codiert mit base64. Dieses Feld ist für zusammengesetzte Objekte nicht vorhanden. Weitere Informationen zum MD5-Hash finden Sie unter Objektmetadaten. Optional
Generierung Die Inhaltsgenerierung dieses Objekts. Wird für die Objektversionsverwaltung verwendet. Optional
metageneration Die Version der Metadaten für dieses Objekt bei dieser Generierung. Wird für Vorbedingungen und zur Erkennung von Änderungen an Metadaten verwendet. Eine metageneration-Nummer ist nur im Kontext einer bestimmten Generierung eines bestimmten Objekts sinnvoll. Optional
contentType Der Inhaltstyp (Content-Type) der Objektdaten. Wenn ein Objekt ohne Inhaltstyp gespeichert wird, wird es als „application/octet-stream“ bereitgestellt. Optional
contentEncoding Die Inhaltscodierung (Content-Encoding) der Objektdaten. Optional
timeStorageClassUpdated Der Zeitpunkt, zu dem die Speicherklasse des Objekts zuletzt geändert wurde. Bei der Erstellung des Objekts wird der auf timeCreated gesetzt. Optional

Weitere Informationen zu Objektmetadatenfeldern finden Sie unter Objektmetadaten.

Shards des Inventarberichts

Wenn ein Inventarbericht mehr als 1.000.000 Objekte enthält, generiert Storage Insights ein oder mehrere Shard-Objekte, aus denen der Inventarbericht besteht. Wenn alle Shards eines Inventarberichts erfolgreich generiert wurden, wird eine Manifestdatei im selben Ziel-Bucket generiert wie die Shards.

Manifestdatei für Inventarberichte

Das Vorhandensein einer Manifestdatei weist darauf hin, dass alle Shards eines Inventarberichts generiert wurden. Die Manifestdatei enthält auch die Namen der Inventarbericht-Shard-Objekte.

Die Manifestdatei folgt der Namenskonvention REPORT_CONFIG_UUID_TARGET_DATETIME_manifest.json. Dabei gilt:

  • REPORT_CONFIG_UUID ist die automatisch generierte UUID der Inventarberichtskonfiguration.

  • TARGET_DATETIME ist das automatisch generierte UTC-Datum und die UTC-Uhrzeit, zu der ein Inventarbericht generiert wird.

Ein Beispiel für eine Manifestdatei ist fc95c52f-157a-494f-af4a-d4a53a69ba66_2022-11-30T00:00_manifest.json.

Die Datei manifest.json enthält die folgenden automatisch ausgefüllten Felder:

{
  "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
    ...]
}

Dabei gilt:

  • REPORT_CONFIG_FIELDS enthält Felder, die in der ReportConfig-Ressource enthalten sind.

  • NUMBER_OF_INCLUDED_OBJECTS ist die Anzahl der Objekte, die im Inventarbericht enthalten sind.

  • SNAPSHOT_TIME ist der automatisch generierte UTC-Datum/Uhrzeit-Wert, zu dem der Daten-Snapshot auftritt. Alle Daten in einem Inventarbericht werden zum Zeitpunkt des Snapshots erfasst.

  • TARGET_DATETIME ist der automatisch generierte UTC-Datum/Uhrzeit-Wert, zu dem ein Inventarbericht generiert wird.

  • SHARD_COUNT ist die Gesamtzahl der generierten Shards, aus denen der Inventarbericht besteht.

  • SHARD_FILE_NAME ist der Name eines Shards, aus dem ein Inventarbericht besteht.

Eine manifest.json-Beispieldatei sieht so aus:

{
  "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",
    ...
  ],
}

Preise

Für die Verwendung von Inventarberichten gelten bestimmte Preise, die vom Standort des Buckets abhängen. Weitere Informationen zu den Preisen für Inventarberichte finden Sie unter Preise.

Audit-Logging

Cloud Storage erstellt Audit-Logs, wenn Inventarberichte im Ziel-Bucket generiert werden. Storage Insights generiert Audit-Logs, wenn Konfigurationen für Inventarberichte erstellt, aktualisiert oder gelöscht werden.

Cloud Storage erstellt keine Audit-Logs, wenn eine Inventarberichtskonfiguration Objektmetadaten aus dem Quell-Bucket liest.

VPC Service Controls einbinden

Mit VPC Service Controls können Sie eine zusätzliche Sicherheitsebene für Storage Insights-Ressourcen bereitstellen. Wenn Sie VPC Service Controls verwenden, fügen Sie Projekte in Dienstperimeter ein, die Ressourcen und Dienste vor Anfragen schützen, die ihren Ursprung außerhalb des Perimeters haben. Weitere Informationen zu VPC Service Controls und Dienstperimetern finden Sie unter Details und Konfigurationen zu Dienstperimetern.

Beschränkung

Wenn Sie die IP-Filterung für Cloud Storage-Buckets aktivieren, kann Storage Insights nicht auf den Bucket zugreifen, unabhängig davon, ob für die Interaktion mit Cloud Storage ein Dienst-Agent verwendet wird. Um Dienstunterbrechungen zu vermeiden, empfehlen wir, für Cloud Storage-Buckets, für die Sie Inventarberichte erstellen, keine IP-Filterung zu verwenden.

Nächste Schritte

Erfahren Sie, wie Sie eine Inventarberichtskonfiguration erstellen und Inventarberichte generieren können.