Udostępnij za pośrednictwem


Format dziennika inspekcji usługi SQL Database

Dotyczy: Azure SQL Database Azure SQL Managed InstanceAzure Synapse Analytics

Inspekcja usługi Azure SQL Database śledzi zdarzenia bazy danych i zapisuje je w dzienniku inspekcji na koncie usługi Azure Storage lub wysyła je do centrum zdarzeń lub usługi Log Analytics na potrzeby przetwarzania i analizy podrzędnej.

Konwencje nazewnictwa

Inspekcja obiektów blob

Dzienniki inspekcji przechowywane w usłudze Azure Blob Storage są przechowywane w kontenerze o nazwie sqldbauditlogs na koncie usługi Azure Storage. Hierarchia katalogów w kontenerze ma postać <ServerName>/<DatabaseName>/<AuditName>/<Date>/. Format nazwy pliku obiektu blob to <CreationTime>_<FileNumberInSession>.xel, gdzie CreationTime ma format UTC hh_mm_ss_ms i FileNumberInSession jest uruchomionym indeksem w przypadku, gdy dzienniki sesji obejmują wiele plików obiektów blob.

Na przykład w przypadku bazy danych Database1 w Server1 następującej ścieżce jest możliwa prawidłowa ścieżka:

Server1/Database1/SqlDbAuditing_ServerAudit_NoRetention/2019-02-03/12_23_30_794_0.xel

Dzienniki inspekcji replik tylko do odczytu są przechowywane w tym samym kontenerze. Hierarchia katalogów w kontenerze ma postać <ServerName>/<DatabaseName>/<AuditName>/<Date>/RO/. Nazwa pliku obiektu blob ma ten sam format. Dzienniki inspekcji replik tylko do odczytu są przechowywane w tym samym kontenerze.

Centrum zdarzeń usługi Event Hubs

Zdarzenia inspekcji są zapisywane w przestrzeni nazw i centrum zdarzeń, które zostało zdefiniowane podczas konfiguracji inspekcji i są przechwytywane w treści zdarzeń Apache Avro i przechowywane przy użyciu formatowania JSON i kodowania UTF-8. Aby odczytać dzienniki inspekcji, można użyć narzędzi Avro lub podobnych narzędzi, które przetwarzają ten format.

Log Analytics

Zdarzenia inspekcji są zapisywane w obszarze roboczym usługi Log Analytics zdefiniowanym podczas konfigurowania inspekcji, do AzureDiagnostics tabeli z kategorią i tabelą z kategorią SQLSecurityAuditEventsDevOpsOperationsAudit pomoc techniczna firmy Microsoft Operations. Aby uzyskać dodatkowe przydatne informacje na temat języka i poleceń wyszukiwania usługi Log Analytics, zobacz Informacje o wyszukiwaniu w usłudze Log Analytics.

Pola dziennika inspekcji

Nazwa (obiekt blob) Nazwa (Event Hubs/Log Analytics) opis Typ obiektów blob Typ usługi Event Hubs/Log Analytics
action_id action_id_s Identyfikator akcji varchar(4) string
action_name action_name_s Nazwa akcji Nie dotyczy string
additional_information additional_information_s Wszelkie dodatkowe informacje o zdarzeniu przechowywane jako XML nvarchar(4000) string
affected_rows affected_rows_d Liczba wierszy, których dotyczy zapytanie bigint int
application_name application_name_s Nazwa aplikacji klienckiej nvarchar(128) string
audit_schema_version audit_schema_version_d Zawsze 1 int int
class_type class_type_s Typ jednostki inspekcji wykonywanej przez inspekcję varchar(2) string
class_type_desc class_type_description_s Opis jednostki z możliwością inspekcji wykonywanej przez inspekcję Nie dotyczy string
client_ip client_ip_s Źródłowy adres IP aplikacji klienckiej nvarchar(128) string
connection_id Nie dotyczy Identyfikator połączenia na serwerze Identyfikator GUID Nie dotyczy
data_sensitivity_information data_sensitivity_information_s Typy informacji i etykiety poufności zwracane przez zapytanie poddane inspekcji na podstawie kolumn sklasyfikowanych w bazie danych. Dowiedz się więcej na temat odnajdywania i klasyfikacji danych usługi Azure SQL Database nvarchar(4000) string
database_name database_name_s Kontekst bazy danych, w którym wystąpiła akcja sysname string
database_principal_id database_principal_id_d Identyfikator kontekstu użytkownika bazy danych, w ramach którego wykonywana jest akcja int int
database_principal_name database_principal_name_s Nazwa kontekstu użytkownika bazy danych, w którym wykonywana jest akcja sysname string
duration_milliseconds duration_milliseconds_d Czas trwania wykonywania zapytania w milisekundach bigint int
event_time event_time_t Data i godzina uruchomienia akcji z możliwością inspekcji datetime2 datetime
host_name Nie dotyczy Nazwa hosta klienta string Nie dotyczy
is_column_permission is_column_permission_s Flaga wskazująca, czy jest to uprawnienie na poziomie kolumny. 1 = prawda, 0 = fałsz bitowe string
Nie dotyczy is_server_level_audit_s Flaga wskazująca, czy ta inspekcja jest na poziomie serwera Nie dotyczy string
identyfikator object_ object_id_d Identyfikator jednostki, na której wystąpiła inspekcja. Obejmuje to obiekty serwera, bazy danych, obiekty bazy danych i obiekty schematu. 0, jeśli jednostka jest samym serwerem lub jeśli inspekcja nie jest wykonywana na poziomie obiektu int int
object_name object_name_s Nazwa jednostki, na której wystąpiła inspekcja. Obejmuje to obiekty serwera, bazy danych, obiekty bazy danych i obiekty schematu. 0, jeśli jednostka jest samym serwerem lub jeśli inspekcja nie jest wykonywana na poziomie obiektu sysname string
obo_middle_tier_app_id obo_middle_tier_app_id_s Identyfikator aplikacji warstwy środkowej, która połączyła się z usługą SQL Database przy użyciu dostępu OBO. varchar(120) string
permission_bitmask permission_bitmask_s Jeśli ma to zastosowanie, pokazuje uprawnienia, które zostały przyznane, odrzucone lub odwołane varbinary(16) string
response_rows response_rows_d Liczba wierszy zwróconych w zestawie wyników bigint int
schema_name schema_name_s Kontekst schematu, w którym wystąpiła akcja. Wartość NULL dla inspekcji występujących poza schematem sysname string
Nie dotyczy securable_class_type_s Zabezpieczany obiekt, który mapuje class_type inspekcji Nie dotyczy string
sequence_group_id sequence_group_id_g Unikatowy identyfikator varbinary Identyfikator GUID
sequence_number sequence_number_d Śledzi sekwencję rekordów w ramach pojedynczego rekordu inspekcji, który był zbyt duży, aby zmieścić się w buforze zapisu na potrzeby inspekcji. Należy pamiętać, że usługi Azure SQL Database i Azure Synapse Audit przechowują 4000 znaków danych dla pól znaków w rekordzie inspekcji. Jeśli istnieje więcej niż 4000 znaków, wszystkie dane przekraczające pierwsze 4000 znaków zostaną obcięte int int
server_instance_name server_instance_name_s Nazwa wystąpienia serwera, w którym wystąpiła inspekcja sysname string
server_principal_id server_principal_id_d Identyfikator kontekstu logowania, w którym wykonywana jest akcja int int
server_principal_name server_principal_name_s Bieżące logowanie sysname string
server_principal_sid server_principal_sid_s Bieżący identyfikator SID logowania varbinary string
session_id session_id_d Identyfikator sesji, w której wystąpiło zdarzenie smallint int
session_server_principal_name session_server_principal_name_s Jednostka serwera dla sesji sysname string
instrukcja statement_s Instrukcja T-SQL, która została wykonana (jeśli istnieje) nvarchar(4000) string
Zakończyła się pomyślnie succeeded_s Wskazuje, czy akcja, która wyzwoliła zdarzenie powiodło się. W przypadku zdarzeń innych niż identyfikator logowania i partia tylko zgłasza, czy sprawdzanie uprawnień zakończyło się powodzeniem, czy niepowodzeniem, a nie operacją. 1 = powodzenie, 0 = niepowodzenie bitowe string
target_database_principal_id target_database_principal_id_d Podmiot zabezpieczeń bazy danych wykonuje operację GRANT/DENY/REVOKE. 0, jeśli nie ma zastosowania int int
target_database_principal_name target_database_principal_name_s Docelowy użytkownik akcji. Wartość NULL, jeśli nie ma zastosowania string string
target_server_principal_id target_server_principal_id_d Podmiot zabezpieczeń serwera, na podstawie którego jest wykonywana operacja GRANT/DENY/REVOKE. Zwraca wartość 0, jeśli nie ma zastosowania int int
target_server_principal_name target_server_principal_name_s Docelowy identyfikator logowania akcji. Wartość NULL, jeśli nie ma zastosowania sysname string
target_server_principal_sid target_server_principal_sid_s Identyfikator SID identyfikatora logowania docelowego. Wartość NULL, jeśli nie ma zastosowania varbinary string
transaction_id transaction_id_d Tylko program SQL Server (począwszy od wersji 2016) — 0 dla usługi Azure SQL Database bigint int
user_defined_event_id user_defined_event_id_d Identyfikator zdarzenia zdefiniowanego przez użytkownika został przekazany jako argument do sp_audit_write. Wartość NULL dla zdarzeń systemowych (wartość domyślna) i niezerowa dla zdarzenia zdefiniowanego przez użytkownika. Aby uzyskać więcej informacji, zobacz sp_audit_write (Transact-SQL) smallint int
user_defined_information user_defined_information_s Informacje zdefiniowane przez użytkownika przekazywane jako argument do sp_audit_write. Wartość NULL dla zdarzeń systemowych (wartość domyślna) i niezerowa dla zdarzenia zdefiniowanego przez użytkownika. Aby uzyskać więcej informacji, zobacz sp_audit_write (Transact-SQL) nvarchar(4000) string

Następne kroki

Dowiedz się więcej o inspekcji usługi Azure SQL Database.