Configura conjuntos de datos de Storage Insights

En este documento, se muestra cómo configurar los conjuntos de datos de Storage Insights.

Antes de comenzar

Antes de configurar un conjunto de datos, completa los siguientes pasos.

Obtén los roles necesarios

Para obtener los permisos que necesitas para configurar conjuntos de datos, pídele a tu administrador que te otorgue los siguientes roles de IAM en tus proyectos fuente:

Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.

Estos roles predefinidos contienen los permisos necesarios para configurar conjuntos de datos. Para ver los permisos exactos que son necesarios, expande la sección Permisos requeridos:

Permisos necesarios

Se requieren los siguientes permisos para configurar conjuntos de datos:

  • Configura un conjunto de datos:
    • storageinsights.datasetConfigs.create
    • storage.buckets.getObjectInsights
  • Vínculo al conjunto de datos de BigQuery: storageinsights.datasetConfigs.linkDataset

También puedes obtener estos permisos con roles personalizados o con otros roles predefinidos.

Habilita la API de Storage Insights

Console

Habilita la API de storageinsights.googleapis.com

Línea de comandos

Para habilitar la API de Storage Insights en tu proyecto actual, ejecuta el comando gcloud services enable:

gcloud services enable storageinsights.googleapis.com

Para obtener más información sobre cómo habilitar servicios para un proyecto de Google Cloud , consulta Habilita e inhabilita servicios.

Configura Storage Intelligence

Asegúrate de que Storage Intelligence esté configurado para el proyecto, la carpeta o la organización que deseas analizar con conjuntos de datos.

Crea una configuración del conjunto de datos

Para crear una configuración del conjunto de datos, sigue estos pasos. Para obtener más información sobre los campos que puedes especificar para la configuración del conjunto de datos, consulta Propiedades de configuración del conjunto de datos.

Console

  1. En la consola de Google Cloud , ve a la página Storage Insights de Cloud Storage.

    Ir a Storage Insights

  2. Haz clic en Configurar conjunto de datos.

  3. En la sección Asigna un nombre a tu conjunto de datos, ingresa un nombre para tu conjunto de datos. De manera opcional, ingresa una descripción para el conjunto de datos. Los nombres identifican la configuración del conjunto de datos y son inmutables. El nombre puede contener hasta 128 caracteres, incluidas letras, números y guiones bajos, y debe comenzar con una letra.

  4. En la sección Define dataset scope, haz lo siguiente:

    • Selecciona una de las siguientes opciones:

      • Para obtener los metadatos de almacenamiento de todos los proyectos de la organización actual, selecciona Incluir la organización.

      • Para obtener los metadatos de almacenamiento de todos los proyectos en las carpetas seleccionadas, selecciona Incluir carpetas (suborganización/departamentos). Para obtener información sobre cómo obtener IDs de carpetas, consulta Cómo ver o enumerar carpetas y proyectos. Para agregar carpetas, sigue estos pasos:

        1. En el campo Carpeta 1, ingresa el ID de la carpeta.
        2. De manera opcional, para agregar varios IDs de carpetas, haz clic en + Agregar otra carpeta.
      • Para obtener los metadatos de almacenamiento de los proyectos seleccionados, selecciona Incluir proyectos proporcionando números de proyecto. Para obtener información sobre cómo encontrar los números de proyecto, consulta Cómo encontrar el nombre, el número y el ID del proyecto. Para agregar proyectos, haz lo siguiente:

        1. En el campo Proyecto 1, ingresa el número del proyecto.
        2. De manera opcional, para agregar varios números de proyecto, haz clic en + Agregar otro proyecto.
      • Para agregar proyectos o carpetas de forma masiva, selecciona Subir una lista de proyectos o carpetas a través de un archivo CSV. El archivo CSV debe contener los números de proyecto o los IDs de carpeta que se incluirán en el conjunto de datos. Puedes especificar hasta 10,000 proyectos o carpetas en una configuración de conjunto de datos.

    • Especifica si se deben incluir automáticamente los buckets futuros en el recurso seleccionado.

    • De manera opcional, para especificar filtros en los buckets según las regiones y los prefijos de bucket, expande la sección Filtros (opcional). Los filtros se aplican de forma aditiva en buckets.

      Puedes incluir o excluir buckets de regiones específicas. Por ejemplo, puedes excluir buckets en las regiones me-central1 y me-central2. También puedes incluir o excluir buckets por prefijo. Por ejemplo, para excluir los buckets que comienzan con my-bucket, ingresa el prefijo my-bucket*.

  5. Haz clic en Continuar.

  6. En la sección Selecciona el período de retención, selecciona un período de retención para los datos del conjunto de datos.

  7. Los datos de actividad se incluyen en el conjunto de datos de forma predeterminada y heredan el período de retención del conjunto de datos. Para anular el período de retención del conjunto de datos, selecciona Especifica un período de retención para los datos de actividad y, luego, elige la cantidad de días durante los que se retendrán los datos de actividad. Para inhabilitar los datos de actividad, establece el período de retención en 0 días.

  8. En la sección Selecciona la ubicación para almacenar el conjunto de datos configurado, selecciona una ubicación para almacenar el conjunto de datos. Por ejemplo, us-central1.

  9. En la sección Selecciona el tipo de cuenta de servicio, elige un tipo de agente de servicio para tu conjunto de datos. Elige un agente de servicio con alcance de configuración o con alcance de proyecto para tu conjunto de datos.

  10. Haz clic en Configurar.

Línea de comandos

  1. Para crear una configuración del conjunto de datos, ejecuta el comando gcloud storage insights dataset-configs create con las marcas requeridas:

    gcloud storage insights dataset-configs create DATASET_CONFIG_ID \
      --location=LOCATION \
      --organization=SOURCE_ORG_NUMBER \
      --retention-period-days=DATASET_RETENTION_PERIOD_DAYS \
      (SCOPE_FLAG)
    

    Reemplaza lo siguiente:

    • DATASET_CONFIG_ID por el nombre de la configuración de tu conjunto de datos Los nombres identifican la configuración del conjunto de datos y son inmutables. El nombre puede contener hasta 128 caracteres, incluidas letras, números y guiones bajos, y debe comenzar con una letra.

    • LOCATION con la ubicación para almacenar el conjunto de datos. Por ejemplo, us-central1.

    • SOURCE_ORG_NUMBER con el ID de la organización a la que pertenecen los proyectos de origen. Para encontrar el ID de tu organización, consulta Obtén el ID de tu recurso de organización.

    • DATASET_RETENTION_PERIOD_DAYS con el período de retención de los datos del conjunto de datos.

    • SCOPE_FLAG con una de las siguientes marcas que definen el alcance de los datos que se recopilarán:

      • --enable-organization-scope: Permite que el conjunto de datos recopile estadísticas de todos los buckets de la organización.
      • --source-folders=[SOURCE_FOLDER_NUMBERS,...]: Especifica una lista de números de carpetas que se incluirán en el conjunto de datos. Para obtener información sobre cómo encontrar el número de una carpeta, consulta Cómo enumerar todos los proyectos y las carpetas de tu jerarquía.
      • --source-folders-file=FILE_PATH: Especifica varios números de carpeta subiendo un archivo CSV a un bucket.
      • --source-projects=[SOURCE_PROJECT_NUMBERS,...]: Especifica una lista de números de proyecto para incluir en el conjunto de datos. Por ejemplo, 464036093014 Para encontrar el número de tu proyecto, consulta Cómo encontrar el nombre, el número y el ID del proyecto.
      • --source-projects-file=FILE_PATH: Especifica varios números de proyecto subiendo un archivo CSV a un bucket.

    De manera opcional, usa las siguientes marcas adicionales para configurar el conjunto de datos:

    • Usa --include-buckets=BUCKET_NAMES_OR_REGEX para incluir buckets específicos por nombre o expresión regular. No puedes usar esta marca con --exclude-buckets.

    • Usa --exclude-buckets=BUCKET_NAMES_OR_REGEX para excluir buckets específicos por nombre o expresión regular. No puedes usar esta marca con --include-buckets.

    • Usa --project=DESTINATION_PROJECT_ID para especificar un proyecto en el que se almacenarán la configuración del conjunto de datos y el conjunto de datos generado. Si no usas esta marca, el proyecto de destino será tu proyecto activo. Para obtener más información sobre los IDs de proyectos, consulta Crea y administra proyectos.

    • Usa --auto-add-new-buckets para incluir automáticamente los buckets que se agreguen a los proyectos fuente en el futuro.

    • Usa --skip-verification para omitir las verificaciones y los errores del proceso de verificación, que incluye verificaciones de los permisos de IAM requeridos. Si usas esta marca, es posible que algunos o todos buckets se excluyan del conjunto de datos.

    • Usa --identity=IDENTITY_TYPE para especificar el alcance del agente de servicio creado con la configuración del conjunto de datos. Los valores son IDENTITY_TYPE_PER_CONFIG o IDENTITY_TYPE_PER_PROJECT. Si no se especifica, el valor predeterminado es IDENTITY_TYPE_PER_CONFIG. Para obtener más información, consulta Tipo de agente de servicio.

    • Usa --description=DESCRIPTION para agregar una descripción de la configuración del conjunto de datos.

    • Usa --activity-data-retention-period-days=ACTIVITY_RETENTION_PERIOD_DAYS para especificar el período de retención de los datos de actividad en el conjunto de datos. De forma predeterminada, los datos de actividad se incluyen en el conjunto de datos y heredan su período de retención. Para anular el período de retención del conjunto de datos, especifica la cantidad de días que se retendrán los datos de actividad. Para excluir los datos de actividad, establece ACTIVITY_RETENTION_PERIOD_DAYS en 0.

    En el siguiente ejemplo, se crea una configuración del conjunto de datos llamada my-dataset en la región us-central1 para la organización con el ID 123456789, con un período de retención de 30 días y un alcance limitado a los proyectos 987654321 y 123123123:

    gcloud storage insights dataset-configs create my-dataset \
    --location=us-central1 \
    --organization=123456789 \
    --retention-period-days=30 \
    --source-projects=987654321,123123123
    

API de JSON

  1. Tener la gcloud CLI instalada e inicializada, lo que te permite generar un token de acceso para el encabezado Authorization.

  2. Crea un archivo JSON que contenga la siguiente información:

    {
      "sourceProjects": {
        "project_numbers": ["PROJECT_NUMBERS", ...]
      },
      "retentionPeriodDays": "RETENTION_PERIOD_DAYS",
      "activityDataRetentionPeriodDays": "ACTIVITY_DATA_RETENTION_PERIOD_DAYS",
      "identity": {
        "type": "IDENTITY_TYPE"
      }
    }

    Reemplaza lo siguiente:

    • PROJECT_NUMBERS con los números de los proyectos que deseas incluir en el conjunto de datos Puedes especificar uno o varios proyectos. Los proyectos deben especificarse como una lista de cadenas.

      También puedes agregar una organización o una o varias carpetas que contengan buckets y objetos para los que deseas actualizar los metadatos. Para incluir carpetas u organizaciones, usa los campos sourceFolders o organizationScope. Para obtener más información, consulta la referencia de DatasetConfig.

    • RETENTION_PERIOD_DAYS con la cantidad de días de datos que se capturarán en la instantánea del conjunto de datos. Por ejemplo, 90.

    • ACTIVITY_DATA_RETENTION_PERIOD_DAYS con la cantidad de días de datos de actividad que se capturarán en la instantánea del conjunto de datos. De forma predeterminada, los datos de actividad se incluyen en el conjunto de datos y heredan su período de retención. Para anular el período de retención del conjunto de datos, especifica la cantidad de días que se retendrán los datos de actividad. Para excluir los datos de actividad, establece ACTIVITY_RETENTION_PERIOD_DAYS en 0.

    • IDENTITY_TYPE con el tipo de cuenta de servicio que se crea junto con la configuración del conjunto de datos. Los valores son IDENTITY_TYPE_PER_CONFIG o IDENTITY_TYPE_PER_PROJECT. Para obtener más información, consulta Tipo de agente de servicio.

  3. Para crear la configuración del conjunto de datos, usa cURL para llamar a la API de JSON con una solicitud Create DatasetConfig:

    curl -X POST --data-binary @JSON_FILE_NAME \
    "https://storageinsights.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasetConfigs?datasetConfigId=DATASET_CONFIG_ID" \
      --header "Authorization: Bearer $(gcloud auth print-access-token --impersonate-service-account=SERVICE_ACCOUNT)" \
      --header "Accept: application/json" \
      --header "Content-Type: application/json"

    Reemplaza lo siguiente:

    • JSON_FILE_NAME por la ruta de acceso al archivo JSON que creaste en el paso anterior. Como alternativa, puedes pasar una instancia de DatasetConfig en el cuerpo de la solicitud.

    • PROJECT_ID con el ID del proyecto al que pertenecerán la configuración y el conjunto de datos.

    • LOCATION con la ubicación donde residirán el conjunto de datos y su configuración Por ejemplo, us-central1.

    • DATASET_CONFIG_ID por el nombre de tu configuración del conjunto de datos. Los nombres identifican la configuración del conjunto de datos y son inmutables. El nombre puede contener hasta 128 caracteres, incluidas letras, números y guiones bajos, y debe comenzar con una letra.

    • SERVICE_ACCOUNT con la cuenta de servicio Por ejemplo, test-service-account@test-project.iam.gserviceaccount.com

Para solucionar los errores de procesamiento de instantáneas que se registran en error_attributes_view, consulta Errores del conjunto de datos de Storage Insights.

Otorga los permisos necesarios al agente de servicio

Google Cloud crea un agente de servicio con alcance de configuración o de proyecto cuando creas una configuración del conjunto de datos. El agente de servicio sigue el formato de nombres service-PROJECT_NUMBER@gcp-sa-storageinsights.iam.gserviceaccount.com y aparece en la página de IAM en la consola de Google Cloud cuando seleccionas la casilla de verificación Incluir asignaciones de roles proporcionadas por Google. También puedes encontrar el nombre del agente de servicio consultando el recurso DatasetConfig con la API de JSON.

Para permitir que las Storage Insights generen y escriban conjuntos de datos, pídele a tu administrador que otorgue al agente de servicio el rol de servicio de recopilador de estadísticas de almacenamiento (roles/storage.insightsCollectorService) en la organización que contiene los proyectos de origen. Debes otorgar este rol a cada agente de servicio con alcance de configuración que se cree para cada configuración del conjunto de datos del que desees obtener datos. Si usas un agente de servicio con alcance en el proyecto, debes otorgar este rol solo una vez en el agente de servicio para leer y escribir conjuntos de datos para todas las configuraciones de conjuntos de datos dentro del proyecto.

Si quieres obtener instrucciones para otorgar roles a proyectos, consulta Administra el acceso.

Para vincular un conjunto de datos a BigQuery, completa los siguientes pasos:

  1. En la consola de Google Cloud , ve a la página Storage Insights de Cloud Storage.

    Ir a Storage Insights

  2. Haz clic en el nombre de la configuración del conjunto de datos que generó el conjunto de datos que deseas vincular.

  3. En la sección Conjunto de datos vinculado a BigQuery, haz clic en Vincular conjunto de datos para vincular tu conjunto de datos.

  1. Para vincular un conjunto de datos a BigQuery, ejecuta el comando gcloud storage insights dataset-configs create-link:

    gcloud storage insights dataset-configs create-link DATASET_CONFIG_ID --location=LOCATION

    Reemplaza lo siguiente:

    • DATASET_CONFIG_ID con el nombre de la configuración del conjunto de datos que generó el conjunto de datos para vincular.

    • LOCATION con la ubicación de tu conjunto de datos Por ejemplo, us-central1.

    También puedes especificar una ruta de acceso completa a la configuración del conjunto de datos. Por ejemplo:

    gcloud storage insights dataset-configs create-link projects/DESTINATION_PROJECT_ID/locations/LOCATION/datasetConfigs/DATASET_CONFIG_ID

    Reemplaza lo siguiente:

    • DESTINATION_PROJECT_ID con el ID del proyecto que contiene la configuración del conjunto de datos. Para obtener más información sobre los IDs de proyectos, consulta Crea y administra proyectos.

    • DATASET_CONFIG_ID con el nombre de la configuración del conjunto de datos que generó el conjunto de datos para vincular.

    • LOCATION con la ubicación de tu conjunto de datos y la configuración del conjunto de datos Por ejemplo, us-central1.

  1. Tener la gcloud CLI instalada e inicializada, lo que te permite generar un token de acceso para el encabezado Authorization.

  2. Usa cURL para llamar a la API de JSON con una solicitud de linkDataset DatasetConfig:

    curl -X POST \
      "https://storageinsights.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasetConfigsDATASET_CONFIG_ID:linkDataset?" \
        --header "Authorization: Bearer $(gcloud auth print-access-token --impersonate-service-account=SERVICE_ACCOUNT)" \
        --header "Accept: application/json" \
        --header "Content-Type: application/json"
    

    Reemplaza lo siguiente:

    • JSON_FILE_NAME con la ruta de acceso al archivo JSON que creaste.

    • PROJECT_ID con el ID del proyecto al que pertenece la configuración del conjunto de datos.

    • LOCATION con la ubicación en la que residen el conjunto de datos y la configuración del conjunto de datos Por ejemplo, us-central1.

    • DATASET_CONFIG_ID con el nombre de la configuración del conjunto de datos que generó el conjunto de datos para vincular.

    • SERVICE_ACCOUNT con la cuenta de servicio Por ejemplo, test-service-account@test-project.iam.gserviceaccount.com

¿Qué sigue?