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ą SQLSecurityAuditEvents
DevOpsOperationsAudit
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.