Informações de geração de registros de auditoria da Vertex AI

Para saber mais sobre registros de auditoria criados pelo Vertex AI Workbench, consulte as páginas de registros de auditoria para notebooks gerenciados ou notebooks gerenciados pelo usuário.

Neste documento, descrevemos os registros de auditoria criados pela Vertex AI como parte dos Registros de auditoria do Cloud.

Visão geral

Os serviços do Google Cloud gravam registros de auditoria para ajudar você a responder às perguntas: "Quem fez o quê, onde e quando?" nos recursos do Google Cloud.

Seus projetos do Google Cloud contêm apenas os registros de auditoria dos recursos que estão diretamente no projeto. Outros recursos do Google Cloud, como pastas, organizações e contas de faturamento, contêm os registros de auditoria da própria entidade.

Para uma visão geral dos registros de auditoria do Cloud, consulte este link. Para entender melhor o formato do registro de auditoria, consulte Noções básicas dos registros de auditoria.

Registros de auditoria disponíveis

Os seguintes tipos de registros de auditoria estão disponíveis para o Vertex AI:

  • Registros de auditoria de atividade do administrador

    Inclui operações de "gravação de administrador" que gravam metadados ou informações de configuração.

    Não é possível desativar esses registros.

  • Registros de auditoria de acesso a dados

    Inclui operações de "leitura do administrador" que leem metadados ou informações de configuração. Também inclui operações de "leitura de dados" e "gravação de dados" que leem ou gravam dados fornecidos pelo usuário.

    Para receber registros de auditoria de acesso a dados, é necessário ativá-los explicitamente.

Para ver descrições mais completas dos tipos de registros de auditoria, consulte Tipos de registros de auditoria.

Operações auditadas

Veja na tabela a seguir um resumo de quais operações da API correspondem a cada tipo de registro de auditoria na Vertex AI:

Categoria de registro de auditoria Operações da Vertex AI
Registros de auditoria de atividade do 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.delete
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
hyperparameterTuningJobs.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.addContextChildren
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.delete
modelDeploymentMonitoringJobs.patch
modelDeploymentMonitoringJobs.pause
modelDeploymentMonitoringJobs.resume
models.delete
models.deleteVersion
models.export
models.mergeVersionAliases
models.patch
models.upload
models.evaluations.import
models.evaluations.slices.batchImport
modelMonitors.create
modelMonitors.delete
modelMonitors.update
modelMonitoringJobs.create
modelMonitoringJobs.delete
operations.cancel
pipelineJobs.cancel
pipelineJobs.create
pipelineJobs.delete
schedules.create
schedules.delete
schedules.update
specialistPools.create
specialistPools.delete
specialistPools.patch
studies.create
studies.delete
studies.trials.addTrialMeasurement
studies.trials.complete
studies.trials.create
studies.trials.delete
studies.trials.stop
studies.trials.suggest
tensorboards.create
tensorboards.delete
tensorboards.patch
tensorboards.experiments.create
tensorboards.experiments.delete
tensorboards.experiments.patch
tensorboards.experiments.write
tensorboards.experiments.runs.batchCreate
tensorboards.experiments.runs.create
tensorboards.experiments.runs.delete
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 auditoria de acesso a dados (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
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 auditoria de acesso a dados (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
Registros de auditoria de acesso a dados (DATA_WRITE) featurestores.entityTypes.importFeatureValues
indexes.create
indexes.patch
indexes.removeDatapoints
indexes.upsertDatapoints

Formato do registro de auditoria

As entradas de registro de auditoria incluem os seguintes objetos:

  • A própria entrada de registro, que é um objeto do tipo LogEntry. Veja alguns campos úteis:

    • O logName contém o ID do recurso e o tipo de registro de auditoria.
    • O resource contém o destino da operação auditada.
    • O timeStamp contém o horário da operação auditada.
    • O protoPayload contém as informações auditadas.
  • Os dados de registro de auditoria, que são um objeto AuditLog localizado no campo protoPayload da entrada de registro.

  • Informações de auditoria opcionais e específicas do serviço, que são um objeto específico do serviço. Para integrações anteriores, esse objeto é mantido no campo serviceData do objeto AuditLog. Integrações posteriores usam o campo metadata.

Confira outros campos nesses objetos e como interpretá-los em Noções básicas sobre registros de auditoria.

Nome do registro

Os nomes dos Registros de auditoria do Cloud incluem identificadores de recursos que indicam o projeto do Google Cloud ou outra entidade do Google Cloud proprietária dos registros de auditoria e se o registro tem dados de registro de auditoria de atividade do administrador, acesso a dados, política negada ou evento do sistema.

Estes são os nomes dos registros de auditoria, que incluem variáveis para os 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

Nome do serviço

Os registros de auditoria da Vertex AI usam o nome de serviço aiplatform.googleapis.com.

Veja uma lista de todos os nomes de serviço da API Cloud Logging e o tipo de recurso monitorado correspondente em Mapear serviços para recursos.

Tipos de recurso

Os registros de auditoria da Vertex AI usam o tipo de recurso audited_resource para todos os registros de auditoria.

Veja uma lista de todos os tipos de recursos monitorados do Cloud Logging e informações descritivas em Tipos de recursos monitorados.

Identidades de autor da chamada

O endereço IP do autor da chamada é mantido no campo RequestMetadata.caller_ip do objeto AuditLog. O Logging pode encobrir determinadas identidades e endereços IP de autor da chamada.

Para saber quais informações são editadas nos registros de auditoria, consulte Identidades de autores de chamadas nos registros de auditoria.

Ativar registros de auditoria

Os registros de auditoria de atividade do administrador estão sempre ativados. Não é possível desativá-los.

Por padrão, os registros de auditoria de acesso a dados são desativados e não são gravados, a menos que essa opção seja ativada. Os registros de auditoria de acesso a dados do BigQuery são uma exceção e não podem ser desativados.

Para informações sobre como ativar alguns ou todos os registros de auditoria de acesso a dados, consulte Habilitar registros de auditoria de acesso a dados.

Permissões e papéis

As permissões e papéis do IAM determinam a capacidade de acessar dados de registros de auditoria nos recursos do Google Cloud.

Ao decidir as permissões e papéis específicos do Logging que se aplicam ao seu caso de uso, considere o seguinte:

  • O papel Leitor de registros (roles/logging.viewer) fornece acesso somente leitura aos registros de auditoria de atividade do administrador, política negada e eventos do sistema. Se você tiver apenas esse papel, não será possível acessar os registros de auditoria de acesso a dados que estão no bucket _Default.

  • O papel Leitor de registros particulares (roles/logging.privateLogViewer inclui as permissões contidas em roles/logging.viewer, além da capacidade de ler os registros de auditoria de acesso a dados no bucket _Default.

    Observe que, se esses registros privados forem armazenados em intervalos definidos pelo usuário, qualquer usuário que tenha permissões para ler registros nesses intervalos poderá ler os registros privados. Para mais informações sobre buckets de registro, consulte Visão geral de roteamento e armazenamento.

Para mais informações sobre as permissões e os papéis do IAM que se aplicam aos dados de registros de auditoria, consulte Controle de acesso com IAM.

Ver registros

É possível consultar todos os registros de auditoria ou fazer consultas individuais pelo nome do registro de auditoria. O nome do registro de auditoria inclui o identificador de recurso do projeto, da pasta, da conta de faturamento ou da organização do Google Cloud com as informações de registro de auditoria que você quer consultar. Suas consultas podem especificar campos LogEntry indexados. Para mais informações sobre como consultar seus registros, consulte Criar consultas no Explorador de registros.

O Explorador de registros permite visualizar e filtrar entradas de registro individuais. Se você quiser usar o SQL para analisar grupos de entradas de registro, use a página Análise de registros. Veja mais informações em:

A maioria dos registros de auditoria pode ser visualizada no Cloud Logging usando o console do Google Cloud, a Google Cloud CLI ou a API Logging. No entanto, para registros de auditoria relacionados ao faturamento, só é possível usar a Google Cloud CLI ou a API Logging.

Console

No Console do Google Cloud, é possível usar a Análise de Registros para recuperar as entradas de registro de auditoria do projeto do Google Cloud, da pasta ou da organização:

  1. No console do Google Cloud, acesse a página Análise de registros:

    Acessar a Análise de registros

    Se você usar a barra de pesquisa para encontrar essa página, selecione o resultado com o subtítulo Geração de registros.

  2. Selecione um projeto do Google Cloud, uma pasta ou uma organização.

  3. Para exibir todos os registros de auditoria, insira uma das seguintes consultas no campo do editor de consultas e clique em Executar consulta:

    logName:"cloudaudit.googleapis.com"
    
    protoPayload."@type"="type.googleapis.com/google.cloud.audit.AuditLog"
    
  4. Para exibir os registros de auditoria de um recurso e tipo de registro específicos, no painel Criador de consultas, faça o seguinte:

    • Em Tipo de recurso, selecione o recurso do Google Cloud com os registros de auditoria que você quer consultar.

    • Em Nome do registro, selecione o tipo de registro de auditoria que você quer consultar.

      • Para os registros de auditoria da atividade do administrador, selecione Atividade.
      • Para os registros de auditoria de acesso a dados, selecione data_access.
      • Para os registros de auditoria de eventos do sistema, selecione system_event.
      • Em "Registros de auditoria de política negada", selecione policy.
    • Clique em Executar consulta.

    Se você não encontrar essas opções, isso significa que não há registros de auditoria desse tipo disponíveis no projeto do Google Cloud, na pasta ou na organização.

    Se você estiver com problemas para conferir registros na Análise de registros, consulte as informações de solução de problemas.

    Para mais informações sobre como consultar usando a Análise de Registros, consulte Criar consultas na Análise de Registros.

gcloud

A Google Cloud CLI fornece uma interface de linha de comando para a API Logging. Insira um identificador de recurso válido em cada um dos nomes de registro. Por exemplo, se a consulta incluir um PROJECT_ID, o identificador do projeto que você fornecer precisará fazer referência ao projeto do Google Cloud selecionado.

Para ler suas entradas de registro de auditoria no nível do projeto do Google Cloud, execute o comando a seguir:

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

Para ler suas entradas de registro de auditoria no nível da pasta, execute o comando a seguir:

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

Para ler as entradas de registro de auditoria no nível da organização, execute este comando:

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

Para ler as entradas de registro de auditoria na conta do Cloud Billing, execute este comando:

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

Adicione a sinalização --freshness ao comando para ler registros com mais de um dia.

Saiba mais sobre como usar a CLI gcloud em gcloud logging read.

REST

Ao criar consultas, informe um identificador de recurso válido em cada um dos nomes de registro. Por exemplo, se a consulta incluir um PROJECT_ID, o identificador do projeto que você fornecer precisará fazer referência ao projeto do Google Cloud selecionado.

Por exemplo, para usar a API Logging para visualizar as entradas de registro de auditoria para envolvidos no projeto:

  1. Acesse a seção Testar esta API na documentação do método entries.list.

  2. Digite o seguinte na parte do Corpo da solicitação do formulário Teste esta API. Clique nesse formulário preenchido automaticamente para preencher automaticamente o corpo da solicitação, mas é necessário inserir um PROJECT_ID válido em cada um dos nomes de registro.

    {
      "resourceNames": [
        "projects/PROJECT_ID"
      ],
      "pageSize": 5,
      "filter": "logName : projects/PROJECT_ID/logs/cloudaudit.googleapis.com"
    }
    
  3. Clique em Executar.

Encaminhar registros de auditoria

É possível encaminhar registros de auditoria para destinos suportados da mesma maneira que é possível rotear outros tipos de registros. Confira alguns motivos para Encaminhar registros de auditoria:

  • Para manter registros de auditoria por mais tempo ou usar recursos de pesquisa mais eficientes, exporte cópias desses registros para o Cloud Storage, o BigQuery ou o Pub/Sub. Com o Pub/Sub, faça exportações para outros aplicativos e repositórios ou para terceiros.

  • Para gerenciar seus registros de auditoria em toda a organização, crie coletores agregados que podem encaminhar registros de qualquer ou todos os projetos do Google Cloud na organização.

  • Se os registros ativados de auditoria de acesso a dados estiverem aproximando seus projetos do Google Cloud das cotas de registros, crie coletores que excluam esses registros do Logging.

Para instruções sobre o roteamento de registros, consulte Rotear registros para destinos compatíveis.

Preços

Para mais informações sobre preços, consulte o Resumo de preços do Cloud Logging.