يصف هذا المستند تسجيل التدقيق لقاعدة بيانات Firebase في الوقت الفعلي، بما في ذلك طرق إنشاء سجلات تدقيق وتفاصيل حول سجلات التدقيق التي تنتجها كل طريقة ومعرفة الطرق التي لا تنتج سجلات التدقيق، إن وجدت. تُنشئ Google Cloud سجلات التدقيق التي تسجل الأنشطة الإدارية وأنشطة الوصول ضمن موارد Google Cloud. لمزيد من المعلومات، يُرجى مراجعة نظرة عامة على سجلات تدقيق Cloud
ملاحظات
يمكنك الاطّلاع على معلومات إضافية عن الحقول في "protoPayload.metadata
" للعمليات DATA_READ
وDATA_WRITE
العمليات في المستندات المرجعية.
اسم الخدمة
تستخدم سجلات تدقيق قاعدة بيانات Firebase في الوقت الفعلي اسم الخدمة firebasedatabase.googleapis.com
.
الطرق حسب نوع الإذن
الطرق التي تتحقق من DATA_READ
وDATA_WRITE
و
تنشئ أذونات ADMIN_READ
سجلات مصنّفة كـ
سجلات تدقيق الوصول إلى البيانات.
تنشئ طُرق التحقّق من أذونات "ADMIN_WRITE
" سجلّات.
مصنفة كـ
سجلات تدقيق نشاط المشرف.
نوع الإذن | الطُرق |
---|---|
ADMIN_READ |
google.firebase.database.v1beta.RealtimeDatabaseService.GetDatabaseInstance google.firebase.database.v1beta.RealtimeDatabaseService.ListDatabaseInstances |
ADMIN_WRITE |
google.firebase.database.v1beta.RealtimeDatabaseService.CreateDatabaseInstance google.firebase.database.v1beta.RealtimeDatabaseService.DeleteDatabaseInstance google.firebase.database.v1beta.RealtimeDatabaseService.DisableDatabaseInstance google.firebase.database.v1beta.RealtimeDatabaseService.ReenableDatabaseInstance google.firebase.database.v1beta.RealtimeDatabaseService.UndeleteDatabaseInstance |
DATA_READ |
google.firebase.database.v1.RealtimeDatabase.Connect google.firebase.database.v1.RealtimeDatabase.Disconnect google.firebase.database.v1.RealtimeDatabase.Listen google.firebase.database.v1.RealtimeDatabase.OnDisconnectCancel google.firebase.database.v1.RealtimeDatabase.Read google.firebase.database.v1.RealtimeDatabase.Unlisten |
DATA_WRITE |
google.firebase.database.v1.RealtimeDatabase.OnDisconnectPut google.firebase.database.v1.RealtimeDatabase.OnDisconnectUpdate google.firebase.database.v1.RealtimeDatabase.RunOnDisconnect google.firebase.database.v1.RealtimeDatabase.Update google.firebase.database.v1.RealtimeDatabase.Write |
سجلات التدقيق لكل واجهة من واجهات برمجة التطبيقات
لمزيد من المعلومات عن كيفية تقييم الأذونات وما هي الأذونات التي يتم تقييمها لكل طريقة، الاطّلاع على مستندات إدارة Cloud Identity وإدارة الوصول لقاعدة بيانات Firebase في الوقت الفعلي.
google.firebase.database.v1.RealtimeDatabase
يحتوي القسم التالي على تفاصيل حول سجلات التدقيق المرتبطة
الطرق التابعة لـ google.firebase.database.v1.RealtimeDatabase
.
Connect
- الطريقة:
google.firebase.database.v1.RealtimeDatabase.Connect
- نوع سجلّ التدقيق: الوصول إلى البيانات
- الأذونات:
firebasedatabase.data.connect - DATA_READ
- الطريقة هي عملية طويلة الأمد أو عملية بث:
رقم
- الفلترة للحصول على هذه الطريقة:
protoPayload.methodName="google.firebase.database.v1.RealtimeDatabase.Connect"
Disconnect
- الطريقة:
google.firebase.database.v1.RealtimeDatabase.Disconnect
- نوع سجلّ التدقيق: الوصول إلى البيانات
- الأذونات:
firebasedatabase.data.connect - DATA_READ
- الطريقة هي عملية طويلة الأمد أو عملية بث:
رقم
- الفلترة للحصول على هذه الطريقة:
protoPayload.methodName="google.firebase.database.v1.RealtimeDatabase.Disconnect"
Listen
- الطريقة:
google.firebase.database.v1.RealtimeDatabase.Listen
- نوع سجلّ التدقيق: الوصول إلى البيانات
- الأذونات:
firebasedatabase.data.get - DATA_READ
- الطريقة هي عملية طويلة الأمد أو عملية بث:
رقم
- الفلترة للحصول على هذه الطريقة:
protoPayload.methodName="google.firebase.database.v1.RealtimeDatabase.Listen"
OnDisconnectCancel
- الطريقة:
google.firebase.database.v1.RealtimeDatabase.OnDisconnectCancel
- نوع سجلّ التدقيق: الوصول إلى البيانات
- الأذونات:
firebasedatabase.data.cancel - DATA_READ
- الطريقة هي عملية طويلة الأمد أو عملية بث:
رقم
- الفلترة للحصول على هذه الطريقة:
protoPayload.methodName="google.firebase.database.v1.RealtimeDatabase.OnDisconnectCancel"
OnDisconnectPut
- الطريقة:
google.firebase.database.v1.RealtimeDatabase.OnDisconnectPut
- نوع سجلّ التدقيق: الوصول إلى البيانات
- الأذونات:
firebasedatabase.data.update - DATA_WRITE
- الطريقة هي عملية طويلة الأمد أو عملية بث:
رقم
- الفلترة للحصول على هذه الطريقة:
protoPayload.methodName="google.firebase.database.v1.RealtimeDatabase.OnDisconnectPut"
OnDisconnectUpdate
- الطريقة:
google.firebase.database.v1.RealtimeDatabase.OnDisconnectUpdate
- نوع سجلّ التدقيق: الوصول إلى البيانات
- الأذونات:
firebasedatabase.data.update - DATA_WRITE
- الطريقة هي عملية طويلة الأمد أو عملية بث:
رقم
- الفلترة للحصول على هذه الطريقة:
protoPayload.methodName="google.firebase.database.v1.RealtimeDatabase.OnDisconnectUpdate"
Read
- الطريقة:
google.firebase.database.v1.RealtimeDatabase.Read
- نوع سجلّ التدقيق: الوصول إلى البيانات
- الأذونات:
firebasedatabase.data.get - DATA_READ
- الطريقة هي عملية طويلة الأمد أو عملية بث:
رقم
- الفلترة للحصول على هذه الطريقة:
protoPayload.methodName="google.firebase.database.v1.RealtimeDatabase.Read"
RunOnDisconnect
- الطريقة:
google.firebase.database.v1.RealtimeDatabase.RunOnDisconnect
- نوع سجلّ التدقيق: الوصول إلى البيانات
- الأذونات:
firebasedatabase.data.update - DATA_WRITE
- الطريقة هي عملية طويلة الأمد أو عملية بث:
رقم
- الفلترة للحصول على هذه الطريقة:
protoPayload.methodName="google.firebase.database.v1.RealtimeDatabase.RunOnDisconnect"
Unlisten
- الطريقة:
google.firebase.database.v1.RealtimeDatabase.Unlisten
- نوع سجلّ التدقيق: الوصول إلى البيانات
- الأذونات:
firebasedatabase.data.cancel - DATA_READ
- الطريقة هي عملية طويلة الأمد أو عملية بث:
رقم
- الفلترة للحصول على هذه الطريقة:
protoPayload.methodName="google.firebase.database.v1.RealtimeDatabase.Unlisten"
Update
- الطريقة:
google.firebase.database.v1.RealtimeDatabase.Update
- نوع سجلّ التدقيق: الوصول إلى البيانات
- الأذونات:
firebasedatabase.data.get - DATA_READ
firebasedatabase.data.get - DATA_WRITE
firebasedatabase.data.update - DATA_WRITE
- الطريقة هي عملية طويلة الأمد أو عملية بث:
رقم
- الفلترة للحصول على هذه الطريقة:
protoPayload.methodName="google.firebase.database.v1.RealtimeDatabase.Update"
Write
- الطريقة:
google.firebase.database.v1.RealtimeDatabase.Write
- نوع سجلّ التدقيق: الوصول إلى البيانات
- الأذونات:
firebasedatabase.data.get - DATA_READ
firebasedatabase.data.get - DATA_WRITE
firebasedatabase.data.update - DATA_WRITE
- الطريقة هي عملية طويلة الأمد أو عملية بث:
رقم
- الفلترة للحصول على هذه الطريقة:
protoPayload.methodName="google.firebase.database.v1.RealtimeDatabase.Write"
google.firebase.database.v1beta.RealtimeDatabaseService
يحتوي القسم التالي على تفاصيل حول سجلات التدقيق المرتبطة
الطرق التابعة لـ google.firebase.database.v1beta.RealtimeDatabaseService
.
CreateDatabaseInstance
- الطريقة:
google.firebase.database.v1beta.RealtimeDatabaseService.CreateDatabaseInstance
- نوع سجلّ التدقيق: نشاط المشرف
- الأذونات:
firebasedatabase.instances.create - ADMIN_WRITE
- الطريقة هي عملية طويلة الأمد أو عملية بث:
رقم
- الفلترة للحصول على هذه الطريقة:
protoPayload.methodName="google.firebase.database.v1beta.RealtimeDatabaseService.CreateDatabaseInstance"
DeleteDatabaseInstance
- الطريقة:
google.firebase.database.v1beta.RealtimeDatabaseService.DeleteDatabaseInstance
- نوع سجلّ التدقيق: نشاط المشرف
- الأذونات:
firebasedatabase.instances.delete - ADMIN_WRITE
- الطريقة هي عملية طويلة الأمد أو عملية بث:
رقم
- الفلترة للحصول على هذه الطريقة:
protoPayload.methodName="google.firebase.database.v1beta.RealtimeDatabaseService.DeleteDatabaseInstance"
DisableDatabaseInstance
- الطريقة:
google.firebase.database.v1beta.RealtimeDatabaseService.DisableDatabaseInstance
- نوع سجلّ التدقيق: نشاط المشرف
- الأذونات:
firebasedatabase.instances.disable - ADMIN_WRITE
- الطريقة هي عملية طويلة الأمد أو عملية بث:
رقم
- الفلترة للحصول على هذه الطريقة:
protoPayload.methodName="google.firebase.database.v1beta.RealtimeDatabaseService.DisableDatabaseInstance"
GetDatabaseInstance
- الطريقة:
google.firebase.database.v1beta.RealtimeDatabaseService.GetDatabaseInstance
- نوع سجلّ التدقيق: الوصول إلى البيانات
- الأذونات:
firebasedatabase.instances.get - ADMIN_READ
- الطريقة هي عملية طويلة الأمد أو عملية بث:
رقم
- الفلترة للحصول على هذه الطريقة:
protoPayload.methodName="google.firebase.database.v1beta.RealtimeDatabaseService.GetDatabaseInstance"
ListDatabaseInstances
- الطريقة:
google.firebase.database.v1beta.RealtimeDatabaseService.ListDatabaseInstances
- نوع سجلّ التدقيق: الوصول إلى البيانات
- الأذونات:
firebasedatabase.instances.list - ADMIN_READ
- الطريقة هي عملية طويلة الأمد أو عملية بث:
رقم
- الفلترة للحصول على هذه الطريقة:
protoPayload.methodName="google.firebase.database.v1beta.RealtimeDatabaseService.ListDatabaseInstances"
ReenableDatabaseInstance
- الطريقة:
google.firebase.database.v1beta.RealtimeDatabaseService.ReenableDatabaseInstance
- نوع سجلّ التدقيق: نشاط المشرف
- الأذونات:
firebasedatabase.instances.reenable - ADMIN_WRITE
- الطريقة هي عملية طويلة الأمد أو عملية بث:
رقم
- الفلترة للحصول على هذه الطريقة:
protoPayload.methodName="google.firebase.database.v1beta.RealtimeDatabaseService.ReenableDatabaseInstance"
UndeleteDatabaseInstance
- الطريقة:
google.firebase.database.v1beta.RealtimeDatabaseService.UndeleteDatabaseInstance
- نوع سجلّ التدقيق: نشاط المشرف
- الأذونات:
firebasedatabase.instances.undelete - ADMIN_WRITE
- الطريقة هي عملية طويلة الأمد أو عملية بث:
رقم
- الفلترة للحصول على هذه الطريقة:
protoPayload.methodName="google.firebase.database.v1beta.RealtimeDatabaseService.UndeleteDatabaseInstance"
تدقيق معلومات المصادقة
إدخالات سجلّ التدقيق تتضمن معلومات عن الهوية التي أجريت العملية التي تم تسجيلها. لتحديد طلب المتصل، يُرجى الاطلاع على الحقول التالية ضمن كائن InspectLog:
إنشاء اتصالات في الوقت الفعلي: تُجري عمليات
Connect
لقاعدة بيانات الوقت الفعلي لا نسجل بيانات المصادقة نظرًا لأن قاعدة بيانات الوقت الفعلي تقوم بالمصادقة بعد يتم إنشاء اتصال. لذلك، لا يتضمّنConnect
أي معلومات مصادقة. يحتوي الكائنAuthenticationInfo
على العنصر النائبprincipalEmail
audit-pending-auth@firebasedatabase-{REGION_CODE}-prod.iam.gserviceaccount.com
مصادقة Google: عمليات قاعدة البيانات في الوقت الفعلي التي تستخدم معايير Google المصادقة، مثل عدد الزيارات الواردة من حزمة SDK لمشرف Firebase أو طلبات REST مصادقتها باستخدام رمز OAuth مميز عادي، تحتوي على كائن
AuthenticationInfo
يحتوي على بيانات الاعتماد الفعلية البريد الإلكتروني.مصادقة Firebase: تتمتع عمليات قاعدة البيانات في الوقت الفعلي التي تستخدم مصادقة Firebase عنصر
AuthenticationInfo
يحتوي على القيمةprincipalEmail
audit-third-party-auth@firebasedatabase-{REGION_CODE}-prod.iam.gserviceaccount.com
وينطبق الأمر نفسه إذا قمت بتنفيذ حل المصادقة الخاص بك عن طريق إنشاء ملفات JWT المخصصة.- في حال استخدام رمز JSON المميّز للويب (JWT) لمصادقة جهة خارجية،
يتضمّن الحقل
thirdPartyPrincipal
عنوان الرمز المميّز وحمولةته. بالنسبة مثل، سجلات التدقيق للطلبات التي تمت مصادقتها باستخدام مصادقة Firebase. تضمين الرمز المميز لمصادقة Firebase لهذا الطلب.
- في حال استخدام رمز JSON المميّز للويب (JWT) لمصادقة جهة خارجية،
يتضمّن الحقل
بدون مصادقة. عمليات قاعدة البيانات في الوقت الفعلي التي لا تستخدم تتضمّن المصادقة عنصر
AuthenticationInfo
يحتوي على قيمةprincipalEmail
لـaudit-no-auth@firebasedatabase-{REGION_CODE}-prod.iam.gserviceaccount.com
ويمكن أن يمنح مثيل قاعدة البيانات في الوقت الفعلي الذي يتضمن قواعد أمان مفتوحة هذه الطلبات. أر أن توصي جميع المستخدمين بتأمين قواعد البيانات الخاصة بهم بشكل صحيح.الرموز المميّزة القديمة للأسرار: عمليات قاعدة البيانات في الوقت الفعلي باستخدام الرموز المميّزة القديمة تحتوي على كائن
AuthenticationInfo
يحتوي على عنصر نائبprincipalEmail
منaudit-secret-auth@firebasedatabase-{REGION_CODE}-prod.iam.gserviceaccount.com
بالنسبة إلى JWT الموقَّعة من بين الأسرار، يحتويthirdPartyPrincipal
على عناوين JWT حمولة البيانات.
تدقيق تقييمات قواعد أمان Firebase
يمكن استخدام سجلات تدقيق السحابة الإلكترونية لتحديد الطلبات التي من المحتمل المتأثر بتغييرات القواعد.
في العنصر PermissionInfo، يمكن أن يكون authorization.permission
واحدًا مما يلي:
firebasedatabase.data.get
: تم منح الإذن بالقراءة في المسار المحدد فيresource
firebasedatabase.data.update
: تم منح الإذن بالتعديل في المسار المحدد فيresource
firebasedatabase.data.connect
: عنصر نائب لـ "Connect
" و"Disconnect
" لا يلزم الحصول على إذن للاتصال بمثيل قاعدة البيانات في الوقت الفعلي.firebasedatabase.data.cancel
: يُستخدَم فيUnlisten
وOnDisconnectCancel
. لا يتطلب إلغاء أو إلغاء عملية مصرّح بها سابقًا التفويض.
ربط سجلّات تدقيق Cloud بنتائج أداة تحليل قاعدة البيانات في الوقت الفعلي
يمكنك إجراء تحليل متعمق للأداء في Realtime Database باستخدام محلل قاعدة البيانات في الوقت الفعلي إلى جانب تسجيل تدقيق قاعدة البيانات في الوقت الفعلي. لكل أداة نقاط قوتها.
Cloud Audit Logging | محلّل قاعدة البيانات في الوقت الفعلي |
---|---|
|
|
يتوافق محتوى سجلّ التدقيق مع مقاييس محلّل كما هو موضّح أدناه.
اسم عملية تسجيل التدقيق | قيم خاصة فيRealtimeDatabaseAuditMetadata |
اسم عملية المحلّل |
---|---|---|
اتصال | RequestType هو REALTIME |
الاتصال المتزامن |
قطع الاتصال | RequestType هو REALTIME |
انقطاع الاتصال المتزامن |
قراءة | RequestType هو REALTIME |
القراءة في الوقت الفعلي |
قراءة | RequestType هو REST |
قراءة البقية |
كتابة | RequestType هو REALTIME |
الكتابة في الوقت الفعلي |
كتابة | RequestType هو REST |
الاستراحة-الكتابة |
تعديل | تم REALTIME ميزة RequestType .
تحقق من PreconditionType . |
تعديل في الوقت الفعلي realtime-transaction |
تعديل | تم REST ميزة RequestType .
تحقق من PreconditionType . |
rest-update rest-transaction |
المستمع | RequestType هو REALTIME |
استمِع إلى أغانيك |
الاستماع إلى المستمع | RequestType هو REALTIME |
عدم الاستماع إلى المستمعين |
موقع OnConnectedPut | RequestType هو REALTIME |
عند قطع الاتصال |
عند إلغاء الربط بالتحديث | RequestType هو REALTIME |
تحديث عند انقطاع الاتصال |
عند إلغاء الربط | RequestType هو REALTIME |
إلغاء الربط عند إلغاء الاتصال |
تشغيل عند إلغاء الربط | RequestType هو REALTIME |
تشغيل عند قطع الاتصال |