Referência da tabela do sistema logs de auditoria
Visualização
Este recurso está em visualização pública.
Este artigo descreve o esquema da tabela logs de auditoria e fornece query de amostra que você pode usar com a tabela do sistema logs de auditoria para responder a perguntas comuns sobre o uso account . Para obter informações sobre eventos de log de auditoria, consulte Referência de log de auditoria.
A tabela do sistema logs de auditoria está localizada em system.access.audit
.
Considerações sobre logs de auditoria
A maioria dos logs de auditoria 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.
logsde auditoria no nível account registram
workspace_id
como0
.
Esquema da tabela do sistema logs de auditoria
A tabela do sistema logs de auditoria usa o seguinte esquema:
Nome da coluna |
Tipo de dados |
Descrição |
Exemplo |
---|---|---|---|
|
String |
Versão do esquema logs de auditoria |
|
|
Timestamp |
Timestamp |
|
|
data |
Data do calendário em que a ação ocorreu |
|
|
Long |
ID do workspace |
|
|
String |
Endereço IP de origem da solicitação |
|
|
String |
Origem do pedido |
|
|
String |
ID da sessão de onde veio a requisição |
|
|
String |
Identidade do usuário que iniciou a solicitação |
|
|
String |
Solicitação de início de nome de serviço |
|
|
String |
Categoria do evento capturado nos logsde auditoria |
|
|
String |
ID do pedido |
|
|
mapa |
Mapa de valores- key contendo todos os parâmetros da solicitação. Depende do tipo de pedido |
|
|
estrutura |
Estrutura dos valores de retorno da resposta |
|
|
String |
workspace ou evento no nível account |
|
|
String |
ID da 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 da tabela do sistema de logs de auditoria. Para que essas consultas funcionem, substitua os valores entre colchetes {{}}
por seus próprios parâmetros.
Observação
Alguns desses exemplos incluem eventos de logs de auditoria detalhados, que não são ativados pelo site default. Para ativar o registro de auditoria detalhado em um workspace, consulte Ativar registros de auditoria detalhados.
Este artigo inclui o seguinte exemplo query:
Quem acessou esta tabela?
Esta query usa o information_schema
.
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 mesa no último dia?
Observação
Os nomes completos não são capturados nos logs 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, remova o comentário da cláusula de data na parte inferior da query.
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 protegíveis
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
Veja os comandos mais recentes Notebook executados
Esta query retorna os comandos Notebook de execução mais recentes junto com 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