एक्सेस कंट्रोल के माध्यम से विश्वास बनाना
अधिकांश ऐप्स को लगता है कि वे सुरक्षित हैं क्योंकि उनके पास एक लॉगिन पेज है।
लॉगिन केवल पहला कदम है। एक बार जब उपयोगकर्ता प्रवेश कर जाता है, तो आपको एक प्रश्न का उत्तर देना होगा: यह उपयोगकर्ता क्या कर सकता है?
कई लोग ऑथेंटिकेशन (authentication) और ऑथोराइजेशन (authorization) के बीच भ्रमित हो जाते हैं।
• ऑथेंटिकेशन पूछता है: आप कौन हैं? • ऑथोराइजेशन पूछता है: आपको क्या करने की अनुमति है?
एक उपयोगकर्ता सफलतापूर्वक लॉग इन कर सकता है। इसका मतलब यह नहीं है कि उन्हें हर रिकॉर्ड देखना चाहिए या हर प्रोफाइल को एडिट करना चाहिए।
नियमों को स्पष्ट करने के लिए रोल बेस्ड एक्सेस कंट्रोल (RBAC) का उपयोग करें।
RBAC अनुमत भूमिकाओं (allowed roles) की सूची के विरुद्ध उपयोगकर्ता की भूमिका की जाँच करके काम करता है। यदि आप एक्सेस कंट्रोल का उपयोग नहीं करते हैं, तो आपको इन जोखिमों का सामना करना पड़ सकता है:
- अत्यधिक एक्सपोज्ड डैशबोर्ड (Overexposed dashboards)
- बहुत अधिक आंतरिक अनुमतियाँ (Too many internal permissions)
- आकस्मिक डेटा लीक
- खराब ऑडिट ट्रेल्स (Poor audit trails)
- टूटा हुआ विश्वास
'प्रिंसिपल ऑफ लीस्ट प्रिविलेज' (principle of least privilege) का पालन करें। उपयोगकर्ताओं को केवल वही एक्सेस दें जिसकी उन्हें अपने काम के लिए आवश्यकता है।
• सपोर्ट स्टाफ को सभी ग्राहक रिकॉर्ड नहीं देखने चाहिए। • इंजीनियरों के पास डिफ़ॉल्ट रूप से प्रोडक्शन एक्सेस नहीं होना चाहिए। • HR डेटा को अलग (segmented) रखा जाना चाहिए। • एडमिन भूमिकाएँ दुर्लभ और ऑडिट करने योग्य (auditable) होनी चाहिए।
कभी-कभी केवल भूमिकाएँ पर्याप्त नहीं होती हैं। आपको एक्शन-आधारित अनुमतियों (action-based permissions) की आवश्यकता होती है। एक उपयोगकर्ता किसी रिकॉर्ड को देख सकता है लेकिन उसे डिलीट नहीं कर सकता। यह आपको ग्रैनुलर कंट्रोल (granular control) देता है।
आपको संवेदनशीलता (sensitivity) के आधार पर डेटा को भी अलग करना चाहिए: • पब्लिक डेटा: नाम और फोटो। • प्राइवेट डेटा: ईमेल और फोन। • सेंसिटिव डेटा: वेतन या आईडी नंबर।
अपने कोड में इन श्रेणियों के साथ अलग तरह से व्यवहार करें। इससे सुरक्षा को प्रबंधित करना आसान हो जाता है।
विश्वास के लिए जवाबदेही (accountability) भी आवश्यक है। हर बार जब कोई संवेदनशील डेटा को छूता है, तो आपके सिस्टम को एक ऑडिट ट्रेल (audit trail) बनाना चाहिए। संवेदनशील कार्यों का एक निशान (trace) बचना चाहिए।
अपना ऐप रिलीज़ करने से पहले, इन बिंदुओं की जाँच करें:
- क्या लॉगिन और सेशन फ्लो सुरक्षित हैं?
- क्या अनुमतियाँ भूमिकाओं और कार्यों पर आधारित हैं?
- क्या संवेदनशील डेटा को अलग (segmented) किया गया है?
- क्या आपकी डिफ़ॉल्ट सेटिंग्स प्रतिबंधात्मक (restrictive) हैं?
- क्या आप सभी एक्सेस को लॉग करते हैं?
- क्या आप अपने उपयोगकर्ताओं को अनुमतियों के बारे में समझा सकते हैं?
ऑथेंटिकेशन उपयोगकर्ताओं को अंदर लाता है। ऑथोराइजेशन आपके सिस्टम को भरोसेमंद बनाए रखता है। विश्वास एक प्रोडक्ट फीचर है।
