Información sobre el registro de auditoría de Vertex AI

Si buscas información sobre los registros de auditoría que creó Vertex AI Workbench, consulta las páginas de registro de auditoría para notebooks administrados o notebooks administrados por el usuario.

En este documento, se describen los registros de auditoría creados por Vertex AI como parte de los Registros de auditoría de Cloud.

Descripción general

Los servicios deGoogle Cloud escriben registros de auditoría que ayudan a responder preguntas relacionadas con tus recursos de Google Cloud sobre las acciones que se realizaron y sobre quién, cuándo y dónde las realizó.

Tus proyectos de Google Cloud incluyen solo los registros de auditoría de los recursos que están directamente en el proyecto de Google Cloud . Otros recursos de Google Cloud , como las carpetas, las organizaciones y las cuentas de facturación, contienen los registros de auditoría correspondientes a la propia entidad.

Consulta la descripción general de los Registros de auditoría de Cloud para conocer más al respecto. Para comprender mejor el formato del registro de auditoría, consulta Información sobre los registros de auditoría.

Registros de auditoría disponibles

Los siguientes tipos de registros de auditoría están disponibles para Vertex AI:

  • Registros de auditoría de actividad del administrador

    Incluye operaciones de “escritura de administrador” que escriben metadatos o información de configuración.

    No puedes inhabilitar los registros de auditoría de actividad del administrador.

  • Registros de auditoría de acceso a los datos

    Incluye operaciones de “lectura de administrador” que leen metadatos o información de configuración. También incluye las operaciones de “lectura de datos” y “escritura de datos” que leen o escriben datos proporcionados por el usuario.

    Para recibir registros de auditoría de acceso a los datos, debes habilitarlos de forma explícita.

Para obtener descripciones más completas de los tipos de registros de auditoría, consulta Tipos de registros de auditoría.

Operaciones auditadas

En la siguiente tabla, se resumen las operaciones de API que corresponden a cada tipo de registro de auditoría en Vertex AI:

Categoría de registros de auditoría Operaciones de Vertex AI
Registros de auditoría sobre la actividad del administrador batchPredictionJobs.cancel
batchPredictionJobs.create
batchPredictionJobs.delete
customJobs.cancel
customJobs.create
customJobs.delete
dataLabelingJobs.cancel
dataLabelingJobs.create
dataLabelingJobs.delete
datasets.create
datasets.delete
datasets.export
datasets.import
datasets.patch
endpoints.create
endpoints.delete
endpoints.deployModel
endpoints.patch
endpoints.undeployModel
featurestores.create
featurestores.del ete
featurestores.patch
featurestores.setIamPolicy
featurestores.entityTypes.create
featurestores.entityTypes.delete
featurestores.entityTypes.patch
featurestores.entityTypes.setIamPolicy
featurestores.entityTypes.features.batchCreate
featurestores.entityTypes.features.create
featurestores.entityTypes.features.delete
featurestores.entityTypes.features.patch
hyperparameterTuningJobs.cancel
hyperparameterTuningJobs.create
hyperparameterTun ingJobs.delete
indexEndpoints.create
indexEndpoints.delete
indexEndpoints.deployIndex
indexEndpoints.mutateDeployedIndex
indexEndpoints.patch
indexEndpoints.undeployIndex
metadataStores.create
metadataStores.delete
metadataStores.artifacts.create
metadataStores.artifacts.delete
metadataStores.artifacts.patch
metadataStores.artifacts.purge
metadataStores.contexts.addContextArtifactsAndExecutions
metadataStores.contexts.addContextChildr en
metadataStores.contexts.create
metadataStores.contexts.delete
metadataStores.contexts.patch
metadataStores.contexts.purge
metadataStores.executions.addExecutionEvents
metadataStores.executions.create
metadataStores.executions.delete
metadataStores.executions.patch
metadataStores.executions.purge
metadataStores.metadataSchemas.create
migratableResources.batchMigrate
modelDeploymentMonitoringJobs.create
modelDeploymentMonitoringJobs.dele te
modelDeploymentMonitoringJobs.patch
modelDeploymentMonitoringJobs.pause
modelDeploymentMonitoringJobs.resume
modelDevelopmentClusters.create
modelDevelopmentClusters.delete
modelDevelopmentClusters.get
modelDevelopmentClusters.list
modelDevelopmentClusters.update
models.delete
models.deleteVersion
models.export
models.mergeVersionAliases
models.patch
models.upload
models.evaluations.import
models.evaluations.slices.batchImpor t
modelMonitors.create
modelMonitors.delete
modelMonitors.update
modelMonitoringJobs.create
modelMonitoringJobs.delete
operations.cancel
pipelineJobs.cancel
pipelineJobs.create
pipelineJobs.delete
ragCorpora.create
ragCorpora.delete
ragEngineConfigs.update
schedules.create
schedules.delete
schedules.update
specialistPools.create
specialistPools.delete
specialistPools.patch
studies.create
studies.delete
studies.tria ls.addTrialMeasurement
estudios.ensayos.completar
estudios.ensayos.crear
estudios.ensayos.eliminar
estudios.ensayos.detener
estudios.ensayos.sugerir
tensorboards.crear
tensorboards.eliminar
tensorboards.parche
tensorboards.experimentos.crear
tensorboards.experimentos.eliminar
tensorboards.experimentos.parche
tensorboards.experimentos.escribir
tensorboards.experimentos.ejecuciones.creación por lotes
tensorboards.experimentos.ejecuciones.crear
tensorboards.experimentos.ejecuciones.eliminar
tensorboards.experiments.runs.patch
tensorboards.experiments.runs.write
tensorboards.experiments.runs.timeSeries.batchCreate
tensorboards.experiments.runs.timeSeries.create
tensorboards.experiments.runs.timeSeries.delete
tensorboards.experiments.runs.timeSeries.patch
trainingPipelines.cancel
trainingPipelines.create
trainingPipelines.delete
tuningJobs.cancel
tuningJobs.create
deploymentResourcePool.create
deploymentResourcePool.delete
Registros de auditoría de acceso a los datos (ADMIN_READ) batchPredictionJobs.get
batchPredictionJobs.list
customJobs.get
customJobs.list
dataLabelingJobs.get
dataLabelingJobs.list
datasets.get
datasets.list
datasets.annotationSpecs.get
datasets.annotations.list
datasets.savedQueries.list
endpoints.get
endpoints.list
featurestores.get
featurestores.getIamPolicy
featurestores.list
featurestores.searchFeatures
featurestores.entityTypes.get
featurestores.entityTypes.getIamPolicy
featurestores.entityTypes.list
featurestores.entityTypes.features.get
featurestores.entityTypes.features.list
hyperparameterTuningJobs.get
hyperparameterTuningJobs.list
indexEndpoints.get
indexEndpoints.list
indexes.get
indexes.delete
metadataStores.get
metadataStores.list
metadataStores.artifacts.get
metadataStores.artifacts.list
metadataStores.artifacts.queryArtifactLineageSubgraph
metadataStores.contexts.get
metadataStores.contexts.list
metadataStores.contexts.queryContextLineageSubgraph
metadataStores.executions.get
metadataStores.executions.list
metadataStores.executions.queryExecutionInputsAndOutputs
metadataStores.metadataSchemas.get
metadataStores.metadataSchemas.list
migratableResources.search
modelDeploymentMonitoringJobs.get
modelDeploymentMonitoringJobs.list
models.get
models.list
models.listVersions
models.evaluations.get
models.evaluations.list
models.evaluations.slices.get
models.evaluations.slices.list
modelMonitors.get
modelMonitors.list
modelMonitoringJobs.get
modelMonitoringJobs.list
pipelineJobs.get
pipelineJobs.list
ragCorpora.get
ragCorpora.list
ragEngineConfigs.get
schedules.get
schedules.list
specialistPools.get
specialistPools.list
studies.get
studies.list
studies.lookup
studies.trials.checkTrialEarlyStoppingState
studies.trials.get
studies.trials.list
studies.trials.listOptimalTrials
tensorboards.get
tensorboards.list
tensorboards.experiments.get
tensorboards.experiments.list
tensorboards.experiments.runs.get
tensorboards.experiments.runs.list
tensorboards.experiments.runs.timeSeries.batchRead
tensorboards.experiments.runs.timeSeries.exportTensorboardTimeSeries
tensorboards.experiments.runs.timeSeries.get
tensorboards.experiments.runs.timeSeries.list
tensorboards.experiments.runs.timeSeries.read
tensorboards.experiments.runs.timeSeries.readBlobData
trainingPipelines.get
trainingPipelines.list
tuningJobs.get
tuningJobs.list
deploymentResourcePool.get
deploymentResourcePool.list
deploymentResourcePool.queryDeployedModels
Registros de auditoría de acceso a los datos (DATA_READ) datasets.dataItems.list
endpoints.explain
endpoints.predict
endpoints.rawPredict
featurestores.batchReadFeatureValues
featurestores.entityTypes.exportFeatureValues
featurestores.entityTypes.readFeatureValues
featurestores.entityTypes.streamingReadFeatureValues
indexEndpoints.findNeighbors
modelDeploymentMonitoringJobs.searchModelDeploymentMonitoringStatsAnomalies
modelMonitors.searchModelMonitoringAlerts
modelMonitors.searchModelMonitoringStats
ragFiles.get
ragFiles.list
sessions.get
sessions.list
sessionEvents.list
Registros de auditoría de acceso a los datos (DATA_WRITE) featurestores.entityTypes.importFeatureValues
indexes.create
indexes.patch
indexes.removeDatapoints
indexes.upsertDatapoints
ragFiles.delete
ragFiles.import
ragFiles.upload
sessions.create
sessions.update
sessions.delete
sessionEvents.append

Formato del registro de auditoría

Las entradas del registro de auditoría incluyen los siguientes objetos:

  • La entrada de registro, que es un objeto de tipo LogEntry. Los campos útiles incluyen los siguientes:

    • El campo logName contiene el ID del recurso y el tipo de registro de auditoría. El recurso es un proyecto, una carpeta, una organización o una cuenta de facturación.
    • El campo resource contiene el objetivo de la operación auditada.
    • El campo timeStamp contiene la hora de la operación auditada.
    • El campo protoPayload contiene la información auditada.
  • Los datos de registro de auditoría, que son un objeto AuditLog alojado en el campo protoPayload de la entrada de registro.

    • El campo @type está configurado como "type.googleapis.com/google.cloud.audit.AuditLog".
    • El campo serviceName identifica el servicio que escribió el registro de auditoría. El formato de este campo es específico del servicio.
  • La información opcional de auditoría específica del servicio, que es un objeto específico del servicio. En las integraciones anteriores, este objeto se mantiene en el campo serviceData del objeto AuditLog. Las integraciones posteriores usan el campo metadata.

Para obtener información sobre otros campos en estos objetos, además de cómo interpretarlos, consulta Información sobre los registros de auditoría.

Nombre del registro

Los nombres de los Registros de auditoría de Cloud incluyen identificadores de recursos que indican el proyecto deGoogle Cloud o cualquier otra entidad de Google Cloud que posee esos registros de auditoría. Además, indican si el registro contiene actividad del administrador, acceso a los datos, políticas denegadas o datos de registro de auditoría de los eventos del sistema.

A continuación, se muestran los nombres de los registros de auditoría, incluidas las variables para los identificadores de recursos:

   projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Factivity
   projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fdata_access
   projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fsystem_event
   projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fpolicy

   folders/FOLDER_ID/logs/cloudaudit.googleapis.com%2Factivity
   folders/FOLDER_ID/logs/cloudaudit.googleapis.com%2Fdata_access
   folders/FOLDER_ID/logs/cloudaudit.googleapis.com%2Fsystem_event
   folders/FOLDER_ID/logs/cloudaudit.googleapis.com%2Fpolicy

   billingAccounts/BILLING_ACCOUNT_ID/logs/cloudaudit.googleapis.com%2Factivity
   billingAccounts/BILLING_ACCOUNT_ID/logs/cloudaudit.googleapis.com%2Fdata_access
   billingAccounts/BILLING_ACCOUNT_ID/logs/cloudaudit.googleapis.com%2Fsystem_event
   billingAccounts/BILLING_ACCOUNT_ID/logs/cloudaudit.googleapis.com%2Fpolicy

   organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com%2Factivity
   organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com%2Fdata_access
   organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com%2Fsystem_event
   organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com%2Fpolicy

Nombre del servicio

Los registros de auditoría de Vertex AI usan el nombre de servicio aiplatform.googleapis.com.

Para obtener una lista de los nombres de los servicios de la API de Cloud Logging y su tipo de recurso supervisado correspondiente, consulta Asigna servicios a recursos.

Tipos de recursos

Los registros de auditoría de Vertex AI usan el tipo de recurso audited_resource para todos los registros de auditoría.

Para obtener una lista de todos los tipos de recursos supervisados de Cloud Logging y la información descriptiva, consulta Tipos de recursos supervisados.

Identidades de los emisores

La dirección IP del emisor se encuentra en el campo RequestMetadata.caller_ip del objeto AuditLog. Logging podría ocultar ciertas identidades de emisores y direcciones IP.

Para obtener información sobre los datos que se ocultan en los registros de auditoría, consulta Identidades de emisores en los registros de auditoría.

Habilita el registro de auditoría

Los registros de auditoría de actividad del administrador siempre están habilitados; no puedes inhabilitarlos.

Los registros de auditoría de acceso a los datos están inhabilitados de forma predeterminada y no se escriben, a menos que se habiliten de forma explícita (excepto los registros de auditoría de acceso a los datos de BigQuery, que no pueden inhabilitarse).

Para obtener información sobre cómo habilitar algunos o todos tus registros de auditoría de acceso a los datos, consulta Habilita los registros de auditoría de acceso a los datos.

Permisos y roles

Los permisos y roles de IAM determinan tu capacidad para acceder a los datos de los registros de auditoría en los recursos de Google Cloud .

Cuando decidas qué roles y permisos específicos de Logging se aplican a tu caso de uso, deberás considerar los factores siguientes:

  • El rol Visualizador de registros (roles/logging.viewer) otorga acceso de solo lectura a los registros de auditoría de la actividad del administrador, las políticas denegadas y los eventos del sistema. Si tienes solo este rol, no podrás ver los registros de auditoría de acceso a los datos que se encuentren en el bucket _Default.

  • El rol Visualizador de registros privados ((roles/logging.privateLogViewer) incluye los permisos que contiene roles/logging.viewer, además de la capacidad de leer registros de auditoría de acceso a los datos del bucket _Default.

    Ten en cuenta que si estos registros privados se almacenan en buckets definidos por el usuario, cualquier usuario que tenga permisos para leer registros almacenados en esos buckets podrá leer los registros privados. Para obtener más información sobre los buckets de registros, consulta Descripción general del enrutamiento y el almacenamiento.

Para obtener más información sobre los permisos y roles de IAM que se aplican a los datos de los registros de auditoría, consulta Control de acceso con la IAM.

Consulta registros

Puedes consultar todos los registros de auditoría o uno en particular a través de su nombre. El nombre del registro de auditoría incluye el identificador del recurso del proyecto de Google Cloud , la carpeta, la cuenta de facturación o la organización cuya información de registros de auditoría quieres consultar. En las consultas, puedes especificar campos LogEntry indexados. Para obtener más información sobre cómo consultar registros, visita Crea consultas en el Explorador de registros.

El Explorador de registros permite ver y filtrar entradas de registro individuales. Si quieres usar SQL para analizar grupos de entradas de registro, usa la página Análisis de registros. Para obtener más información, consulta las secciones siguientes:

La mayoría de los registros de auditoría se pueden ver en Cloud Logging con la consola deGoogle Cloud , la Google Cloud CLI o la API de Logging. Sin embargo, para los registros de auditoría relacionados con la facturación, solo puedes usar la Google Cloud CLI o la API de Logging.

Consola

En la consola de Google Cloud , puedes usar el Explorador de registros para recuperar las entradas de registro de auditoría de tu organización, proyecto o carpeta de Google Cloud :

  1. En la consola de Google Cloud , accede a la página Explorador de registros:

    Accede al Explorador de registros.

    Si usas la barra de búsqueda para encontrar esta página, selecciona el resultado cuyo subtítulo es Logging.

  2. Elige una organización, un proyecto o una carpeta de Google Cloud existentes.

  3. Para que se muestren todos los registros de auditoría, ingresa cualquiera de las consultas siguientes en el campo del editor de consultas y, luego, haz clic en Ejecutar consulta:

    logName:"cloudaudit.googleapis.com"
    
    protoPayload."@type"="type.googleapis.com/google.cloud.audit.AuditLog"
    
  4. Para que se muestren los registros de auditoría de un recurso específico y un tipo de registro de auditoría, en el panel Compilador de consultas, haz lo siguiente:

    • En Tipo de recurso, elige el recurso de Google Cloud cuyos registros de auditoría quieres consultar.

    • En Nombre del registro, selecciona el tipo de registro de auditoría que quieres ver:

      • En el caso de los registros de auditoría sobre la actividad del administrador, selecciona Actividad.
      • En los registros de auditoría de acceso a los datos, selecciona data_access.
      • En el caso de los registros de auditoría de eventos del sistema, selecciona system_event.
      • En el caso de los registros de auditoría de política denegada, selecciona Política.
    • Haz clic en Ejecutar consulta.

    Si no ves estas opciones, significa que no hay registros de auditoría de ese tipo disponibles en el proyecto, la carpeta o la organización de Google Cloud .

    Si no puedes ver los registros en el Explorador de registros, consulta la información para solucionar problemas.

    Para obtener más información sobre cómo hacer consultas con el Explorador de registros, visita Crea consultas en el Explorador de registros.

gcloud

La Google Cloud CLI proporciona una interfaz de línea de comandos a la API de Logging. Proporciona un identificador de recurso válido en cada uno de los nombres de registro. Por ejemplo, si la consulta incluye un PROJECT_ID, el identificador del proyecto que proporciones debe hacer referencia al proyecto de Google Cloud seleccionado en este momento.

Para leer las entradas de registros de auditoría a nivel de proyecto de Google Cloud , ejecuta el comando siguiente:

gcloud logging read "logName : projects/PROJECT_ID/logs/cloudaudit.googleapis.com" \
    --project=PROJECT_ID

Para leer las entradas de registros de auditoría a nivel de carpetas, ejecuta el comando siguiente:

gcloud logging read "logName : folders/FOLDER_ID/logs/cloudaudit.googleapis.com" \
    --folder=FOLDER_ID

Para leer las entradas de registros de auditoría a nivel de organización, ejecuta el comando siguiente:

gcloud logging read "logName : organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com" \
    --organization=ORGANIZATION_ID

Para leer las entradas de registros de auditoría a nivel de la cuenta de Facturación de Cloud, ejecuta el comando siguiente:

gcloud logging read "logName : billingAccounts/BILLING_ACCOUNT_ID/logs/cloudaudit.googleapis.com" \
    --billing-account=BILLING_ACCOUNT_ID

Agrega la marca --freshness al comando para leer los registros que tienen más de 1 día de antigüedad.

Para obtener más información sobre el uso de la gcloud CLI, consulta gcloud logging read.

REST

Cuando crees consultas, proporciona un identificador de recurso válido en cada uno de los nombres de registro. Por ejemplo, si la consulta incluye un PROJECT_ID, el identificador del proyecto que proporciones debe hacer referencia al proyecto de Google Cloud seleccionado en este momento.

Por ejemplo, si quieres usar la API de Logging para ver las entradas de registros de auditoría a nivel de proyecto, haz lo siguiente:

  1. Accede a la sección Probar esta API en la documentación del método entries.list.

  2. Ingresa lo siguiente en el cuerpo de la solicitud del formulario Prueba esta API. Cuando haces clic en este formulario prepropagado, se completará automáticamente el cuerpo de la solicitud, pero deberás proporcionar un PROJECT_ID válido para cada nombre de registro.

    {
      "resourceNames": [
        "projects/PROJECT_ID"
      ],
      "pageSize": 5,
      "filter": "logName : projects/PROJECT_ID/logs/cloudaudit.googleapis.com"
    }
    
  3. Haz clic en Ejecutar.

Enruta registros de auditoría

Puedes enrutar registros de auditoría a destinos compatibles de la misma manera en la que enrutas otros tipos de registros. Estos son algunos de los motivos por los que es posible que necesites enrutar los registros de auditoría:

  • Para mantener los registros de auditoría durante un período más extenso o usar capacidades de búsqueda más potentes, puedes enrutar copias de los registros de auditoría a Cloud Storage, BigQuery o Pub/Sub. Con Pub/Sub, puedes enrutar a otras aplicaciones, a otros repositorios y a terceros.

  • Para administrar los registros de auditoría de toda una organización, puedes crear receptores agregados que puedan enrutar registros desde parte o la totalidad de los proyectos de Google Cloud de la organización o desde todos los proyectos.

  • Si los registros de auditoría de acceso a los datos habilitados sobrepasan las asignaciones de registros de los proyectos deGoogle Cloud , puedes crear receptores que excluyan los registros de auditoría de acceso a los datos desde Logging.

Para obtener instrucciones sobre cómo enrutar registros, consulta Enruta registros a destinos admitidos.

Precios

Para obtener más información sobre los precios, consulta las secciones de Cloud Logging en la página Precios de Google Cloud Observability.