حول المرشحات

تتحكم المرشحات في إجراءات الوصول الأمنية إلى قيم البيانات في مكعب. المرشحات هي أكثر نماذج التأمين المتوفرة دقة.

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

يحدد دور التأمين الخاص بك ما إذا كان بوسعك تكوين مرشحات أو تحريرها أو نسخها أو إعادة تسميتها أو حذفها:

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

تكوين مرشحات

يمكنك تكوين عدة مرشحات للمكعب. إذا حررت مرشحًا، يرث جميع مستخدمي هذا المرشح التعديلات التي تم إجراؤها على تعريفه.

يرجى الاطلاع على Controlling Access to Database Cells Using Security Filters (التحكم في الوصول إلى خلايا قاعدة البيانات باستخدام مرشحات التأمين).

  1. انتقل إلى محرر المرشح.

    في واجهة Redwood:

    1. في صفحة التطبيقات، افتح التطبيق ثم افتح قاعدة البيانات (المكعب).
    2. انقر على التخصيص وانقر على المرشحات.

    في واجهة الويب الكلاسيكية:

    1. في صفحة التطبيقات، قم بتوسيع التطبيق.
    2. من القائمة "إجراءات" وعلى الجانب الأيمن من اسم المكعب قم بتشغيل أداة الفحص.
    3. حدد علامة تبويب المرشحات.
  2. انقر على إضافة.
  3. أدخل اسم مرشح في مربع النص اسم المرشح.
  4. في محرر المرشح، انقر على إضافة.
  5. ضمن وصول، انقر واستخدم القائمة المنسدلة لتحديد مستوى للوصول.
    • بلا: لا يمكن استرجاع أي بيانات أو تحميلها

    • قراءة: يمكن استرجاع البيانات ولكن لا يمكن تحديثها

    • كتابة: يمكن استرجاع البيانات وتحديثها

    • قراءة ميتاديتا: يمكن استرجاع ميتاديتا (أسماء الأبعاد والأعضاء) وتحديثها

      يتجاوز مستوى الوصول "قراءة ميتاديتا" جميع مستويات الوصول الأخرى. ويتم فرض مرشحات بيانات إضافية في المرشحات الموجودة ذات مستوى الوصول "قراءة ميتاديتا". كذلك لا يسري ترشيح توليفات الأعضاء (باستخدام علاقات AND) على مستوى الوصول "قراءة ميتاديتا". يرشِّح مستوى الوصول "قراءة ميتاديتا" كل عضو بشكل منفصل (باستخدام علاقة OR).

  6. حدد الصف الموجود أسفل مواصفات العضو وأدخل أسماء الأعضاء، ثم انقر على تقديم صورة لأيقونة تقديم مرشح redwood..

    يمكنك ترشيح الأعضاء بشكل منفصل أو يمكنك ترشيح توليفات من الأعضاء. حدد أسماء الأبعاد أو الأعضاء، أو الأسماء البديلة، أو توليفات الأعضاء، أو مجموعات الأعضاء المعرفة بواسطة الدوال، أو أسماء متغيرات الاستبدال، المسبوقة بعلامة الإضافة (&). وافصل الإدخالات المتعددة بالفواصل.

  7. كوِّن صفوفًا إضافية للمرشح حسب الحاجة.

    إذا تداخلت صفوف المرشحات، تُطبَّق مواصفات منطقة المكعب الأكثر تفصيلاً بدلاً من الأقل تفصيلاً، وتُطبَّق حقوق الوصول الأكثر سماحية بدلاً من الأقل سماحية. على سبيل المثال، إذا منحت مستخدمًا حق الوصول "قراءة" للعضو Actual (الفعلية) وحق الوصول "كتابة" للعضو Jan (يناير)، فإن المستخدم يحصل على حق الوصول "كتابة" لتوليفة العضوين Jan Actual (الفعلية في يناير).

  8. انقر على تدقيق لضمان أن يكون المرشح صالحًا.
  9. انقر على حفظ.

لتحرير مرشح في واجهة Redwood، حدد علامة تبويب المرشحات من خلال تحديد المكعب ثم تحديد صفحة التخصيص. ثم حرر المرشح بالنقر على اسم المرشح وإجراء التغييرات في محرر المرشح. لتحرير صف موجود، انقر نقرًا مزدوجًا في هذا الصف.

لتحرير مرشح في واجهة الويب الكلاسيكية، انتقل إلى علامة تبويب المرشحات في أداة الفحص، ثم حرر المرشح بالنقر على اسم المرشح وإجراء التغييرات في محرر المرشح.

يمكن نسخ مرشح أو إعادة تسميته أو حذفه بالنقر على قائمة "إجراءات" على الجانب الأيمن من اسم المرشح مع تحديد خيار.

بعد تكوين المرشحات، يلزم تعيين تلك المرشحات لمستخدمين أو لمجموعات.

تكوين مرشحات ديناميكية فعّالة

يمكنك تكوين مرشحات ديناميكية بناءً على مصدر البيانات الخارجي لتقليص عدد تعريفات المرشحات المطلوبة.

وبدلاً من إدارة مجموعة من المرشحات ذات البرمجة الثابتة لوصول عديد من المستخدمين إلى البيانات، يمكنك ترشيح عملية الوصول إلى خلايا المكعب، عندما يكون الوصول من بيانات مصدر خارجي، استنادًا إلى اسمي العضو والمستخدم.
سوف تتم هذه العملية باستخدام صياغة تعريف المرشح الديناميكي، ويشمل ذلك الأسلوب @datasourceLookup والمتغيرين $LoginUser و$LoginGroup. البيانات المصدر الخارجية عبارة عن ملف csv أو جدول علائقي. للحصول على بيانات مصدر علائقية، يمكنك تحميل ملف .csv في جدول علائقي.

صياغة المرشح الديناميكي

استخدم صيغة المرشح الديناميكي لتكوين مرشحات مرنة يمكنك تعيينها للعديد من المستخدمين والمجموعات.

يمكن أن تشتمل صفوف المرشحات على العناصر التالية كجزء من تعريفها، إلى جانب تعبيرات الأعضاء.

$loginuser

يخزِّن هذا المتغير قيمة المستخدم المسجَّل دخوله حاليًا في وقت التشغيل. ويمكن استخدامه مع الأسلوب @datasourcelookup.

$logingroup

يخزن هذا المتغير قيمة كل المجموعات التي ينتمي إليها المستخدم المسجل دخوله حاليًا. وهو يشتمل على المجموعات المباشرة وغير المباشرة كذلك. وعند استخدامه مع أسلوب @datasourcelookup يتم البحث عن كل مجموعة بشكل منفصل في مصدر البيانات.

@datasourcelookup

يسحب هذا الأسلوب السجلات من قاعدة بيانات.

الصياغة

@datasourcelookup (dataSourceName, columnName, columnValue, returnColumnName)
المعلمة الوصف
dataSourceName

اسم مصدر البيانات الخارجي المعرَّف في Essbase. بالنسبة إلى مصدر البيانات على مستوى التطبيق، ابدأ الاسم بإضافة اسم التطبيق ونقطة.

columnName

اسم عمود مصدر البيانات المطلوب البحث فيه عن قيمة عمود columnValue معينة.

columnValue

القيمة المطلوب البحث عنها في columnName.

returnColumnName

اسم عمود مصدر البيانات المطلوب إرجاع قائمة بالقيم منه.

الوصف

يساوي استدعاء @datasourcelookup استعلام SQL التالي:

select returnColumnName from dataSourceName where columnName=columnValue

يبحث المتغير @datasourcelookup عن مصدر البيانات المحدد ويبحث عن السجلات التي يشتمل columnName فيها على columnValue. إذا حددت القيمة columnValue لتكون $loginuser، فسيبحث هذا الأسلوب على السجلات التي يشتمل columnName فيها على اسم المستخدم المسجل دخوله حاليًا.

يُنشئ Essbase صف تعريف المرشح عن طريق جمع عناصر القائمة على شكل سلسلة مفصولة بفواصل. إذا احتوى أي سجل على أحرف خاصة أو مسافات أو أرقام فقط، فإنها تُحاط بعلامات اقتباس.

أمثلة

ضع المعلمات بين علامات اقتباس.

يبحث الاستدعاء التالي عن مصدر بيانات عام ويُرجع قائمة بأسماء المتاجر التي تكون مديرتها هي ماري Mary.

@datasourceLookup("StoreManagersDS","STOREMANAGER","Mary","STORE")

يبحث الاستدعاء التالي عن مصدر بيانات على مستوى التطبيق ويُرجع قائمة بأسماء المتاجر التي مديرها هو المستخدم المسجَّل دخوله حاليًا.

@datasourceLookup("Sample.StoreManagersDS","STOREMANAGER","$loginuser","STORE")

يبحث الاستدعاء التالي عن مصدر بيانات على مستوى التطبيق ويُرجع قائمة بأسماء المتاجر store التي تتطابق أقسام فيها مع المجموعات التي ينتمي إليها المستخدم المسجل دخوله.

@datasourceLookup("Sample.StoreManagersDS","STORE_DEPARTMENT","$logingroup","STORE")

إذا كان المستخدم المسجل دخوله ينتمي إلى 3 مجموعات، فإن الأسلوب أعلاه @datasourcelookup يُرجع كل قيم الجداول المطابقة في كل مجموعة.

سير عمل تكوين مرشحات ديناميكية

استخدم سير العمل العام التالي لتكوين مرشحات ديناميكية.

المفترض في سير عمل المرشحات الديناميكية هذا أنك كوّنت مكعبًا وقمت بتزويد المستخدمين والمجموعات بالفعل.

  1. حدد مصدر بيانات، سواء أكان ملفًا أم مصدرًا علائقيًا.
  2. عرِّف الاتصال ومصدر البيانات في Essbase، إما تعريفًا عموميًا أو على مستوى التطبيق.
  3. قم بتكوين مرشحات على مستوى المكعب،
    • في واجهة Redwood، انتقل إلى المكعب، اختر التخصيص ثم اختر المرشحات.
    • في واجهة الويب الكلاسيكية، استخدم قسم المرشحات في أداة فحص قاعدة البيانات.

  4. عرِّف صفوف كل المرشحات باستخدام صياغة المرشح الديناميكي لاستخدام المتغير $loginuser والمتغير $logingroup والأسلوب @datasourcelookup حسب الحاجة.
  5. يمكنك تعيين المرشحات إلى مستخدمين أو مجموعات.
  6. إذا قمت بتعيين المرشح إلى مجموعة، فقم بتعيين المجموعة للتطبيق ليتم ترشيحها،
    • في واجهة Redwood، انتقل إلى التطبيق، اختر التخصيص ثم اختر الأذونات.
    • في واجهة الويب الكلاسيكية، استخدم قسم الأذونات في أداة فحص التطبيق.

مثال على مرشح ديناميكي

يعمل المرشح الديناميكي التالي مع المكعب الذي يحمل الاسم Efficient.UserFilters، المتاح في المعرض كعينة لقالب.


مرشح ديناميكي بثلاثة صفوف يمنح حق قراءة ميتاديتا للمستخدم الذي قام بتسجيل الدخول.

للتعرف على كيفية تكوين هذا المرشح الديناميكي وتطبيقه، قم بتنزيل قالب المصنف Efficient_Filters.xlsx من قسم "تقني" بالمعرض واتبع إرشادات README في المصنف. يتوفر المعرض في قسم الملفات بواجهة Essbase على الويب.