مرجع جدول نظام سجل التدقيق
توضح هذه المقالة مخطط جدول سجل التدقيق وتوفر لك نماذج من الاستعلامات التي يمكنك استخدامها مع جدول نظام سجل التدقيق للإجابة عن أسئلة استخدام الحساب الشائعة. للحصول على معلومات حول أحداث سجل التدقيق، راجع مرجع سجل التشخيص.
يوجد جدول نظام سجل التدقيق في system.access.audit
.
اعتبارات سجل التدقيق
- تتوفر معظم سجلات التدقيق فقط في منطقة مساحة العمل.
- تتوفر السجلات على مستوى حساب كتالوج Unity فقط في جميع المناطق.
- سجل
workspace_id
سجلات التدقيق على مستوى الحساب ك0
.
مخطط جدول نظام سجل التدقيق
يستخدم جدول نظام سجل التدقيق المخطط التالي:
اسم العمود | نوع البيانات | الوصف | مثال |
---|---|---|---|
version |
سلسلة | إصدار مخطط سجل التدقيق | 2.0 |
event_time |
الطابع الزمني | الطابع الزمني | 2023-01-01T01:01:01.123 |
event_date |
date | تاريخ إجراء التقويم | 2023-01-01 |
workspace_id |
طويل | معرف مساحة العمل | 1234567890123456 |
source_ip_address |
سلسلة | عنوان IP حيث نشأ الطلب | 10.30.0.242 |
user_agent |
سلسلة | أصل الطلب | Apache-HttpClient/4.5.13 (Java/1.8.0_345) |
session_id |
سلسلة | معرف الجلسة التي جاء منها الطلب | 123456789 |
user_identity |
سلسلة | هوية طلب بدء المستخدم | {"email": "user@domain.com", "subjectName": null} |
service_name |
سلسلة | طلب بدء اسم الخدمة | unityCatalog |
action_name |
سلسلة | فئة الحدث الذي تم التقاطه في سجل التدقيق | getTable |
request_id |
سلسلة | معرف الطلب | ServiceMain-4529754264 |
request_params |
map | خريطة للقيم الرئيسية التي تحتوي على جميع معلمات الطلب. يعتمد على نوع الطلب | [["full_name_arg", "user.chat.messages"], ["workspace_id", "123456789"], ["metastore_id", "123456789"]] |
response |
بنية | بنية قيم إرجاع الاستجابة | {"statusCode": 200, "errorMessage": null, "result": null} |
audit_level |
سلسلة | مساحة العمل أو حدث مستوى الحساب | ACCOUNT_LEVEL |
account_id |
سلسلة | معرف الحساب | 23e22ba4-87b9-4cc2-9770-d10b894bxx |
event_id |
سلسلة | معرف الحدث | 34ac703c772f3549dcc8671f654950f0 |
نماذج الاستعلامات
تتضمن الأقسام التالية نماذج استعلامات يمكنك استخدامها للحصول على رؤى حول جدول نظام سجلات التدقيق. لكي تعمل هذه الاستعلامات، استبدل القيم الموجودة ضمن أقواس متعرجة {{}}
بالمعلمات الخاصة بك.
إشعار
تتضمن بعض هذه الأمثلة أحداث سجل التدقيق المطولة، والتي لا يتم تمكينها بشكل افتراضي. لتمكين سجلات التدقيق المطولة في مساحة عمل، راجع تمكين سجلات التدقيق المطولة.
تتضمن هذه المقالة أمثلة الاستعلامات التالية:
- هل يمكن روبوت Who الوصول إلى هذا الجدول؟
- ما المستخدمون الذين وصولوا إلى جدول خلال اليوم الأخير؟
- ما الجداول التي قام المستخدم بالوصول إليها؟
- عرض كافة تغييرات الأذونات
- عرض أوامر دفتر الملاحظات التي تم تشغيلها مؤخرا
هل يمكن روبوت Who الوصول إلى هذا الجدول؟
يستخدم 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}}'
ما المستخدمون الذين وصولوا إلى جدول خلال اليوم الأخير؟
إشعار
لا يتم التقاط الأسماء الكاملة في السجل لعمليات DML. قم بتضمين المخطط والاسم البسيط لالتقاط الكل.
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
ما الجداول التي قام المستخدم بالوصول إليها؟
إشعار
للتصفية حسب نطاق التاريخ، قم بإلغاء التعليق على عبارة التاريخ في أسفل الاستعلام.
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
نتيجة المثال
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 |
عرض تغييرات الأذونات لجميع الكائنات القابلة للتأمين
سيقوم هذا الاستعلام بإرجاع حدث لكل تغيير في الأذونات حدث في حسابك. سيقوم الاستعلام بإرجاع المستخدم الذي أجرى التغيير ونوع العنصر القابل للتأمين واسمه والتغييرات المحددة التي تم إجراؤها.
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
عرض أوامر دفتر الملاحظات التي تم تشغيلها مؤخرا
يقوم هذا الاستعلام بإرجاع أوامر دفتر الملاحظات التي تم تشغيلها مؤخرا مع المستخدم الذي قام بتشغيل الأمر.
إشعار
runCommand
يتم إصدار الإجراء فقط عند تمكين سجلات التدقيق المطولة. لتمكين سجلات التدقيق المطولة، راجع تمكين سجلات التدقيق المطولة.
SELECT event_time, user_identity.email, request_params.commandText
FROM system.access.audit
WHERE action_name = `runCommand`
ORDER BY event_time DESC
LIMIT 100
الملاحظات
https://aka.ms/ContentUserFeedback.
قريبًا: خلال عام 2024، سنتخلص تدريجيًا من GitHub Issues بوصفها آلية إرسال ملاحظات للمحتوى ونستبدلها بنظام ملاحظات جديد. لمزيد من المعلومات، راجعإرسال الملاحظات وعرضها المتعلقة بـ