Tabellreferens för granskningsloggsystem
Viktigt!
Den här funktionen finns som allmänt tillgänglig förhandsversion.
Den här artikeln beskriver schemat för granskningsloggtabellen och innehåller exempelfrågor som du kan använda med systemtabellen för granskningsloggar för att besvara vanliga frågor om kontoanvändning. Information om granskningslogghändelser finns i Referens för diagnostiklogg.
Systemtabellen för granskningsloggar finns på system.access.audit
.
Överväganden för granskningsloggar
- De flesta granskningsloggar är endast tillgängliga i arbetsytans region.
- Endast loggar på kontonivå i Unity Catalog är tillgängliga i alla regioner.
- Granskningsloggar på kontonivå registreras
workspace_id
som0
.
Tabellschema för granskningsloggsystem
Systemtabellen för granskningsloggar använder följande schema:
Kolumnnamn | Datatyp | beskrivning | Exempel |
---|---|---|---|
version |
sträng | Schemaversion för granskningslogg | 2.0 |
event_time |
timestamp | Tidsstämpel | 2023-01-01T01:01:01.123 |
event_date |
datum | Kalenderdatum då åtgärden ägde rum | 2023-01-01 |
workspace_id |
lång | ID för arbetsytan | 1234567890123456 |
source_ip_address |
sträng | IP-adress där begäran har sitt ursprung | 10.30.0.242 |
user_agent |
sträng | Origination av begäran | Apache-HttpClient/4.5.13 (Java/1.8.0_345) |
session_id |
sträng | ID för sessionen där begäran kom från | 123456789 |
user_identity |
sträng | Identitet för användaren som initierar begäran | {"email": "user@domain.com", "subjectName": null} |
service_name |
sträng | Tjänstnamn som initierar begäran | unityCatalog |
action_name |
sträng | Kategori för händelsen som registrerats i granskningsloggen | getTable |
request_id |
sträng | ID för begäran | ServiceMain-4529754264 |
request_params |
map | Karta över nyckelvärden som innehåller alla parametrar för begäran. Beror på typ av begäran | [["full_name_arg", "user.chat.messages"], ["workspace_id", "123456789"], ["metastore_id", "123456789"]] |
response |
Struct | Struct för svarsreturvärden | {"statusCode": 200, "errorMessage": null, "result": null} |
audit_level |
sträng | Händelse på arbetsyta eller kontonivå | ACCOUNT_LEVEL |
account_id |
sträng | ID för kontot | 23e22ba4-87b9-4cc2-9770-d10b894bxx |
event_id |
sträng | ID för händelsen | 34ac703c772f3549dcc8671f654950f0 |
Exempelfrågor
Följande avsnitt innehåller exempelfrågor som du kan använda för att få insikter i systemtabellen för granskningsloggar. För att dessa frågor ska fungera ersätter du värdena inom klammerparenteser {{}}
med dina egna parametrar.
Kommentar
Några av dessa exempel är utförliga granskningslogghändelser som inte är aktiverade som standard. Information om hur du aktiverar utförliga granskningsloggar på en arbetsyta finns i Aktivera utförliga granskningsloggar.
Den här artikeln innehåller följande exempelfrågor:
- Vem kan komma åt den här tabellen?
- Vilka användare har använt en tabell under den senaste dagen?
- Vilka tabeller har en användare åtkomst till?
- Visa alla behörighetsändringar
- Visa de senast kör notebook-kommandona
Vem kan komma åt den här tabellen?
Den här frågan använder information_schema
för att ta reda på vilka användare som har behörighet för en tabell.
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}}'
Vilka användare har använt en tabell under den senaste dagen?
Kommentar
Fullständiga namn registreras inte i loggen för DML-åtgärder. Inkludera schemat och det enkla namnet för att samla in alla.
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
Vilka tabeller har en användare åtkomst till?
Kommentar
Om du vill filtrera efter datumintervall avkommenteras datumsatsen längst ned i frågan.
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
Exempelresultat
EVENT |
WHEN |
TABLE ACCESSED |
QUERY TEXT |
---|---|---|---|
getTable |
2023-05-31 |
system.access.audit |
GET table |
getTable |
2023-05-31 |
system.access.table_lineage |
GET table |
commandSubmit |
2023-05-31 |
Non-specific |
show functions; |
commandSubmit |
2023-05-31 |
Non-specific |
SELECT request_params FROM system.access.audit WHERE service_name = "notebook" AND action_name = "moveFolder" LIMIT 5 |
Visa behörighetsändringar för alla skyddsbara objekt
Den här frågan returnerar en händelse för varje behörighetsändring som har inträffat i ditt konto. Frågan returnerar den användare som gjorde ändringen, den skyddsbara objekttypen och namnet samt de specifika ändringar som gjordes.
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
Visa de senast kör notebook-kommandona
Den här frågan returnerar de senast körda notebook-kommandona tillsammans med användaren som körde kommandot.
Kommentar
Åtgärden runCommand
genereras endast när utförliga granskningsloggar är aktiverade. Information om hur du aktiverar utförliga granskningsloggar finns i Aktivera utförliga granskningsloggar.
SELECT event_time, user_identity.email, request_params.commandText
FROM system.access.audit
WHERE action_name = `runCommand`
ORDER BY event_time DESC
LIMIT 100
Feedback
https://aka.ms/ContentUserFeedback.
Kommer snart: Under hela 2024 kommer vi att fasa ut GitHub-problem som feedbackmekanism för innehåll och ersätta det med ett nytt feedbacksystem. Mer information finns i:Skicka och visa feedback för