تسجيل التدقيق في "استضافة التطبيقات من Firebase"

توضّح هذه الصفحة سجلّات التدقيق التي تم إنشاؤها بواسطة Firebase كجزء من سجلات تدقيق السحابة.

نظرة عامة

تكتب خدمات Firebase سجلات تدقيق لمساعدتك في الإجابة عن الأسئلة التالية: "مَن نفّذ الإجراء وما هو الإجراء ومكانه وتاريخه؟". وهي سجلّات تدقيق السحابة الإلكترونية، ويتم توفيرها كجزء من مشروع Google Cloud المرتبط بمشروعك على Firebase.

تحتوي مشاريعك في Firebase على سجلّات التدقيق الخاصة بالموارد التي تقع مباشرةً ضمن المشروع.

للحصول على نظرة عامة حول Cloud Audit Logs، راجِع نظرة عامة حول Cloud Audit Logs. لمزيد من المعلومات حول تنسيق سجلّ التدقيق، يُرجى الاطّلاع على فهم سجلّات التدقيق.

سجلّات التدقيق المتاحة

تتوفّر أنواع سجلّات التدقيق التالية في "استضافة التطبيقات على Firebase":

  • سجلات تدقيق نشاط المشرف

    تشمل عمليات "الكتابة من قِبل المشرف" التي تكتب بيانات وصفية أو معلومات إعداد.

    لا يمكنك إيقاف سجلّات تدقيق "نشاط المشرف".

  • سجلات التدقيق في الوصول إلى البيانات

    تشمل عمليات "قراءة المشرف" التي تقرأ البيانات الوصفية أو معلومات الإعداد. ويشمل أيضًا عمليات "قراءة البيانات" و "كتابة البيانات" التي تقرأ البيانات المقدَّمة من المستخدم أو تكتبها.

    لتلقّي سجلات تدقيق الوصول إلى البيانات، عليك تفعيلها صراحةً.

للحصول على أوصاف أكثر تفصيلاً لأنواع سجلّات التدقيق، راجِع أنواع سجلّات التدقيق.

العمليات التي تمّ تدقيقها

يوضّح الجدول التالي عمليات واجهة برمجة التطبيقات التي تتوافق مع كل نوع من أنواع سجلّات التدقيق في خدمة Firebase App Hosting:

نوع الإذن الطرق
ADMIN_READ google.firebase.apphosting.v1alpha.AppHosting.GetBackend
google.firebase.apphosting.v1alpha.AppHosting.GetBuild
google.firebase.apphosting.v1alpha.AppHosting.GetRollout
google.firebase.apphosting.v1alpha.AppHosting.GetTraffic
google.firebase.apphosting.v1alpha.AppHosting.ListBackends
google.firebase.apphosting.v1alpha.AppHosting.ListBuilds
google.firebase.apphosting.v1alpha.AppHosting.ListDomains
google.firebase.apphosting.v1alpha.AppHosting.ListRollouts
google.firebase.apphosting.v1beta.AppHosting.GetBackend
google.firebase.apphosting.v1beta.AppHosting.GetBuild
google.firebase.apphosting.v1beta.AppHosting.GetDomain
google.firebase.apphosting.v1beta.AppHosting.GetTraffic
google.firebase.apphosting.v1beta.AppHosting.ListBackends
google.firebase.apphosting.v1beta.AppHosting.ListBuilds
google.firebase.apphosting.v1beta.AppHosting.ListDomains
google.firebase.apphosting.v1beta.AppHosting.ListRollouts
ADMIN_WRITE google.firebase.apphosting.v1alpha.AppHosting.CreateBackend
google.firebase.apphosting.v1alpha.AppHosting.CreateBuild
google.firebase.apphosting.v1alpha.AppHosting.CreateDomain
google.firebase.apphosting.v1alpha.AppHosting.CreateRollout
google.firebase.apphosting.v1alpha.AppHosting.DeleteBackend
google.firebase.apphosting.v1alpha.AppHosting.DeleteBuild
google.firebase.apphosting.v1alpha.AppHosting.DeleteDomain
google.firebase.apphosting.v1alpha.AppHosting.UpdateBuild
google.firebase.apphosting.v1alpha.AppHosting.UpdateTraffic
google.firebase.apphosting.v1beta.AppHosting.CreateBackend
google.firebase.apphosting.v1beta.AppHosting.CreateBuild
google.firebase.apphosting.v1beta.AppHosting.CreateDomain
google.firebase.apphosting.v1beta.AppHosting.CreateRollout
google.firebase.apphosting.v1beta.AppHosting.DeleteBackend
google.firebase.apphosting.v1beta.AppHosting.DeleteBuild
google.firebase.apphosting.v1beta.AppHosting.DeleteDomain
google.firebase.apphosting.v1beta.AppHosting.UpdateBackend
google.firebase.apphosting.v1beta.AppHosting.UpdateDomain
google.firebase.apphosting.v1beta.AppHosting.UpdateTraffic

تنسيق سجلّ التدقيق

تتضمّن إدخالات سجلّ التدقيق العناصر التالية:

  • تمثّل هذه السمة إدخال السجلّ نفسه، وهو كائن من النوع LogEntry. تشمل الحقول المفيدة ما يلي:

    • يحتوي logName على رقم تعريف المورد ونوع سجلّ التدقيق.
    • يحتوي resource على هدف العملية التي تم تدقيقها.
    • يحتوي timestamp على وقت العملية التي تم تدقيقها.
    • يحتوي protoPayload على المعلومات التي تم تدقيقها.
  • بيانات سجلّ التدقيق، وهي عنصر AuditLog مضمّن في الحقل protoPayload ضمن إدخال السجلّ

  • معلومات التدقيق الاختيارية الخاصة بالخدمة، وهي عبارة عن عنصر خاص بالخدمة. بالنسبة إلى عمليات الدمج القديمة، يتم الاحتفاظ بهذا العنصر في الحقل serviceData ضمن العنصر AuditLog، بينما تستخدم عمليات الدمج الأحدث الحقل metadata.

لمعرفة الحقول الأخرى في هذه الكائنات وكيفية تفسيرها، راجِع مقالة فهم سجلّات التدقيق.

اسم السجلّ

تشير أسماء موارد "سجلات تدقيق Cloud" إلى مشروع Firebase أو كيان آخر Google Cloud يمتلك سجلات التدقيق، وما إذا كان السجلّ يتضمّن بيانات تسجيل تدقيق "نشاط المشرف" أو "الوصول إلى البيانات" أو "السياسة مرفوضة" أو "حدث النظام". على سبيل المثال، يعرض ما يلي أسماء السجلّات الخاصة بسجلّات تدقيق نشاط المشرف على مستوى المشروع وسجلّات تدقيق الوصول إلى البيانات الخاصة بمؤسسة. تشير المتغيّرات إلى معرّفات مشروع Firebase والمؤسسة.

projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Factivity
organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com%2Fdata_access

اسم الخدمة

تستخدم سجلّات تدقيق خدمة استضافة التطبيقات من Firebase اسم الخدمة firebaseapphosting.googleapis.com.

للاطّلاع على قائمة كاملة بأسماء خدمات Cloud Logging API وجميع أنواع الموارد التي يتم تتبّعها، يُرجى الاطّلاع على ربط الخدمات بالموارد.

أنواع الموارد

تستخدِم سجلّات التدقيق في Firebase App Hosting نوع المورد audited_resource لجميع سجلّات التدقيق.

للاطّلاع على قائمة بجميع أنواع الموارد الخاضعة للمراقبة في Cloud Logging ومعلومات وصفية، راجِع أنواع الموارد الخاضعة للمراقبة.

تفعيل تسجيل بيانات التدقيق

تكون سجلات تدقيق "نشاط المشرف" مفعّلة دائمًا، ولا يمكنك إيقافها.

يتم إيقاف سجلّات تدقيق الوصول إلى البيانات تلقائيًا، ولا تتم كتابتها إلا إذا تم تفعيلها بشكل صريح (الاستثناء هو سجلّات تدقيق الوصول إلى البيانات في BigQuery، والتي لا يمكن إيقافها).

للحصول على تعليمات حول تفعيل بعض سجلّات التدقيق في الوصول إلى المعلومات أو جميعها، يُرجى الاطّلاع على إعداد سجلّات الوصول إلى المعلومات.

الأذونات والأدوار

تحدّد أذونات وأدوار إدارة الهوية وإمكانية الوصول في السحابة الإلكترونية (Cloud IAM) إمكانية وصولك إلى بيانات سجلّات التدقيق في موارد Google Cloud.

عند تحديد الأذونات والأدوار الخاصة بالتسجيل التي تنطبق على حالة الاستخدام، ضع في اعتبارك ما يلي:

  • يمنحك دور "عارض السجلات" (roles/logging.viewer) إذنًا بالقراءة فقط لسجلات التدقيق الخاصة بـ "نشاط المشرف" و"السياسة المرفوضة" و"حدث النظام". إذا كان لديك هذا الدور فقط، لا يمكنك الاطّلاع على سجلّات التدقيق في الوصول إلى المعلومات الموجودة في حزمة _Default.

  • يتضمّن دور "عارض السجلّات الخاصة"(roles/logging.privateLogViewer) الأذونات الواردة في roles/logging.viewer، بالإضافة إلى إمكانية قراءة سجلّات تدقيق "الوصول إلى البيانات" في حزمة _Default.

    يُرجى العِلم أنّه في حال تخزين هذه السجلات الخاصة في حِزم يحدّدها المستخدم، يمكن لأي مستخدم لديه أذونات بقراءة السجلات في تلك الحِزم قراءة السجلات الخاصة. لمزيد من المعلومات عن حِزم السجلّات، يُرجى الاطّلاع على نظرة عامة على التوجيه والتخزين.

لمزيد من المعلومات عن أذونات وأدوار Cloud IAM التي تنطبق على بيانات سجلّات التدقيق، يُرجى الاطّلاع على التحكّم في الوصول.

عرض السجلّات

للعثور على سجلّات التدقيق وعرضها، عليك معرفة معرّف مشروع Firebase أو المجلد أو المؤسسة التي تريد عرض معلومات سجلّ التدقيق الخاصة بها. يمكنك تحديد حقول أخرى مفهرسة LogEntry، مثل resource.type. لمزيد من التفاصيل، راجِع مقالة العثور على إدخالات السجلّ بسرعة.

في ما يلي أسماء سجلّات التدقيق، وهي تتضمّن متغيّرات لمعرّفات مشروع Firebase أو المجلد أو المؤسسة:

   projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Factivity
   projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fdata_access
   projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fsystem_event
   projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fpolicy

   folders/FOLDER_ID/logs/cloudaudit.googleapis.com%2Factivity
   folders/FOLDER_ID/logs/cloudaudit.googleapis.com%2Fdata_access
   folders/FOLDER_ID/logs/cloudaudit.googleapis.com%2Fsystem_event
   folders/FOLDER_ID/logs/cloudaudit.googleapis.com%2Fpolicy

   organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com%2Factivity
   organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com%2Fdata_access
   organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com%2Fsystem_event
   organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com%2Fpolicy

يمكنك الاطّلاع على سجلّات التدقيق في Cloud Logging باستخدام وحدة تحكّم Google Cloud أو أداة سطر الأوامر gcloud أو Logging API.

وحدة التحكم

يمكنك استخدام "مستكشف السجلّات" في وحدة تحكّم Google Cloud لاسترداد إدخالات سجلّ التدقيق لمشروعك أو مجلدك أو مؤسستك على Firebase:

  1. في وحدة تحكّم Google Cloud، انتقِل إلى صفحة Logging > مستكشف السجلّات.

    الانتقال إلى صفحة "مستكشف السجلات"

  2. في صفحة مستكشف السجلات، اختَر مشروعًا أو مجلدًا أو مؤسسة حالية على Firebase.

  3. في لوحة أداة إنشاء طلبات البحث، اتّبِع الخطوات التالية:

    • في نوع المرجع، اختَر المرجع Google Cloud الذي تريد الاطّلاع على سجلّات تدقيقه.

    • في اسم السجلّ، اختَر نوع سجلّ التدقيق الذي تريد الاطّلاع عليه:

      • بالنسبة إلى سجلّات تدقيق "نشاط المشرف"، اختَر النشاط.
      • بالنسبة إلى سجلّات التدقيق في الوصول إلى المعلومات، اختَر data_access.
      • بالنسبة إلى سجلّات تدقيق أحداث النظام، اختَر system_event.
      • بالنسبة إلى سجلّات تدقيق "السياسة المرفوضة"، اختَر السياسة.

    إذا لم تظهر لك هذه الخيارات، يعني ذلك أنّه لا تتوفّر أي سجلّات تدقيق من هذا النوع في مشروع Firebase أو المجلد أو المؤسسة.

    لمزيد من التفاصيل حول طلبات البحث باستخدام "مستكشف السجلات"، راجِع إنشاء طلبات بحث في السجلات.

gcloud

توفّر أداة سطر الأوامر gcloud واجهة سطر أوامر لواجهة برمجة التطبيقات Cloud Logging API. قدِّم قيمة صالحة PROJECT_ID أو FOLDER_ID أو ORGANIZATION_ID في كل اسم من أسماء السجلات.

لقراءة إدخالات سجلّ التدقيق على مستوى مشروع Firebase، نفِّذ الأمر التالي:

gcloud logging read "logName : projects/PROJECT_ID/logs/cloudaudit.googleapis.com" --project=PROJECT_ID

لقراءة إدخالات سجلّ التدقيق على مستوى المجلد، نفِّذ الأمر التالي:

gcloud logging read "logName : folders/FOLDER_ID/logs/cloudaudit.googleapis.com" --folder=FOLDER_ID

لقراءة إدخالات سجلّ التدقيق على مستوى المؤسسة، شغِّل الأمر التالي:

gcloud logging read "logName : organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com" --organization=ORGANIZATION_ID

لمزيد من المعلومات حول استخدام أداة gcloud، راجِع قراءة إدخالات السجلّ.

واجهة برمجة التطبيقات

عند إنشاء طلبات البحث، استبدِل المتغيّرات بقيم صالحة، واستخدِم اسم سجلّ التدقيق أو المعرّفات المناسبة على مستوى المشروع أو المجلد أو المؤسسة كما هو موضّح في أسماء سجلّات التدقيق. على سبيل المثال، إذا كان طلب البحث يتضمّن PROJECT_ID، يجب أن يشير معرّف المشروع الذي تقدّمه إلى مشروع Firebase المحدّد حاليًا.

لاستخدام Logging API للاطّلاع على إدخالات سجلّ التدقيق، اتّبِع الخطوات التالية:

  1. انتقِل إلى قسم تجربة واجهة برمجة التطبيقات هذه في مستندات طريقة entries.list.

  2. ضَع ما يلي في قسم نص الطلب من نموذج تجربة واجهة برمجة التطبيقات هذه. يؤدي النقر على هذا النموذج الذي تمت تعبئته مسبقًا إلى ملء نص الطلب تلقائيًا، ولكن عليك تقديم PROJECT_ID صالح في كل اسم من أسماء السجلات.

    {
      "resourceNames": [
        "projects/PROJECT_ID"
      ],
      "pageSize": 5,
      "filter": "logName : projects/PROJECT_ID/logs/cloudaudit.googleapis.com"
    }
  3. انقر على تنفيذ.

لمزيد من التفاصيل حول طلبات البحث، راجِع لغة طلبات البحث في التسجيل.

للاطّلاع على مثال على إدخال في سجلّ التدقيق وكيفية العثور على أهم المعلومات فيه، راجِع مثال على إدخال في سجلّ التدقيق.

سجلات تدقيق المسارات

يمكنك توجيه سجلّات التدقيق إلى وجهات متوافقة بالطريقة نفسها التي يمكنك بها توجيه أنواع أخرى من السجلّات. في ما يلي بعض الأسباب التي قد تدفعك إلى توجيه سجلّات التدقيق:

  • للاحتفاظ بسجلات التدقيق لفترة أطول أو لاستخدام إمكانات بحث أكثر فعالية، يمكنك توجيه نُسخ من سجلات التدقيق إلى Google Cloud Storage أو BigQuery أو Google Cloud Pub/Sub. باستخدام Cloud Pub/Sub، يمكنك التوجيه إلى تطبيقات أخرى ومستودعات أخرى وإلى جهات خارجية.

  • لإدارة سجلّات التدقيق في مؤسسة بأكملها، يمكنك إنشاء مجمّعات مدمجة يمكنها توجيه السجلّات من أيّ من مشاريع Firebase أو جميعها في المؤسسة.

  • إذا كانت سجلّات التدقيق في الوصول إلى المعلومات المفعَّلة تتسبّب في تجاوز مشاريعك على Firebase لمخصصات السجلّات، يمكنك إنشاء مصارف تستبعد سجلّات التدقيق في الوصول إلى المعلومات من Logging.

للحصول على تعليمات حول توجيه السجلات، يُرجى الاطّلاع على ضبط المصادر.

الأسعار

سجلات تدقيق نشاط المشرف وسجلات تدقيق أحداث النظام متاحة بدون أي تكلفة.

يتم تحصيل رسوم مقابل سجلّات تدقيق الوصول إلى البيانات وسجلّات تدقيق رفض السياسة.

لمزيد من المعلومات حول أسعار Cloud Logging، يُرجى الاطّلاع على أسعار "حزمة عمليات Google Cloud": Cloud Logging.