Tableau / متقدم: الجودة والتسليم المحكوم / الدرس 15
الصلاحيات ومرشحات المستخدم وأمان الصفوف
افصل قدرات المحتوى عن صفوف البيانات المسموحة، وصمم اختبارات هوية دون استخدام مرشح العرض كأمان.
في هذه الصفحة
أهداف الدرس
- تمييز الصلاحيات والهوية وقيود الصفوف.
- مراجعة تخطيط السماحات وسلوك المستخدم المجهول.
- حماية منطق الأمان عبر التحرير والتنزيل.
افصل وصول المحتوى والصفوف
تضبط الصلاحيات قدرات كالعرض والتحرير والتنزيل، بينما يقيد أمان الصفوف المجتمع المرئي للمستخدم. ليس مرشح منطقة أو ورقة مخفية حد أمان كامل. ابدأ بالهوية المصادقة وسماحاتها المعتمدة. قد تعيد اللوحة North 30 لمستخدم وSouth 30 لآخر، بينما يرى مؤلف غير مقيّد بقيود الصفوف إجمالي 60. لا تحكم بمرجع واحد على الجميع. لا يقرأ المسار هويات أو صلاحيات ويستخدم أسماء محجوزة. يحتاج الاختبار قدرات المستهلك المقصود والصفوف المتوقعة معا، إذ لا يثبت فتح المحتوى وحده صحة المجتمع الذي يعرضه.
اقرأ افتراض مرشح السماح
لا يكتمل معنى التعبير إلا ضمن مصدر محكوم فيه Allowed User مناسب وسلوك هوية مدعوم. ليس حلا أمنيا كاملا وحده. قد يختلف تمثيل USERNAME محليا واستضافة، فتحقق من الصيغة بإجراء مخول. يجب أن يمنع غياب التخطيط الوصول حسب التصميم. وقد يكرر ربط السماحات الوقائع إن سطحت منحا متعددة خطأ. سو المفاتيح والمبالغ المسموحة. لا تضع أسماء فعلية أو رموزا أو تصدير سماحات خاصا في دليل عام. يجب أن يوضح العقد أين يطبق المرشح ومن يستطيع تغيير تعريفه.
[Allowed User] = USERNAME()
افترض نموذج سماحات مراجع وطبقة ترشيح محمية. لا ينشئ المقطع صلاحيات أو ينشر مصدرا أو يثبت التنفيذ.
احم طبقة التنفيذ
لا يقدم مرشح مصنف يمكن للمستهلك تغييره ضمان طبقة مصدر أو سياسة اتصال محمية. راجع النشر والتحرير والتنزيل والوصول البديل معا. يوثق Tableau مناهج RLS متعددة، ومنها سياسات virtual connection عند توفر ميزاتها واستحقاقها؛ فلا تفترض وجودها بكل نشر. اختر تصميما مدعوما بمالك وصلاحيات فعلية. لا تثبت معاينة المؤلف تنفيذا مستضافا. لا ينشئ المسار صلاحية أو مصدرا أو سياسة أو اتصالا ولا يستدعي إدارة أو API. يبقى المثال شرحا لحدود المسؤولية لا وصفة أمن عالمية.
نمذج الهوية المعروفة والمجهولة
يربط البرنامج هوية افتراضية بـ North ويعطي المجهول مجموعة فارغة. يوضح مجتمعا يمنع افتراضيا، لا حل هوية Tableau أو صلاحياته. مجموع North 30. قد يغير سماح أوسع النتيجة بصورة مشروعة ويجب مراجعته لا إخفاؤه بمرشح. احتفظ بسجلات مسموحة ومرفوضة وحالات منح متعددة وغياب التخطيط. لا يثبت مجرد فتح تقرير غياب الصفوف غير المخولة بكل طريق استهلاك مدعوم. تحدد الأمثلة ما يجب التحقق منه ولا تنوب عن اختبار التنفيذ الفعلي.
entitlements = {"reader@example.test": {"North"}}
rows = [("North", 12), ("North", 18), ("South", 30)]
for user in ("reader@example.test", "unknown@example.test"):
allowed = entitlements.get(user, set())
print(sum(amount for region, amount in rows if region in allowed))
30
0
تعكس 30 و 0 هذا التخطيط في الذاكرة فقط، دون حساب أو مزود مصادقة أو مصنف أو خادم.
راجع دليل المستهلك الفعلي
حدد مستخدم North ومستخدم South وهوية مجهولة وسماحات متعددة وحالة قدرة تحرير أو تنزيل. اكتب الصفوف والمجاميع المتوقعة لا التنقل الناجح فقط. تحقق من المنتج والنسخة وتصميم المصدر المحمي بدليل مخول. ينفذ المسار عضوية مجموعة فقط دون دخول أو اختبار وصول. يفصل التسليم صيغة الهوية وصيانة السماح وصلاحيات المحتوى وطبقة التنفيذ والنتائج المرصودة. احفظ المخاطر المفتوحة، ولا تسم أداة مخفية أو اختبار مؤلف ناجحا إثبات أمان الخاص. يتبع القبول المستهلك المقصود لا رؤية المؤلف الأوسع؛ وتحتاج الطرق البديلة المسموحة مراجعتها المنفصلة.
الأخطاء الشائعة وإصلاحها
تقديم مرشح منطقة كأمان صفوف كاف
- لماذا يحدث؟
- حل ترشيح العرض محل التنفيذ المحمي.
- كيف تصلحه؟
- استخدم RLS محكومة ومراجعة صلاحيات فعلية معتمدتين.
- كيف تتجنب تكراره؟
- اختبر طرق التحرير والوصول البديلة.
منح هوية مجهولة مجتمعا عاما افتراضيا
- لماذا يحدث؟
- لم يعرف سلوك غياب التخطيط بأمان.
- كيف تصلحه؟
- نفذ منع الافتراضي المعتمد وملكية التشخيص.
- كيف تتجنب تكراره؟
- احفظ حالات غياب التخطيط في القبول.
اعتبار معاينة المؤلف إثبات أمان المستهلك
- لماذا يحدث؟
- تختلف الهوية والقدرات بين المختبر والمستخدم.
- كيف تصلحه؟
- تحقق من سيناريو المستهلك المدعوم مستقلا.
- كيف تتجنب تكراره؟
- سجل سياق الهوية والبيانات المرفوضة المتوقعة بدقة.
اختبر فهمك
1. لماذا ليست مقارنة اسم المستخدم نشرا أمنيا كاملا؟
اعرض الحل المشروح
تحتاج المقارنة تمثيل هوية صحيحا وبيانات سماح وعلاقات وموضع ترشيح وصلاحيات محمية عبر العرض والتحرير والتنزيل. لا يثبت المقطع أيا منها وحده. صمم الحد كله وتحقق منه بهوية المستهلك ودليل افتراضي، دون كشف المنح الحقيقية. شرط منطقي صحيح في ورقة جزء صغير من أمان يحتاج ضبط مصدره ومن يستطيع تغييره والوصول إليه.
2. ماذا يثبت صفر المستخدم المجهول وماذا لا يثبت؟
اعرض الحل المشروح
يثبت البرنامج افتراضي القاموس الفارغ وعدم إدراج صفوف في جمعه التعليمي فقط. لا يختبر مصادقة Tableau أو أمان المستخرج أو الصلاحيات أو وصولا بديلا. احفظ المجتمع المرفوض المقصود في خطة القبول المخولة ولا تعرض Python كدليل تنفيذ. يجب أن تميز النتيجة المتوقعة من اختبار الهوية الفعلية والقيود التي تطبقها المنصة عليها.
أهم ما تعلمته
- قدرات المحتوى والصفوف المسموحة طبقتا أمان مستقلتان.
- تحتاج RLS منطقا محميا وتحققا للمستهلك المقصود.