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 doGoogle Cloud gravam registros de auditoria para responder às perguntas "Quem fez o quê, onde e quando?" nos recursos do Google Cloud .
Os projetos do Google Cloud contêm apenas os registros de auditoria dos recursos que estão diretamente no projeto do Google Cloud . Outros recursos do Google Cloud , como pastas, organizações e contas de faturamento, contêm os registros de auditoria da própria entidade.
Consulte Visão geral dos Registros de Auditoria do Cloud. 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 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.batchImport 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.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 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 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 ragFiles.get ragFiles.list sessions.get sessions.list sessionEvents.list |
| Registros de auditoria de acesso a dados (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 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
logNamecontém o ID do recurso e o tipo de registro de auditoria. O recurso é um projeto, uma pasta, uma organização ou uma conta de faturamento. - O
resourcecontém o destino da operação auditada. - O
timeStampcontém o horário da operação auditada. - O
protoPayloadcontém as informações auditadas.
- O
Os dados de registro de auditoria, que são um objeto
AuditLoglocalizado no campoprotoPayloadda entrada de registro.- O campo
@typeestá definido como"type.googleapis.com/google.cloud.audit.AuditLog". - O campo
serviceNameidentifica o serviço que gravou o registro de auditoria. O formato desse campo é específico do serviço.
- O campo
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
serviceDatado objetoAuditLog. Integrações posteriores usam o campometadata.
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 que indicam o projeto doGoogle Cloud ou outra entidade do Google Cloud que contém os registros de auditoria e se o registro tem dados 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 as variáveis dos 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 dos autores 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 os papéis do IAM determinam quem pode acessar os dados de registros de auditoria nos recursos do Google Cloud .
Para decidir quais permissões e papéis do Logging 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.privateLogViewerinclui as permissões contidas emroles/logging.viewer, além da capacidade de ler os registros de auditoria de acesso a dados no bucket_Default.Se esses registros particulares forem armazenados em buckets definidos pelo usuário, qualquer usuário que tenha permissões para ler os registros nesses buckets poderá ler os registros particulares. 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.
Acessar registros
É possível consultar todos os registros de auditoria ou consultar registros pelo nome. 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.
As consultas podem especificar campos LogEntry indexados.
Para saber como consultar registros, confira Criar consultas na Análise de Registros.
Com a Análise de Registros, é possível filtrar entradas de registro individuais. Se quiser usar SQL para analisar grupos de entradas de registro, use a página Análise de dados de registros. Saiba mais em:
- Consultar e visualizar registros na Análise de Dados de Registros.
- Amostras de consultas para insights de segurança.
- Representar os resultados da consulta em um gráfico.
A maioria dos registros de auditoria pode ser visualizada no Cloud Logging usando o consoleGoogle Cloud , a CLI do Google Cloud ou a API Logging. No entanto, para registros de auditoria relacionados ao faturamento, só é possível usar a CLI do Google Cloud ou a API Logging.
Console
No console do Google Cloud , é possível usar a Análise de Registros para acessar as entradas de registros de autoria de projetos, pastas ou organizações do Google Cloud .
-
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 Logging.
Selecione um projeto, uma pasta ou uma organização do Google Cloud .
Para exibir todos os registros de auditoria, digite 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"
Para exibir os registros de auditoria de determinado recurso e tipo, 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 acessar.
Em Nome do registro, selecione o tipo de registro de auditoria que você quer acessar:
- 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.
Caso uma das opções não apareça, significa que o projeto, a pasta ou a organização do Google Cloud não tem registros de auditoria desse tipo.
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 CLI do Google Cloud oferece uma interface de linha de comando para a API Logging. Digite 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 informado precisará fazer referência ao projeto doGoogle Cloud selecionado.
Para ler as entradas de registro de auditoria para envolvidos no projeto do Google Cloud , execute este comando:
gcloud logging read "logName : projects/PROJECT_ID/logs/cloudaudit.googleapis.com" \
--project=PROJECT_ID
Para ler as entradas de registro de auditoria no nível da pasta, execute este comando:
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 gcloud CLI 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 informado precisará fazer referência ao projeto doGoogle Cloud selecionado.
Por exemplo, para usar a API Logging para acessar as entradas de registro de auditoria para envolvidos no projeto, faça o seguinte:
Acesse a seção Testar esta API da documentação do método
entries.list.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" }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, é possível encaminhar para outros aplicativos, repositórios e terceiros.
Para gerenciar os registros de auditoria em toda a organização, crie coletores agregados para encaminhar os registros de qualquer projeto do Google Cloud na organização.
- Se os registros de auditoria de acesso a dados ativados estão fazendo com que seus projetos doGoogle Cloud ultrapassem as cotas de registros, crie coletores para excluir esses registros do Logging.
Confira as instruções de roteamento de registros em Encaminhar registros para destinos compatíveis.
Preços
Para mais informações sobre preços, consulte as seções do Cloud Logging na página de preços do Google Cloud Observability.