Informes de inventario de Storage Insights

La función de informes de inventario de Storage Insights te ayuda a administrar el almacenamiento de objetos a gran escala. Es una alternativa más rápida y programada a la operación de la API Objects: list.

Los informes de inventario contienen información de metadatos sobre los objetos, como la clase de almacenamiento del objeto, la ETag y el tipo de contenido. Esta información te ayuda a analizar los costos de almacenamiento, auditar y validar tus objetos, y garantizar la seguridad y el cumplimiento de los datos. Puedes exportar informes de inventario como archivos de valores separados por comas (CSV) o Parquet de Apache para analizarlos aún más mediante herramientas como BigQuery.

En esta página, se proporciona una descripción general de la característica de informes de inventario de Storage Insights. Para obtener instrucciones sobre cómo usar la función, consulta Crea y administra informes de inventario.

Descripción general de los informes de inventario

Los informes de inventario contienen una lista de objetos y los metadatos asociados para un bucket determinado, también conocido como bucket de origen. Para generar informes de inventario, primero debes crear una configuración de informes de inventario que defina la frecuencia con la que se generan los informes, los campos de metadatos que deseas que incluyan los informes y un bucket para generar y almacenar los informes, también conocido como bucket de destino.

Cuando creas una configuración informe de inventario, se le asigna automáticamente un identificador único universal (UUID). Este campo no se puede editar. Sin embargo, puedes editar los siguientes campos de una configuración de informes de inventario:

  • El nombre visible de la configuración de informes de inventario
  • Los campos de metadatos del objeto que se incluyen en los informes de inventario
  • El bucket de destino que almacena los informes de inventario
  • El programa que determina la frecuencia con la que se generan los informes de inventario
  • El formato de archivo en el que se generan los informes de inventario (CSV o Parquet de Apache)

Cuando borras una configuración de informes de inventario, los informes de inventario nuevos ya no se generan para la configuración, pero los informes de inventario existentes permanecen.

Buckets de origen y destino

El bucket de origen contiene los objetos para los que deseas generar informes de inventario. También contiene la configuración de informes de inventario. Puedes tener hasta 100 configuraciones de informes de inventario en un bucket de origen.

El bucket de destino almacena los informes de inventario generados. El bucket de destino debe cumplir con los siguientes requisitos:

  • Debe estar en la misma ubicación que el bucket de origen.
  • Debe estar en el mismo proyecto que el bucket de origen.
  • Puede ser igual que el bucket de origen.

Cuando creas una configuración de informe de inventario por primera vez, se crea un agente de servicio de forma automática por ti. Para crear configuraciones de informes de inventario y escribir informes de inventario en el bucket de destino, tú y tu agente de servicio deben tener los permisos de IAM necesarios. Consulta los permisos necesarios para ti y para tu agente de servicio.

Storage Insights usa los nombres de los buckets de origen y de destino para determinar qué buckets usar cuando se ejecutan trabajos. Si borras un bucket de origen o destino y, luego, creas un bucket nuevo con el mismo nombre, Storage Insights ejecutará trabajos en el bucket nuevo.

Campos de metadatos del objeto

Los siguientes campos de metadatos se pueden incluir en un informe de inventario. Los campos de metadatos marcados como "Obligatorios" deben incluirse en el informe de inventario.

Campo de metadatos Descripción Notas
proyecto El ID del proyecto en el que reside el bucket de origen. Obligatorio
bucket El nombre del bucket de origen. Obligatorio
name El nombre del objeto. Obligatorio
ubicación La ubicación del bucket de origen. Opcional
tamaño El tamaño del objeto. Opcional
timeCreated La hora de creación del objeto en formato RFC 3339. Opcional
timeDeleted La hora de eliminación del objeto en formato RFC 3339. Se muestra solo si esta versión del objeto ya no es una versión publicada, pero permanece en el bucket como una versión no actual. Opcional
actualizado La hora de modificación de los metadatos del objeto en formato RFC 3339. Opcional
storageClass La clase de almacenamiento del objeto. Opcional
etag HTTP 1.1 Etiqueta de entidad para el objeto. Opcional
retentionExpirationTime La primera hora en que se puede borrar el objeto, lo que depende de cualquier configuración de retención establecida para el objeto y cualquier política de retención establecido para el bucket que contiene el objeto. El valor de retentionExpriationTime se proporciona en formato RFC 3339. Opcional
crc32c La suma de verificación CRC32C, como se describe en el Apéndice B de RFC 4960, codificada con base64 en orden de bytes big-endian. Para obtener más información sobre la suma de verificación CRC32C, consulta Metadatos de objetos. Opcional
md5Hash El hash MD5 de los datos, codificado mediante base64. Este campo no está presente para los objetos compuestos. Para obtener más información sobre el hash MD5, consulta Metadatos de objetos. Opcional
generación La generación de este objeto de contenido. Se usa para el control de versiones de los objetos. Opcional
metageneration La versión de los metadatos de este objeto en esta generación. Se usa para las condiciones previas y la detección de cambios en los metadatos. Un número de metageneración solo es significativo en el contexto de una generación particular de un objeto en particular. Opcional
contentType El Content-Type de los datos del objeto. Si un objeto se almacena sin un Content-Type, se entrega como application/octet-stream. Opcional
contentEncoding El formato Content-Encoding de los datos del objeto. Opcional
timeStorageClassUpdated La hora en la que se modificó la clase de almacenamiento del objeto por última vez. Cuando se crea el objeto inicialmente, se configura como timeCreated. Opcional

Para obtener más información sobre los campos de metadatos de objetos, consulta Metadatos de objetos.

Fragmentos de informes de inventario

Cuando un informe de inventario contiene más de 1,000,000 de objetos, Storage Insights genera uno o más objetos de fragmento para redactar el informe de inventario. Cuando todos los fragmentos de un informe de inventario se generan de forma correcta, se genera un archivo de manifiesto en el mismo bucket de destino que los fragmentos.

Archivo de manifiesto del informe de inventario

La presencia de un archivo de manifiesto indica que se generaron todos los fragmentos que componen un informe de inventario. El archivo de manifiesto también proporciona los nombres de los objetos de fragmento del informe de inventario.

El archivo de manifiesto sigue la convención de nomenclatura REPORT_CONFIG_UUID_TARGET_DATETIME_manifest.json, en la que:

  • REPORT_CONFIG_UUID es el UUID generado de forma automática de la configuración de informes de inventario.

  • TARGET_DATETIME es la fecha y hora de UTC generadas de forma automática en las que se genera un informe de inventario.

Un ejemplo de nombre de archivo de manifiesto es fc95c52f-157a-494f-af4a-d4a53a69ba66_2022-11-30T00:00_manifest.json.

El archivo manifest.json contiene los siguientes campos de propagación automática:

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

Donde:

  • REPORT_CONFIG_FIELDS incluye campos contenidos en el recurso ReportConfig.

  • NUMBER_OF_INCLUDED_OBJECTS es la cantidad de objetos incluidos en el informe de inventario.

  • SNAPSHOT_TIME es la fecha y la hora UTC generadas de forma automática en que se produce la instantánea de datos. Todos los datos en un informe de inventario se capturan en la instantánea.

  • TARGET_DATETIME es la fecha y la hora UTC generadas de forma automática en que se genera un informe de inventario.

  • SHARD_COUNT es la cantidad total de fragmentos generados que componen el informe de inventario.

  • SHARD_FILE_NAME es el nombre de un fragmento que compone un informe de inventario.

Un archivo manifest.json de ejemplo se ve de la siguiente manera:

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

Precios y ubicaciones de los buckets admitidos

Storage Insights está sujeto a los precios, en los que cada millón de objetos contenidos en un informe de inventario se cobran según los precios que se encuentran a continuación, según la ubicación de almacenamiento. Para obtener más información sobre las ubicaciones de almacenamiento, consulta Ubicaciones de buckets.

Ubicaciones admitidas

Ubicación Región Precios
Asia
Taiwán (asia-east1) $0.0025 por un millón de objetos
Hong Kong (asia-east2) $0.0028 por cada millón de objetos
Tokio (asia-northeast1) $0.0028 por cada millón de objetos
Osaka (asia-northeast2) $0.0028 por cada millón de objetos
Seúl (asia-northeast3) $0.0028 por cada millón de objetos
Singapur (asia-southeast1) $0.0025 por un millón de objetos
Australia
Sídney (australia-southeast1) $0.0028 por cada millón de objetos
Melbourne (australia-southeast2) $0.0028 por cada millón de objetos
Europa
Varsovia (europe-central2) $0.0028 por cada millón de objetos
Finlandia (europe-north1) $0.0025 por un millón de objetos
Madrid (europe-southwest1) $0.0028 por cada millón de objetos
Bélgica (europe-west1) $0.0025 por un millón de objetos
Londres (europe-west2) $0.0028 por cada millón de objetos
Fráncfort (europe-west3) $0.0028 por cada millón de objetos
Países Bajos (europe-west4) $0.0025 por un millón de objetos
Zúrich (europe-west6) $0.0031 por cada millón de objetos
Milán (europe-west8) $0.0028 por cada millón de objetos
París (europe-west9) $0.0028 por cada millón de objetos
India
Bombay (asia-south1) $0.0028 por cada millón de objetos
Delhi (asia-south2) $0.0028 por cada millón de objetos
Indonesia
Yakarta (asia-southeast2) $0.0028 por cada millón de objetos
Oriente Medio
Tel Aviv (me-west1) $0.0026 por cada millón de objetos
Norteamérica
Montreal (northamerica-northeast1) $0.0028 por cada millón de objetos
Toronto (northamerica-northeast2) $0.0028 por cada millón de objetos
Iowa (us-central1) $0.0025 por un millón de objetos
Carolina del Sur (us-east1) $0.0025 por un millón de objetos
Virginia del Norte (us-east4) $0.0028 por cada millón de objetos
Columbus (us-east5) $0.0025 por un millón de objetos
Oregón (us-west1) $0.0025 por un millón de objetos
Los Ángeles (us-west2) $0.0028 por cada millón de objetos
Salt Lake City (us-west3) $0.0028 por cada millón de objetos
Las Vegas (us-west4) $0.0028 por cada millón de objetos
Dallas (us-south1) $0.0025 por un millón de objetos
Sudamérica
São Paulo (southamerica-east1) $0.0043 por un millón de objetos
Santiago (southamerica-west1) $0.0037 por un millón de objetos
Multirregiones
Asia (asia) $0.0028 por cada millón de objetos
Europa (eu) $0.0028 por cada millón de objetos
United States (us) $0.0028 por cada millón de objetos
Regiones dobles
Tokio + Osaka (asia1) $0.0028 por cada millón de objetos
Finlandia y Países Bajos (eur4) $0.0028 por cada millón de objetos
Iowa y Carolina del Sur (nam4) $0.0028 por cada millón de objetos

Registros de auditoría

Cloud Storage crea registros de auditoría cuando los informes de inventario se generan en el bucket de destino. Storage Insights genera registros de auditoría cada vez que se crean, actualizan o borran configuraciones de informes de inventario.

Cloud Storage no crea registros de auditoría cuando una configuración de informe de inventario lee los metadatos del objeto del bucket de origen.

Integración con los Controles del servicio de VPC

Puedes proporcionar una capa adicional de seguridad para los recursos de Storage Insights mediante los Controles del servicio de VPC. Cuando usas los Controles del servicio de VPC, agregas proyectos a los perímetros de servicio que protegen los recursos y servicios de las solicitudes que se originan fuera del perímetro. Para obtener más información sobre los Controles del servicio de VPC y los perímetros de servicio, consulta Configuración y perímetros de servicio.

Limitación

Si habilitas el filtrado de IP en los buckets de Cloud Storage, se restringe el acceso de Storage Insights al bucket, independientemente de si usa un agente de servicio para interactuar con Cloud Storage. Para evitar interrupciones del servicio, te recomendamos que no uses el filtrado de IP en los buckets de Cloud Storage si creas informes de inventario para ese bucket.

¿Qué sigue?

Obtén más información sobre cómo crear una configuración de informes de inventario y comenzar a generar informes de inventario.