انتقل إلى المحتوى

تكوين حقوق الوصول إلى الملفات اللازمة لتشغيل العقدة

عادةً ما يتم منح خدمات wallarm-worker و nginx إذنًا تلقائيًا لقراءة محتوى الملفات اللازمة لتشغيل عقدة الفلترة، مثل proton.db وملف مجموعة القواعد المخصصة. ومع ذلك، إذا أظهرت الاختبارات عدم وجود وصول، اقرأ الوصف أدناه حول كيفية توفير الأذونات وكيف يمكن تكوينها يدويًا.

تكوين الوصول إلى الملف

يمكن تعيين معلمات تشغيل العقدة بشكل صريح في node.yaml، والذي يتم توليده تلقائيًا بواسطة السكربت register-node.

  • بالنسبة لتثبيتات صورة NGINX المبنية على Docker، والصور السحابية وتثبيتات المثبت الشامل، ابحث عن الملف في /opt/wallarm/etc/wallarm/node.yaml، إلا إذا تم تجاوزه بواسطة موجهة wallarm_api_conf.

  • بالنسبة للتثبيتات الأخرى، يقع في /etc/wallarm/node.yaml، إلا إذا تم تجاوزه بواسطة موجهة wallarm_api_conf.

قد يحتوي ملف node.yaml على معلمات وصول الملف التالية:

المعلمة الوصف
syncnode.owner المالك للملفات اللازمة لتشغيل عقدة الفلترة.
syncnode.group المجموعة للملفات اللازمة لتشغيل عقدة الفلترة.
syncnode.mode حقوق الوصول إلى الملفات اللازمة لتشغيل عقدة الفلترة.

يبحث خوارزمية عن إذونات الملف بأداء الخطوات التالية (ينتقل إلى الخطوة التالية فقط إذا لم تعط الخطوة السابقة النتيجة):

  1. تعيين معلمات syncnode.(TYPE).(user,group,mode) بشكل صريح في ملف node.yaml.

    (TYPE) يتيح لك تحديد الملف المعين الذي تم تعيين المعلمة له. القيم الممكنة هي proton.db أو lom.

    معنى قيمة lom

    لاحظ أن قيمة lom تشير إلى ملف مجموعة القواعد المخصصة /etc/wallarm/custom_ruleset (/opt/wallarm/etc/wallarm/custom_ruleset بالنسبة لتثبيتات صورة NGINX المبنية على Docker أو تثبيتات المثبت الشامل).

  2. تعيين معلمات syncnode.(user,group,mode) بشكل صريح في ملف node.yaml.

  3. بالنسبة للتثبيت المعتمد على NGINX، قيمة nginx_group في ملف /usr/share/wallarm-common/engine/*.

    كل الحزم المثبتة للمحرك توفر ملف /usr/share/wallarm-common/engine/* الذي يحتوي على nginx_group=<VALUE>.

    كل حزمة بالموديول تعيين قيمة لمعلمة group اعتمادًا على NGINX الذي تم تخصيصها من أجله:

    • الموديولات لـ NGINX من nginx.org تعيين group إلى nginx.
    • الموديولات لتوزيعات NGINX تعيين group إلى www-data.
    • الموديولات المخصصة تستخدم القيم التي يوفرها العميل.
  4. الإعدادات الافتراضية:

    • owner: root
    • group: wallarm
    • mode: 0640

لاحظ أنك فقط تحتاج إلى تكوين حقوق الوصول بشكل صريح إذا كانت النتيجة التي يتم تحقيقها تلقائيًا بواسطة الخوارزمية لا تلبي احتياجاتك. بعد تكوين حقوق الوصول، تأكد من أن خدمات wallarm-worker و nginx يمكنها قراءة محتوى الملفات اللازمة لتشغيل عقدة الفلترة.

مثال على التكوين

لاحظ أنه بالإضافة إلى معلمات وصول الملف (قسم syncnode، الوارد في هذا المقال)، سيحتوي ملف node.yaml أيضًا على معلمات توفر لعقدة الفلترة الوصول إلى السحابة (الأقسام العامة و api).

Example of the valid node.yaml contents:

api:
  uuid: ea1xa0xe-xxxx-42a0-xxxx-b1b446xxxxxx
  secret: b827axxxxxxxxxxxcbe45c855c71389a2a5564920xxxxxxxxxxxxxxxxxxc4613260
  host: api.wallarm.com
  port: 443
  ca_verify: true

syncnode:
  owner: root
  group: wallarm
  mode: 0640