அணுகல் கட்டுப்பாட்டின் மூலம் நம்பிக்கையை உருவாக்குதல்

பெரும்பாலான செயலிகள் தங்களுக்கு ஒரு லாகின் (login) பக்கம் இருப்பதால் அவை பாதுகாப்பானவை என்று நினைக்கின்றன.

லாகின் என்பது முதல் படி மட்டுமே. ஒரு பயனர் உள்ளே நுழைந்தவுடன், நீங்கள் ஒரு கேள்விக்கு பதிலளிக்க வேண்டும்: இந்த பயனர் என்ன செய்ய முடியும்?

பலரும் அங்கீகாரம் (authentication) மற்றும் அனுமதி (authorization) ஆகியவற்றை குழப்பிக்கொள்கிறார்கள்.

• அங்கீகாரம் (Authentication) கேட்கிறது: நீங்கள் யார்? • அனுமதி (Authorization) கேட்கிறது: நீங்கள் என்ன செய்ய அனுமதிக்கப்படுகிறீர்கள்?

ஒரு பயனர் வெற்றிகரமாக லாகின் செய்யலாம். ஆனால், இதன் பொருள் அவர்கள் ஒவ்வொரு பதிவையும் பார்க்க வேண்டும் அல்லது ஒவ்வொரு சுயவிவரத்தையும் திருத்த வேண்டும் என்பதல்ல.

விதிகளைத் தெளிவாக வைத்திருக்க பங்கு அடிப்படையிலான அணுகல் கட்டுப்பாடு (Role Based Access Control - RBAC) முறையைப் பயன்படுத்தவும்.

RBAC என்பது ஒரு பயனரின் பங்கினை (role) அனுமதிக்கப்பட்ட பங்குகளின் பட்டியலுடன் ஒப்பிட்டுச் சரிபார்ப்பதன் மூலம் செயல்படுகிறது. நீங்கள் அணுகல் கட்டுப்பாட்டைப் பயன்படுத்தவில்லை என்றால், பின்வரும் அபாயங்களைச் சந்திக்க நேரிடும்:

  • அதிகப்படியான தகவல்களைக் காட்டும் டேஷ்போர்டுகள் (Overexposed dashboards)
  • அதிகப்படியான உள் அனுமதிகள் (Too many internal permissions)
  • தற்செயலான தரவு கசிவுகள் (Accidental data leaks)
  • முறையற்ற தணிக்கை பதிவுகள் (Poor audit trails)
  • சிதைந்த நம்பிக்கை (Broken trust)

குறைந்தபட்ச சலுகை கொள்கையை (principle of least privilege) பின்பற்றுங்கள். பயனர்களுக்கு அவர்களின் வேலைக்குத் தேவையான அணுகலை மட்டுமே வழங்கவும்.

• ஆதரவுப் பணியாளர்கள் (Support staff) அனைத்து வாடிக்கையாளர் பதிவுகளையும் பார்க்கக்கூடாது. • பொறியாளர்களுக்கு (Engineers) இயல்பாகவே தயாரிப்பு சூழலுக்கான அணுகல் (production access) இருக்கக்கூடாது. • மனிதவளத் தரவுகள் (HR data) தனிப்பயனாக்கப்பட்டுப் பாதுகாக்கப்பட வேண்டும். • நிர்வாகப் பங்குகள் (Admin roles) மிகக் குறைவாகவும், தணிக்கை செய்யக்கூடியதாகவும் இருக்க வேண்டும்.

சில நேரங்களில் பங்குகள் மட்டும் போதுமானதல்ல. உங்களுக்குச் செயல் அடிப்படையிலான அனுமதிகள் (action-based permissions) தேவைப்படலாம். ஒரு பயனர் ஒரு பதிவைப் பார்க்க முடியும், ஆனால் அதை நீக்க முடியாது. இது உங்களுக்கு நுணுக்கமான கட்டுப்பாட்டை (granular control) வழங்குகிறது.

தரவுகளையும் அவற்றின் உணர்திறன் (sensitivity) அடிப்படையில் பிரிக்க வேண்டும்: • பொதுத் தரவு (Public data): பெயர் மற்றும் புகைப்படம். • தனிப்பட்ட தரவு (Private data): மின்னஞ்சல் மற்றும் தொலைபேசி எண். • உணர்திறன் மிக்க தரவு (Sensitive data): சம்பளம் அல்லது அடையாள எண்கள்.

உங்கள் குறியீட்டில் (code) இந்த வகைகளைத் தனித்தனியாகக் கையாளவும். இது பாதுகாப்பை நிர்வகிப்பதை எளிதாக்கும்.

நம்பிக்கை என்பது பொறுப்புணர்வையும் (accountability) கோருகிறது. யாராவது உணர்திறன் மிக்க தரவைத் தொடும் ஒவ்வொரு முறையும், உங்கள் அமைப்பு ஒரு தணிக்கைப் பதிவை (audit trail) உருவாக்க வேண்டும். முக்கியமான செயல்கள் ஒரு தடயத்தை விட்டுச் செல்ல வேண்டும்.

உங்கள் செயலியை வெளியிடுவதற்கு முன், இந்த அம்சங்களைச் சரிபார்க்கவும்:

  • லாகின் மற்றும் செஷன் (session) ஓட்டங்கள் பாதுகாப்பானவையா?
  • அனுமதிகள் பங்குகள் மற்றும் செயல்களின் அடிப்படையில் உள்ளனவா?
  • உணர்திறன் மிக்க தரவுகள் பிரிக்கப்பட்டுள்ளனவா?
  • உங்கள் இயல்புநிலை அமைப்புகள் கட்டுப்பாட்டுடன் உள்ளனவா?
  • அனைத்து அணுகல்களையும் நீங்கள் பதிவு செய்கிறீர்களா?
  • உங்கள் பயனர்களுக்கு அனுமதிகளைப் பற்றி விளக்க முடியுமா?

அங்கீகாரம் (Authentication) பயனர்களை உள்ளே அனுமதிக்கிறது. அனுமதி (Authorization) உங்கள் அமைப்பை நம்பகமானதாக வைத்திருக்கிறது. நம்பிக்கை என்பது ஒரு தயாரிப்பு அம்சம் (product feature).

Source: https://dev.to/samiatakande11/building-trust-into-authentication-practical-access-control-patterns-for-modern-apps-55pc