صلاحيتا "View All / Modify All" في Salesforce — تجاوز يستحق الانتباه
تتجاوز View All وModify All نموذج المشاركة في Salesforce بصمت. ماذا تفعلان، ومن أين تأتيان، ومن يجب فحصه، ولماذا تهمّان لوكلاء الذكاء الاصطناعي.
يدور معظم نموذج المشاركة في Salesforce حول منح الوصول إلى السجلات بعناية. أما View All وModify All فتنسفان ذلك تمامًا — إذ تتيحان للمستخدم رؤية كل شيء أو تغييره، متجاهلتين المشاركة كليًا. وهما ضروريتان للمسؤولين وخطيرتان عندما تنتشران. وفيما يلي ماذا تفعلان وكيف تبقيهما تحت السيطرة.
ماذا تفعلان فعليًا
تتجاوز هاتان الصلاحيتان نموذج المشاركة — الإعدادات الافتراضية على مستوى المؤسسة، والتسلسل الهرمي للأدوار، وقواعد المشاركة، كل ذلك:
- View All — رؤية كل سجل من سجلات الكائن.
- Modify All — رؤية كل سجل من سجلات الكائن وتعديله وحذفه ونقل ملكيته.
المستخدم الذي يملك View All على Cases يرى كل حالة في المؤسسة، حتى مع إعداد افتراضي خاص (Private) على مستوى المؤسسة ودون أي قاعدة مشاركة في الأفق. فالمشاركة ببساطة لا تنطبق عليه فيما يخص ذلك الكائن.
عندما تكون هاتان الصلاحيتان موجودتين، يصبح بقية نموذج المشاركة غير ذي صلة — فهما تعلوانه.
نطاقان: الكائن مقابل المؤسسة بأكملها
| الصلاحية | النطاق | الأثر |
|---|---|---|
| View All (الكائن) | كائن واحد | رؤية كل سجلات ذلك الكائن |
| Modify All (الكائن) | كائن واحد | التحكم الكامل في كل سجلات ذلك الكائن |
| View All Data | المؤسسة بأكملها | رؤية (جميع) السجلات تقريبًا في كل الكائنات |
| Modify All Data | المؤسسة بأكملها | التحكم الكامل في (جميع) السجلات تقريبًا في كل الكائنات |
النسختان على مستوى الكائن محدودتا النطاق ومشروعتان أحيانًا. أما View All Data / Modify All Data على مستوى المؤسسة فهما المدفعية الثقيلة — قويتان، وهما اللتان يجب حراستهما بأشد قدر من الانتباه.
من أين تأتيان
- ملف تعريف System Administrator — يأتي مزوّدًا بصلاحيتي View All Data وModify All Data افتراضيًا.
- ملفات التعريف ومجموعات الصلاحيات المخصصة — تُمنحان كثيرًا لحل حاجة لمرة واحدة (“دع الدعم فقط يرى كل الحالات”) ثم تُنسيان.
ولأن صلاحيات المستخدم هي اتحاد ملف تعريفه وكل مجموعة صلاحيات معيّنة له، فقد تختبئ هاتان الصلاحيتان في أيٍّ من عدة مجموعات صلاحيات — وهذا ما يجعل تتبّعهما سهل الضياع. وهما مرتبطتان ارتباطًا وثيقًا بـملفات التعريف ومجموعات الصلاحيات.
لماذا هما أول ما يجب فحصه عندما يبدو الوصول خاطئًا
عندما يستطيع مستخدم رؤية سجل لا ينبغي له رؤيته، قد لا يُظهر زر Sharing أي شيء — لأن الوصول لا يأتي من المشاركة على الإطلاق. فصلاحيتا View All / Modify All تمنحان الوصول دون أن تظهرا كمشاركة. لذا قبل أن تنبش في قواعد المشاركة، استبعد هاتين الصلاحيتين أولًا.
لماذا تهمّان بشكل مضاعف لوكلاء الذكاء الاصطناعي
يرث وكيل الذكاء الاصطناعي صلاحيات المستخدم الذي يعمل تحت هويته. فإن كانت تلك الهوية تحمل View All Data، استطاع الوكيل قراءة كل سجل في المؤسسة عند الطلب — متجاوزًا كل قاعدة مشاركة أعددتها. والتأكد من خلوّ هوية الوكيل من هذه الصلاحيات خطوة جوهرية في تدقيق الوصول قبل النشر.
إبقاؤهما تحت السيطرة
- جرِد كل ملف تعريف وكل مجموعة صلاحيات بحثًا عن View All/Modify All على مستوى الكائن وView All Data/Modify All Data على مستوى المؤسسة.
- أدرج المستخدمين الذين يملكون كلًا منهما، مباشرةً أو عبر مجموعات الصلاحيات.
- طبّق مبدأ الحد الأدنى من الامتيازات — استبدل بـ View All الشاملة قواعد مشاركة محدودة النطاق حيثما لا يحتاج الوصول حقًا إلى أن يكون على مستوى المؤسسة.
- أعد الفحص بعد التغييرات — فمجموعة صلاحيات جديدة قد تعيد إدخال تجاوزٍ بصمت.
إظهار التجاوز تلقائيًا
الجزء الصعب هو أن هذه الصلاحيات لا تظهر حيث تبحث عن المشاركة — فهي مفتاح منفصل، في أيٍّ من مجموعات صلاحيات عديدة، يتجاوز كل شيء آخر بصمت. تأخذها AgentForceAccess في الحسبان تلقائيًا: فحين تشرح سبب قدرة مستخدم (أو مستخدم وكيلٍ) على رؤية سجل، تُظهر “إنه يملك View All Data — المشاركة لا تنطبق” بالوضوح نفسه الذي تُظهر به أي قاعدة مشاركة، فيكفّ التجاوز عن أن يكون ما يفوتك.
الأسئلة الأكثر تكراراً
ماذا تفعل View All وModify All بالضبط؟
تمنحان الوصول إلى كل سجل من سجلات الكائن، متجاهلتين نموذج المشاركة. تعني View All رؤية كل سجل؛ وتعني Modify All رؤية كل سجل وتعديله وحذفه ونقل ملكيته. تنطبق النسختان على مستوى الكائن على كائن واحد؛ بينما تنطبق "View All Data" و"Modify All Data" على مستوى المؤسسة على (جميع) الكائنات تقريبًا دفعة واحدة.
من يملك هذه الصلاحيات افتراضيًا؟
يتضمن ملف تعريف System Administrator صلاحيتي View All Data وModify All Data. وإلى جانب ذلك، تظهران في ملفات التعريف المخصصة ومجموعات الصلاحيات — وغالبًا ما تُضافان لحل حاجة وصول لمرة واحدة ثم لا تُزالان أبدًا. دقّق في كل ملف تعريف وكل مجموعة صلاحيات، لا في المسؤولين فحسب.
لماذا تشكّل هذه الصلاحيات خطرًا على وكلاء الذكاء الاصطناعي؟
يرث الوكيل صلاحيات المستخدم الذي يعمل تحت هويته. فإن كان ذلك المستخدم يملك View All Data، استطاع الوكيل قراءة كل سجل في المؤسسة عند الطلب، متجاوزًا كل المشاركة التي أعددتها بعناية. قبل نشر وكيل، تأكد من أن هويته لا تحمل هذه الصلاحيات.
كيف أعرف من يملك View All / Modify All؟
افحص كل ملف تعريف وكل مجموعة صلاحيات بحثًا عن View All/Modify All على مستوى الكائن وعن View All Data/Modify All Data على مستوى المؤسسة، ثم أدرج المستخدمين المعيّنين لها. هذا أمر مُرهق يدويًا لأن الصلاحية قد تأتي من أيٍّ من عدة مجموعات صلاحيات يملكها المستخدم.
شاهده على مؤسستك أنت
يشرح AgentForceAccess بلغة واضحة وبسيطة لماذا يستطيع أي مستخدم رؤية أي سجل أو ملف — عبر كل آلية مشاركة في Salesforce.
اطلب وصولاً مبكراً