تنسيق سجل تدقيق قاعدة بيانات SQL
ينطبق على: Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics
تدقيق Azure SQL Database يتتبع أحداث قاعدة البيانات ويكتبها في سجل تدقيق في حساب تخزين Azure الخاص بك، أو يرسلها إلى Event Hub أو Log Analytics للمعالجة النهائية والتحليل.
تقاليد التسمية
تدقيق النقطة
يتم تخزين سجلات التدقيق المخزنة في تخزين Azure Blob في حاوية باسم sqldbauditlogs
في حساب تخزين Azure. شكل التسلسل الهرمي للدليل داخل الحاوية <ServerName>/<DatabaseName>/<AuditName>/<Date>/
. تنسيق اسم ملف Blob هو <CreationTime>_<FileNumberInSession>.xel
، حيث يكون CreationTime
بتنسيق UTC hh_mm_ss_ms
وFileNumberInSession
هو فهرس قيد التشغيل في حالة امتداد سجلات الجلسة عبر ملفات Blob متعددة.
على سبيل المثال، بالنسبة لقاعدة البيانات Database1
الموجودة على Server1
، يعد ما يلي مساراً صالحاً محتملاً:
Server1/Database1/SqlDbAuditing_ServerAudit_NoRetention/2019-02-03/12_23_30_794_0.xel
يتم تخزين سجلات تدقيقالنسخ المتماثلة للقراءة فقط في نفس الحاوية. شكل التسلسل الهرمي للدليل داخل الحاوية <ServerName>/<DatabaseName>/<AuditName>/<Date>/RO/
. يشترك اسم ملف Blob في نفس التنسيق. يتم تخزين سجلات تدوين النسخ المتماثلة للقراءة فقط في نفس الحاوية.
Event Hub
تتم كتابة أحداث التدقيق في مساحة الاسم ومركز الأحداث اللذين تم تحديدهما أثناء تكوين التدقيق، ويتم التقاطها في نص أحداث Apache Avro وتخزينها باستخدام تنسيق JSON مع ترميز UTF-8. لقراءة سجلات التدقيق، يمكنك استخدام Avro Tools أو أدوات مشابهة تعالج هذا التنسيق.
Log Analytics
تتم كتابة أحداث التدقيق في مساحة عمل Log Analytics المحددة أثناء تكوين التدقيق، إلى AzureDiagnostics
الجدول مع الفئة SQLSecurityAuditEvents
. للحصول على معلومات إضافية مفيدة حول لغة وأوامر البحث في Log Analytics، راجع مرجع بحث Log Analytics.
تدقيق الحقول
الاسم (كائن ثنائي كبير الحجم) | الاسم (مراكز الأحداث/تحليلات السجل) | الوصف | نوع الكائن الثنائي كبير الحجم | نوع مراكز الأحداث/تحليلات السجل |
---|---|---|---|---|
action_id | action_id_s | معرّف الإجراء | varchar(4) | سلسلة |
action_name | action_name_s | اسم العمل | غير متوفر | سلسلة |
additional_information | additional_information_s | أي معلومات إضافية حول الحدث، مخزنة بتنسيق XML | nvarchar(4000) | سلسلة |
affected_rows | affected_rows_d | عدد الصفوف المتأثرة بالاستعلام | عدد صحيح كبير | Int |
application_name | application_name_s | اسم تطبيق العميل | nvarchar(128) | سلسلة |
audit_schema_version | audit_schema_version_d | دائماً 1 | Int | Int |
class_type | class_type_s | نوع الكيان الخاضع للتدقيق الذي تتم فيه المراجعة | varchar(2) | سلسلة |
class_type_desc | class_type_description_s | وصف الكيان الخاضع للتدقيق الذي تتم فيه المراجعة | غير متوفر | سلسلة |
client_ip | client_ip_s | IP المصدر لتطبيق العميل | nvarchar(128) | سلسلة |
connection_id | غير متوفر | معرف الاتصال في الخادم | GUID | غير متوفر |
data_sensitivity_information | data_sensitivity_information_s | أنواع المعلومات وعلامات الحساسية التي يتم إرجاعها بواسطة الاستعلام المدقق، بناءً على الأعمدة المصنفة في قاعدة البيانات. تعرف على المزيد حول اكتشاف بيانات Azure SQL Database وتصنيفها | nvarchar(4000) | سلسلة |
database_name | database_name_s | سياق قاعدة البيانات الذي حدث فيه الإجراء | sysname | سلسلة |
database_principal_id | database_principal_id_d | معرّف سياق مستخدم قاعدة البيانات الذي يتم تنفيذ الإجراء فيه | Int | Int |
database_principal_name | database_principal_name_s | اسم سياق مستخدم قاعدة البيانات الذي يتم تنفيذ الإجراء فيه | sysname | سلسلة |
duration_milliseconds | duration_milliseconds_d | مدة تنفيذ الاستعلام بالمللي ثانية | عدد صحيح كبير | Int |
event_time | event_time_t | تاريخ ووقت إطلاق الإجراء القابل للتدقيق | datetime2 | التاريخ والوقت |
host_name | غير متوفر | اسم مضيف العميل | سلسلة | غير متوفر |
is_column_permission | is_column_permission_s | علامة تشير إلى ما إذا كان هذا إذناً على مستوى العمود. 1 = true, 0 = false | بت | سلسلة |
غير متوفر | is_server_level_audit_s | علامة تشير إلى ما إذا كان هذا التدقيق على مستوى الخادم | غير متوفر | سلسلة |
object_ id | object_id_d | معرّف الكيان الذي حدثت فيه عملية التدقيق. يتضمن ذلك: كائنات الخادم وقواعد البيانات وكائنات قاعدة البيانات وكائنات المخطط. 0 إذا كان الكيان هو الخادم نفسه أو إذا لم يتم إجراء التدقيق على مستوى الكائن | Int | Int |
object_name | object_name_s | اسم الكيان الذي تم إجراء التدقيق عليه. يتضمن ذلك: كائنات الخادم وقواعد البيانات وكائنات قاعدة البيانات وكائنات المخطط. 0 إذا كان الكيان هو الخادم نفسه أو إذا لم يتم إجراء التدقيق على مستوى الكائن | sysname | سلسلة |
permission_bitmask | permission_bitmask_s | عند الاقتضاء، يعرض الأذونات التي تم منحها أو رفضها أو إلغاؤها | varbinary(16) | سلسلة |
response_rows | response_rows_d | عدد الصفوف التي تم إرجاعها في مجموعة النتائج | عدد صحيح كبير | Int |
schema_name | schema_name_s | سياق المخطط الذي حدث فيه الإجراء. NULL لعمليات التدقيق التي تحدث خارج المخطط | sysname | سلسلة |
غير متوفر | نوع_نوع_ قابل للتأمين | كائن قابل للتأمين يعيّن فئة class_type التي يتم تدقيقها | غير متوفر | سلسلة |
sequence_group_id | sequence_group_id_g | معرف فريد | varbinary | GUID |
sequence_number | sequence_number_d | يتتبع تسلسل السجلات داخل سجل تدقيق واحد كان كبيراً جدّاً بحيث لا يمكن احتواؤه في مخزن الكتابة المؤقت لعمليات التدقيق | Int | Int |
server_instance_name | server_instance_name_s | اسم مثيل الخادم حيث تم إجراء التدقيق | sysname | سلسلة |
server_principal_id | server_principal_id_d | معرّف سياق تسجيل الدخول الذي يتم تنفيذ الإجراء فيه | Int | Int |
server_principal_name | server_principal_name_s | تسجيل الدخول الحالي | sysname | سلسلة |
server_principal_sid | server_principal_sid_s | تسجيل الدخول الحالي SID | varbinary | سلسلة |
session_id | session_id_d | معرّف الجلسة التي وقع فيها الحدث | Smallint | Int |
session_server_principal_name | session_server_principal_name_s | أساس الخادم للجلسة | sysname | سلسلة |
بيان | statement_s | جملة T-SQL التي تم تنفيذها (إن وجدت) | nvarchar(4000) | سلسلة |
نجح | succeeded_s | يشير إلى ما إذا كان الإجراء الذي أدى إلى تشغيل الحدث قد نجح. بالنسبة للأحداث بخلاف تسجيل الدخول والدُفعة، يُعلم هذا فقط ما إذا كان التحقق من الإذن قد نجح أو فشل، وليس العملية. 1 = success, 0 = fail | بت | سلسلة |
target_database_principal_id | target_database_principal_id_d | أساس قاعدة البيانات يتم تنفيذ عملية GRANT/DENY/REVOKE على. 0 إذا لم يكن قابلاً للتطبيق | int | Int |
target_database_principal_name | target_database_principal_name_s | المستخدم المستهدف للعمل. NULL إذا لم يكن قابلاً للتطبيق | سلسلة | سلسلة |
target_server_principal_id | target_server_principal_id_d | أساس الخادم الذي يتم تنفيذ عملية GRANT/DENY/REVOKE عليه. إرجاع 0 إذا لم يكن قابلاً للتطبيق | Int | Int |
target_server_principal_name | target_server_principal_name_s | الهدف تسجيل الدخول للعمل. NULL إذا لم يكن قابلاً للتطبيق | sysname | سلسلة |
target_server_principal_sid | target_server_principal_sid_s | SID لتسجيل الدخول الهدف. NULL إذا لم يكن قابلاً للتطبيق | varbinary | سلسلة |
transaction_id | transaction_id_d | SQL Server فقط (بدءاً من 2016) - 0 لـ Azure SQL Database | عدد صحيح كبير | Int |
user_defined_event_id | user_defined_event_id_d | تم تمرير معرف الحدث المحدد من قِبل المستخدم كوسيطة لـ sp_audit_write. NULL لأحداث النظام (افتراضي) وغير الصفر للحدث المعرّف من قِبل المستخدم. لمزيد من المعلومات، راجع sp_audit_write (Transact-SQL) | Smallint | Int |
user_defined_information | user_defined_information_s | تم تمرير المعلومات التي يحددها المستخدم كوسيطة لـ sp_audit_write. NULL لأحداث النظام (افتراضي) وغير الصفر للحدث المعرّف من قِبل المستخدم. لمزيد من المعلومات، راجع sp_audit_write (Transact-SQL) | nvarchar(4000) | سلسلة |
الخطوات التالية
تعرف على المزيد حول تدقيق Azure SQL Database.