إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
يتوفر تسجيل تدقيق أنشطة قاعدة البيانات في قاعدة بيانات Azure ل PostgreSQL من خلال pgaudit الملحق.
pgaudit يوفر تسجيل تدقيق مفصل للجلسة و/أو الكائن.
إذا كنت تريد سجلات على مستوى مورد Azure لعمليات مثل تحجيم الحوسبة والتخزين، فراجع سجل نشاط Azure.
اعتبارات الاستخدام
بشكل افتراضي، pgaudit يتم إصدار كشوف السجلات وكشوف السجل العادية الخاصة بك باستخدام مرفق التسجيل القياسي ل Postgres. في قاعدة بيانات Azure ل PostgreSQL، يمكنك تكوين جميع السجلات لإرسالها إلى مخزن سجل Azure Monitor لتحليلها لاحقا في Log Analytics. إذا قمت بتمكين تسجيل موارد Azure Monitor، إرسال سجلاتك تلقائيا (بتنسيق JSON) إلى سجلات Azure Storage و/أو مراكز الأحداث و/أو Azure Monitor، اعتمادا على اختيارك.
لمعرفة كيفية إعداد التسجيل إلى سجلات Azure Storage أو مراكز الأحداث أو Azure Monitor، تفضل بزيارة قسم سجلات الموارد في مقالة سجلات الخادم.
تثبيت الملحق
لتتمكن من استخدام pgaudit الملحق، تحتاج إلى إدراج الملحق في القائمة المسموح بهاوتحميلهوإنشائه في قاعدة البيانات التي تخطط لاستخدامه عليها.
ضبط إعدادات الإضافة
pgaudit يسمح لك بتكوين تسجيل تدقيق جلسة العمل أو الكائن.
يصدر سجل تدقيق الجلسة سجلات مفصلة للبيانات المنفذة.
يتم تحديد نطاق تسجيل تدقيق الكائن لعلاقات محددة. يمكنك اختيار إعداد أحد أنواع التسجيل أو كليهما.
بمجرد التمكين pgaudit، يمكنك تكوين معلماته لبدء التسجيل.
للتكوين pgaudit، يمكنك اتباع الإرشادات التالية:
استخدام المدخل الخاص بـ Microsoft Azure:
حدد مثيل قاعدة بيانات Azure ل PostgreSQL.
من قائمة الموارد، ضمن الإعدادات، حدد معلمات الخادم.
ابحث عن المعلمات
pgaudit.اختر المعلمة المناسبة لتحريرها. على سبيل المثال لبدء التسجيل
INSERT،UPDATE،DELETETRUNCATE، ، وعباراتCOPY، قم بالتعيينpgaudit.logإلىWRITE.حدد حفظ زر لحفظ التغييرات.
توفر الوثائقpgaudit الرسمية تعريف كل معلمة. اختبر المعلمات أولا وتأكد من حصولك على السلوك المتوقع.
على سبيل المثال، لا يؤدي الإعداد pgaudit.log_client إلى ON كتابة أحداث التدقيق إلى سجل الخادم فحسب، بل يرسلها أيضا إلى عمليات العميل (مثل psql). يجب ترك هذا الإعداد معطلا بشكل عام.
pgaudit.log_level يتم تمكينه فقط عندما pgaudit.log_client يكون قيد التشغيل.
في قاعدة بيانات Azure ل PostgreSQL، pgaudit.log لا يمكن تعيينه باستخدام - اختصار علامة (ناقص) كما هو موضح في pgaudit الوثائق. يجب تحديد جميع فئات البيانات المطلوبة (READ، الكتابة ، إلخ) بشكل فردي.
إذا قمت بتعيين المعلمة log_statement على DDL أو ALL وقمت بتشغيل أمر CREATE ROLE/USER ... WITH PASSWORD ... ; أو ALTER ROLE/USER ... WITH PASSWORD ... ;، فإن PostgreSQL ينشئ إدخالا في سجلات PostgreSQL حيث يتم تسجيل كلمة المرور في نص واضح ، مما قد يتسبب في مخاطر أمنية محتملة. إنه السلوك المتوقع وفقا لتصميم محرك PostgreSQL.
ومع ذلك ، يمكنك استخدام الامتداد والتعيين pgaudit.log إلى DDL، والذي لا يسجل أي CREATE/ALTER ROLE عبارة في سجل خادم Postgres ، على عكس ما يحدث عند التعيين log_statement إلى DDL.pgaudit إذا كنت بحاجة إلى تسجيل هذه العبارات ، فيمكنك أيضا التعيين pgaudit.logإلى ROLE، الذي يقوم بتنقيح كلمة المرور من السجلات أثناء التسجيل CREATE/ALTER ROLE.
تنسيق سجل التدقيق
يبدأ كل إدخال تدقيق ب AUDIT:. يتم تفصيل تنسيق بقية الإدخال في وثائقpgaudit.
الشروع في العمل
للبدء بسرعة، اضبط pgaudit.log على ALL، وافتح سجلات الخادم لمراجعة الإخراج.
عرض سجلات التدقيق
تعتمد طريقة الوصول إلى السجلات على نقطة النهاية التي تختارها. راجع مقالة حساب تخزين السجلات ل Azure Storage. راجع مقالة سجلات Azure الدفق لمراكز الأحداث.
بالنسبة لسجلات Azure Monitor، يتم إرسال السجلات إلى مساحة العمل التي حددتها. تستخدم سجلات Postgres وضع مجموعة AzureDiagnostics ، بحيث يمكن الاستعلام عنها من جدول AzureDiagnostics. تعرف على المزيد حول الاستعلام والتنبيه في نظرة عامة على استعلام سجلات Azure Monitor .
يمكنك استخدام هذا الاستعلام للبدء. يمكنك تكوين التنبيهات استنادا إلى الاستعلامات.
البحث عن جميع pgaudit الإدخالات في سجلات Postgres لخادم معين في اليوم الأخير
AzureDiagnostics
| where Resource =~ "<flexible-server-name>"
| where Category == "PostgreSQLLogs"
| where TimeGenerated > ago(1d)
| where Message contains "AUDIT:"
ترقية الإصدار الرئيسي مع تثبيت ملحق pgaudit
أثناء ترقية الإصدار الرئيسي، يتم إسقاط ملحق pgaudit تلقائيا ثم إعادة إنشائه بعد اكتمال الترقية. أثناء استعادة الإضافة، لا يتم الاحتفاظ تلقائيا بأي عمليات ضبط مخصصة تم تعيينها pgaudit.log أو المعلمات الأخرى ذات الصلة.