ॲक्सेस कंट्रोलद्वारे विश्वास निर्माण करणे
बहुतेक ॲप्सना वाटते की त्यांच्याकडे लॉगिन पेज असल्यामुळे ते सुरक्षित आहेत.
लॉगिन हे केवळ पहिले पाऊल आहे. एकदा वापरकर्ता प्रवेश केल्यावर, तुम्हाला एका प्रश्नाचे उत्तर द्यावे लागेल: हा वापरकर्ता काय करू शकतो?
अनेक लोक Authentication आणि Authorization यामध्ये गोंधळ करतात.
• Authentication विचारते: तुम्ही कोण आहात? • Authorization विचारते: तुम्हाला काय करण्याची परवानगी आहे?
वापरकर्ता यशस्वीरित्या लॉगिन करू शकतो. याचा अर्थ असा नाही की त्यांनी प्रत्येक रेकॉर्ड पाहिला पाहिजे किंवा प्रत्येक प्रोफाइल संपादित केले पाहिजे.
नियम स्पष्ट करण्यासाठी Role Based Access Control (RBAC) वापरा.
RBAC वापरकर्त्याची भूमिका (role) परवानगी असलेल्या भूमिकांच्या सूचीशी तपासून काम करते. जर तुम्ही ॲक्सेस कंट्रोल वापरला नाही, तर तुम्हाला खालीलसारख्या जोखमींचा सामना करावा लागू शकतो:
- अति-प्रकट डॅशबोर्ड्स (Overexposed dashboards)
- खूप जास्त अंतर्गत परवानग्या
- अपघाती डेटा लीक
- कमकुवत ऑडिट ट्रेल्स (Audit trails)
- तुटलेला विश्वास
'Principle of least privilege' (किमान विशेषाधिकारांचे तत्त्व) पाळा. वापरकर्त्यांना त्यांच्या कामासाठी आवश्यक असलेली ॲक्सेस (परवानगी) इतकीच द्या.
• सपोर्ट स्टाफने सर्व ग्राहकांचे रेकॉर्ड्स पाहू नयेत. • इंजिनिअर्सना डीफॉल्टनुसार प्रोडक्शन ॲक्सेस नसावा. • HR डेटा विभागलेला (segmented) असणे आवश्यक आहे. • ॲडमिन भूमिका दुर्मिळ आणि ऑडिट करण्यायोग्य असाव्यात.
कधीकधी केवळ भूमिका पुरेशा नसतात. तुम्हाला कृती-आधारित परवानग्यांची (action-based permissions) आवश्यकता असते. एखादा वापरकर्ता रेकॉर्ड पाहू शकतो परंतु तो हटवू शकत नाही. यामुळे तुम्हाला सूक्ष्म नियंत्रण (granular control) मिळते.
तुम्ही डेटाची संवेदनशीलता पाहून तो देखील वेगळा केला पाहिजे: • सार्वजनिक डेटा (Public data): नाव आणि फोटो. • खाजगी डेटा (Private data): ईमेल आणि फोन. • संवेदनशील डेटा (Sensitive data): पगार किंवा आयडी नंबर.
तुमच्या कोडमध्ये या श्रेणींना वेगवेगळ्या प्रकारे हाताळा. यामुळे सुरक्षा व्यवस्थापित करणे सोपे होते.
विश्वासासाठी उत्तरदायित्व (accountability) देखील आवश्यक आहे. जेव्हा जेव्हा कोणी संवेदनशील डेटा हाताळतो, तेव्हा तुमच्या सिस्टमने ऑडिट ट्रेल तयार केला पाहिजे. संवेदनशील कृतींचा मागोवा (trace) असणे आवश्यक आहे.
तुमचे ॲप लाँच करण्यापूर्वी, या मुद्द्यांची तपासणी करा:
- लॉगिन आणि सेशन फ्लो सुरक्षित आहेत का?
- परवानग्या भूमिका आणि कृतींवर आधारित आहेत का?
- संवेदनशील डेटा विभागलेला आहे का?
- तुमच्या डीफॉल्ट सेटिंग्ज मर्यादित (restrictive) आहेत का?
- तुम्ही सर्व ॲक्सेस लॉग करता का?
- तुम्ही तुमच्या वापरकर्त्यांना परवानग्या समजावून सांगू शकता का?
Authentication वापरकर्त्यांना प्रवेश देते. Authorization तुमची सिस्टम विश्वासार्ह ठेवते. विश्वास हे उत्पादनाचे एक वैशिष्ट्य (feature) आहे.
