Salesforce में "View All / Modify All" — वह bypass जिस पर नज़र रखें
View All और Modify All चुपचाप Salesforce sharing model को bypass कर देते हैं। ये क्या करते हैं, कहाँ से आते हैं, किसे जाँचें, और AI agents के लिए क्यों अहम हैं।
Salesforce sharing model का अधिकांश हिस्सा सावधानी से record access देने के बारे में है। View All और Modify All उस सबको खिड़की से बाहर फेंक देते हैं — ये किसी उपयोगकर्ता को sharing पूरी तरह नज़रअंदाज़ करते हुए सब कुछ देखने या बदलने देते हैं। एडमिन के लिए ये अनिवार्य हैं और फैल जाने पर खतरनाक। यहाँ बताया गया है कि ये क्या करते हैं और इन्हें काबू में कैसे रखें।
ये असल में करते क्या हैं
ये अनुमतियाँ sharing model को bypass कर देती हैं — org-wide defaults, role hierarchy, sharing rules, सब कुछ:
- View All — किसी object का हर record देखना।
- Modify All — किसी object के हर record को देखना, संपादित करना, हटाना और transfer करना।
Cases पर View All रखने वाला उपयोगकर्ता org का हर case देखता है, भले ही org-wide default Private हो और कोई sharing rule दूर-दूर तक न हो। उस object के लिए उस पर sharing लागू ही नहीं होती।
जब ये मौजूद हों, तो बाकी sharing model अप्रासंगिक हो जाता है — ये उससे ऊपर बैठते हैं।
दो scope: object बनाम system-wide
| अनुमति | Scope | प्रभाव |
|---|---|---|
| View All (object) | एक object | उस object के सभी records देखना |
| Modify All (object) | एक object | उस object के सभी records पर पूर्ण नियंत्रण |
| View All Data | पूरा org | (लगभग) सभी records, सभी objects देखना |
| Modify All Data | पूरा org | (लगभग) सभी records, सभी objects पर पूर्ण नियंत्रण |
Object-level संस्करण सीमित दायरे वाले होते हैं और कभी-कभी जायज़ भी। System-wide View All Data / Modify All Data भारी तोपख़ाने जैसे हैं — शक्तिशाली, और जिन पर सबसे कड़ी निगरानी रखनी चाहिए।
ये कहाँ से आते हैं
- System Administrator profile — डिफ़ॉल्ट रूप से View All Data और Modify All Data के साथ आता है।
- Custom profiles और permission sets — अक्सर किसी एक-बार की ज़रूरत हल करने के लिए दिए जाते हैं (“बस support को सारे cases देखने दो”) और फिर भुला दिए जाते हैं।
चूँकि किसी उपयोगकर्ता की अनुमतियाँ उसके profile और हर assigned permission set का union होती हैं, ये कई permission sets में से किसी एक में भी छिपी हो सकती हैं — और यही इन्हें नज़र से ओझल कर देता है। ये profiles और permission sets से गहराई से जुड़ी हैं।
जब access गलत दिखे तो सबसे पहले इन्हें क्यों जाँचें
जब कोई उपयोगकर्ता वह record देख पाता है जो उसे नहीं देखना चाहिए, तो Sharing बटन कुछ भी नहीं दिखा सकता — क्योंकि वह access sharing से आ ही नहीं रहा। View All / Modify All access तो देते हैं पर वह किसी share के रूप में नहीं दिखता। इसलिए sharing rules खंगालने से पहले इन्हें खारिज कर दें।
AI agents के लिए ये दोगुना मायने क्यों रखते हैं
एक AI agent अपने running user की अनुमतियाँ विरासत में पाता है। अगर उस पहचान में View All Data है, तो agent अनुरोध मिलने पर org का हर record पढ़ सकता है — और आपके द्वारा कॉन्फ़िगर किए हर sharing rule को bypass कर देता है। यह पुष्टि करना कि agent की पहचान में ये अनुमतियाँ नहीं हैं, deployment से पहले access के ऑडिट का एक मुख्य कदम है।
इन्हें काबू में रखना
- हर profile और permission set में object-level View All/Modify All और system-wide View All Data/Modify All Data की सूची बनाएँ।
- उन उपयोगकर्ताओं को सूचीबद्ध करें जिनके पास हर अनुमति है, चाहे सीधे या permission sets के ज़रिए।
- न्यूनतम विशेषाधिकार लागू करें — जहाँ access को सचमुच org-wide होने की ज़रूरत नहीं है, वहाँ व्यापक View All को सीमित दायरे वाले sharing rules से बदलें।
- बदलावों के बाद दोबारा जाँचें — कोई नया permission set चुपचाप एक bypass फिर से ला सकता है।
bypass को अपने आप सामने लाना
मुश्किल हिस्सा यह है कि ये अनुमतियाँ वहाँ नहीं दिखतीं जहाँ आप sharing खोजते हैं — ये एक अलग स्विच हैं, कई permission sets में से किसी में भी, जो चुपचाप बाकी सब को override कर देता है। AgentForceAccess इन्हें अपने आप गणना में शामिल कर लेता है: जब वह बताता है कि कोई उपयोगकर्ता (या किसी agent का उपयोगकर्ता) कोई record क्यों देख सकता है, तो “इनके पास View All Data है — sharing लागू नहीं होती” को किसी भी sharing rule जितनी स्पष्टता से सामने लाया जाता है, ताकि bypass वह चीज़ न रहे जो आपसे छूट जाती है।
अक्सर पूछे जाने वाले सवाल
View All और Modify All असल में करते क्या हैं?
ये किसी object के हर record तक access देते हैं, sharing model को नज़रअंदाज़ करते हुए। View All का मतलब है हर record देखना; Modify All का मतलब है हर record को देखना, संपादित करना, हटाना और transfer करना। Object-level संस्करण एक object पर लागू होते हैं; system-wide "View All Data" और "Modify All Data" एक साथ (लगभग) सभी objects पर लागू होते हैं।
डिफ़ॉल्ट रूप से ये अनुमतियाँ किसके पास होती हैं?
System Administrator profile में View All Data और Modify All Data शामिल रहते हैं। इसके अलावा, ये custom profiles और permission sets पर दिखते हैं — अक्सर किसी एक-बार की access ज़रूरत को हल करने के लिए जोड़े जाते हैं और कभी हटाए नहीं जाते। केवल एडमिन ही नहीं, बल्कि हर profile और permission set की जाँच करें।
AI agents के लिए ये खतरनाक क्यों हैं?
एक agent अपने running user की अनुमतियाँ विरासत में पाता है। अगर उस उपयोगकर्ता के पास View All Data है, तो agent अनुरोध मिलने पर org का हर record पढ़ सकता है, और वह सारी sharing bypass कर देता है जिसे आपने सावधानी से कॉन्फ़िगर किया था। किसी agent को deploy करने से पहले पुष्टि करें कि उसकी पहचान में ये अनुमतियाँ नहीं हैं।
मैं कैसे पता करूँ कि View All / Modify All किसके पास है?
हर profile और permission set में object-level View All/Modify All और system-wide View All Data/Modify All Data की जाँच करें, फिर उनके assigned उपयोगकर्ताओं की सूची बनाएँ। मैन्युअल रूप से यह थकाऊ है क्योंकि यह अनुमति उपयोगकर्ता के पास मौजूद कई permission sets में से किसी से भी आ सकती है।
इसे अपने org पर देखें
AgentForceAccess सीधी भाषा में समझाता है कि कोई भी user किसी भी record या file को क्यों देख सकता है — हर Salesforce sharing तंत्र में।
जल्द access का अनुरोध करें