Referência da tabela do sistema de registro de auditoria
Visualização
Essa tabela do sistema está em Pré-visualização Pública. Para acessar a tabela, o esquema deve estar habilitado em seu catálogo system
. Para obter mais informações, consulte Habilitar esquemas de tabelas do sistema.
Este artigo descreve o esquema da tabela audit log e apresenta exemplos de consultas que o senhor pode usar com a tabela do sistema audit log para responder a perguntas comuns sobre o uso do account. Para obter informações sobre eventos de auditoria log, consulte Referência de auditoria log .
Caminho da tabela: Essa tabela do sistema está localizada em system.access.audit
.
Considerações sobre o registro de auditoria
A maioria das auditorias logs está disponível apenas na região do workspace.
Somente logs no nível account do Unity Catalog estão disponíveis em todas as regiões.
account-level audit logs registro
workspace_id
como0
.
Esquema da tabela do sistema de registro de auditoria
A tabela do sistema audit log usa o seguinte esquema:
Nome da coluna |
Tipo de dados |
Descrição |
Exemplo |
---|---|---|---|
|
string |
Auditoria log versão do esquema |
|
|
timestamp |
Registro de data e hora do evento. As informações de fuso horário são registradas no final do valor com |
|
|
Data |
Data do calendário em que a ação ocorreu |
|
|
long |
ID do workspace |
|
|
string |
Endereço IP onde a solicitação foi originada |
|
|
string |
Origem da solicitação |
|
|
string |
ID da sessão de onde veio a solicitação |
|
|
string |
Identidade do usuário que está iniciando a solicitação |
|
|
string |
Nome do serviço que está iniciando a solicitação |
|
|
string |
Categoria do evento capturado na auditoria log |
|
|
string |
ID da solicitação |
|
|
map |
Mapa de valores key contendo todos os parâmetros da solicitação. Depende do tipo de solicitação |
|
|
struct |
Estrutura dos valores de retorno da resposta |
|
|
string |
workspace ou account evento de nível |
|
|
string |
ID do account |
|
|
string |
ID do evento |
|
Consultas de amostra
As seções a seguir incluem exemplos de consultas que podem ser usadas para obter percepções sobre a tabela do sistema de auditoria logs. Para que essas consultas funcionem, substitua os valores entre colchetes {{}}
pelos seus parâmetros.
Observação
Alguns exemplos incluem eventos de auditoria detalhada log, que não são habilitados pelo default. Para ativar o registro de auditoria detalhada em um workspace, consulte Ativar auditoria detalhada logs.
Este artigo inclui os seguintes exemplos de consultas:
Quem pode acessar essa tabela?
Essa consulta usa o information_schema
para determinar quais usuários têm permissões em uma tabela.
SELECT DISTINCT(grantee) AS `ACCESSIBLE BY`
FROM system.information_schema.table_privileges
WHERE table_schema = '{{schema_name}}' AND table_name = '{{table_name}}'
UNION
SELECT table_owner
FROM system.information_schema.tables
WHERE table_schema = '{{schema_name}}' AND table_name = '{{table}}'
UNION
SELECT DISTINCT(grantee)
FROM system.information_schema.schema_privileges
WHERE schema_name = '{{schema_name}}'
Quais usuários acessaram uma tabela no último dia?
Observação
Os nomes completos não são capturados no site log para operações DML. Inclua o esquema e o nome simples para capturar tudo.
SELECT
user_identity.email as `User`,
IFNULL(request_params.full_name_arg,
request_params.name)
AS `Table`,
action_name AS `Type of Access`,
event_time AS `Time of Access`
FROM system.access.audit
WHERE (request_params.full_name_arg = '{{catalog.schema.table}}'
OR (request_params.name = '{{table_name}}'
AND request_params.schema_name = '{{schema_name}}'))
AND action_name
IN ('createTable','getTable','deleteTable')
AND event_date > now() - interval '1 day'
ORDER BY event_date DESC
Quais tabelas um usuário acessou?
Observação
Para filtrar por intervalo de datas, descomente a cláusula de data na parte inferior da consulta.
SELECT
action_name as `EVENT`,
event_time as `WHEN`,
IFNULL(request_params.full_name_arg, 'Non-specific') AS `TABLE ACCESSED`,
IFNULL(request_params.commandText,'GET table') AS `QUERY TEXT`
FROM system.access.audit
WHERE user_identity.email = '{{User}}'
AND action_name IN ('createTable',
'commandSubmit','getTable','deleteTable')
-- AND datediff(now(), event_date) < 1
-- ORDER BY event_date DESC
Exemplo de resultado
|
|
|
|
---|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Exibir alterações de permissões para todos os objetos protegidos
Essa consulta retornará um evento para cada alteração de permissão que tenha ocorrido em seu site account. A consulta retornará o usuário que fez a alteração, o tipo e o nome do objeto seguro e as alterações específicas que foram feitas.
SELECT event_time, user_identity.email, request_params.securable_type, request_params.securable_full_name, request_params.changes
FROM system.access.audit
WHERE service_name = 'unityCatalog'
AND action_name = 'updatePermissions'
ORDER BY 1 DESC
view a execução mais recente Notebook comando
Essa consulta retorna o comando do Notebook executado mais recentemente e o usuário que executou o comando.
Observação
A ação runCommand
só é emitida quando a auditoria detalhada logs está ativada. Para ativar os logs de auditoria detalhados, consulte Ativar logs de auditoria detalhados.
SELECT event_time, user_identity.email, request_params.commandText
FROM system.access.audit
WHERE action_name = `runCommand`
ORDER BY event_time DESC
LIMIT 100
Quais usuários têm logins em um aplicativo Databricks?
Essa consulta retorna um evento para cada login em uma instância do aplicativo Databricks.
SELECT
event_date,
workspace_id,
request_params.request_object_id as app,
user_identity.email as user_email,
user_identity.subject_name as username
FROM
system.access.audit
WHERE
action_name IN ("workspaceInHouseOAuthClientAuthentication", "mintOAuthToken", "mintOAuthAuthorizationCode")
AND
request_params["client_id"] LIKE "{{application-ID}}"
GROUP BY
event_date,
workspace_id,
app,
user_email,
username
Substitua {{application-ID}}
pelo valor de ID do aplicativo para a entidade de serviço atribuída a um aplicativo específico da Databricks. Esse valor pode ser encontrado nas configurações de administração do site Databricks workspace que hospeda o aplicativo.