தமிழ்

APIகள் மற்றும் பயன்பாடுகளைப் பாதுகாப்பதற்கான தொழில்துறை-தர அங்கீகார நெறிமுறையான OAuth 2.0 இன் முக்கியக் கோட்பாடுகள், பணிப்பாய்வுகள் மற்றும் பாதுகாப்பு அம்சங்களை ஆராயுங்கள்.

அடையாளம் மற்றும் அணுகல் மேலாண்மை: OAuth 2.0 பற்றிய ஒரு ஆழமான பார்வை

இன்றைய இணைக்கப்பட்ட டிஜிட்டல் உலகில், APIகள் மற்றும் பயன்பாடுகளுக்கான அணுகலைப் பாதுகாப்பது மிக முக்கியமானது. OAuth 2.0 தொழில்துறை-தர அங்கீகார நெறிமுறையாக உருவெடுத்துள்ளது, இது பயனர் நற்சான்றிதழ்களைப் பகிராமல் வளங்களுக்கான அணுகலை பாதுகாப்பாகவும் நெகிழ்வாகவும் வழங்குகிறது. இந்த விரிவான வழிகாட்டி OAuth 2.0 இன் ஆழமான ஆய்வை வழங்குகிறது, அதன் முக்கியக் கோட்பாடுகள், பணிப்பாய்வுகள், பாதுகாப்பு அம்சங்கள் மற்றும் நிஜ உலகப் பயன்பாடுகளை உள்ளடக்கியுள்ளது.

OAuth 2.0 என்றால் என்ன?

OAuth 2.0 என்பது ஒரு அங்கீகார கட்டமைப்பு ஆகும். இது ஒரு மூன்றாம் தரப்பு பயன்பாட்டிற்கு, ஒரு வள உரிமையாளர் சார்பாக அல்லது மூன்றாம் தரப்பு பயன்பாட்டிற்கு அதன் சார்பாக அணுகலைப் பெற அனுமதிக்கும் வகையில், ஒரு HTTP சேவைக்கு வரையறுக்கப்பட்ட அணுகலைப் பெற உதவுகிறது. இது அங்கீகரிப்பு நெறிமுறை அல்ல. அங்கீகரிப்பு ஒரு பயனரின் அடையாளத்தைச் சரிபார்க்கிறது, அதேசமயம் அங்கீகாரம் ஒரு பயனர் (அல்லது பயன்பாடு) அணுக அனுமதிக்கப்பட்ட வளங்களை தீர்மானிக்கிறது. OAuth 2.0 அங்கீகாரத்தில் மட்டுமே கவனம் செலுத்துகிறது.

அதை வேலேட் பார்க்கிங் போல் நினைத்துப் பாருங்கள். நீங்கள் (வள உரிமையாளர்) வேலேட் (மூன்றாம் தரப்பு பயன்பாடு) உங்கள் கார் சாவிகளை (அணுகல் டோக்கன்) உங்கள் காரை (பாதுகாக்கப்பட்ட வளம்) நிறுத்த கொடுக்கிறீர்கள். வேலேட்டிற்கு உங்கள் வீட்டு முகவரி அல்லது உங்கள் பாதுகாப்பான பெட்டியின் கலவை (உங்கள் கடவுச்சொல்) தெரிய வேண்டியதில்லை. அவர்களின் குறிப்பிட்ட பணியைச் செய்ய போதுமான அணுகல் மட்டுமே அவர்களுக்குத் தேவை.

OAuth 2.0 இல் முக்கியப் பாத்திரங்கள்

OAuth 2.0 ஓட்டங்கள் (கடன் வகைகள்)

OAuth 2.0 பல கடன் வகைகளை அல்லது ஓட்டங்களை வரையறுக்கிறது, அவை கிளையன்ட் அணுகல் டோக்கனை எவ்வாறு பெறுகிறது என்பதை தீர்மானிக்கின்றன. ஒவ்வொரு ஓட்டமும் குறிப்பிட்ட பயன்பாட்டு நிகழ்வுகள் மற்றும் பாதுகாப்புத் தேவைகளுக்காக வடிவமைக்கப்பட்டுள்ளது.

அங்கீகார குறியீடு கடன்

அங்கீகார குறியீடு கடன் என்பது வலைப் பயன்பாடுகள் மற்றும் சொந்தமான பயன்பாடுகளுக்கான மிகவும் பொதுவான மற்றும் பரிந்துரைக்கப்பட்ட ஓட்டமாகும். இதில் பின்வரும் படிகள் அடங்கும்:

  1. கிளையன்ட், வள உரிமையாளரை அங்கீகார சேவையகத்திற்கு திருப்பிவிடுகிறது.
  2. வள உரிமையாளர் அங்கீகார சேவையகத்துடன் அங்கீகரிக்கப்பட்டு, கிளையன்ட்க்கு ஒப்புதல் அளிக்கிறது.
  3. அங்கீகார சேவையகம், அங்கீகார குறியீட்டுடன் வள உரிமையாளரை கிளையன்ட்க்கு திருப்பி அனுப்புகிறது.
  4. கிளையன்ட், அங்கீகார குறியீட்டை அணுகல் டோக்கன் மற்றும் (விருப்பமாக) புதுப்பிப்பு டோக்கன் ஆக மாற்றுகிறது.
  5. கிளையன்ட், வள சேவையகத்தில் பாதுகாக்கப்பட்ட வளங்களை அணுக அணுகல் டோக்கனைப் பயன்படுத்துகிறது.

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

மறைமுகக் கடன்

மறைமுகக் கடன் என்பது வலை உலாவியில் இயங்கும் ஜாவாஸ்கிரிப்ட் பயன்பாடுகள் போன்ற கிளையன்ட்-பக்க பயன்பாடுகளுக்காக வடிவமைக்கப்பட்ட ஒரு எளிதாக்கப்பட்ட ஓட்டமாகும். இதில் பின்வரும் படிகள் அடங்கும்:

  1. கிளையன்ட், வள உரிமையாளரை அங்கீகார சேவையகத்திற்கு திருப்பிவிடுகிறது.
  2. வள உரிமையாளர் அங்கீகார சேவையகத்துடன் அங்கீகரிக்கப்பட்டு, கிளையன்ட்க்கு ஒப்புதல் அளிக்கிறது.
  3. அங்கீகார சேவையகம், URL துண்டில் அணுகல் டோக்கனுடன் வள உரிமையாளரை கிளையன்ட்க்கு திருப்பி அனுப்புகிறது.
  4. கிளையன்ட் URL துண்டிலிருந்து அணுகல் டோக்கனைப் பிரித்தெடுக்கிறது.

குறிப்பு: மறைமுகக் கடன் பொதுவாக பாதுகாப்பு கவலைகள் காரணமாக பரிந்துரைக்கப்படுவதில்லை, ஏனெனில் அணுகல் டோக்கன் URL இல் வெளிப்படுத்தப்பட்டு இடைமறிக்கப்படலாம். PKCE (Proof Key for Code Exchange) உடன் கூடிய அங்கீகார குறியீடு கடன் என்பது கிளையன்ட்-பக்க பயன்பாடுகளுக்கு மிகவும் பாதுகாப்பான மாற்றாகும்.

வள உரிமையாளர் கடவுச்சொல் நற்சான்றிதழ் கடன்

வள உரிமையாளர் கடவுச்சொல் நற்சான்றிதழ் கடன், வள உரிமையாளரின் பயனர் பெயர் மற்றும் கடவுச்சொல்லை நேரடியாக அங்கீகார சேவையகத்திற்கு வழங்குவதன் மூலம் கிளையன்ட் அணுகல் டோக்கனைப் பெற அனுமதிக்கிறது. இந்த ஓட்டம் மிகவும் நம்பகமான கிளையன்ட்களுக்கு மட்டுமே பரிந்துரைக்கப்படுகிறது, அதாவது வள சேவையகத்தின் அமைப்பால் உருவாக்கப்பட்ட முதல் தரப்பு பயன்பாடுகள்.

  1. கிளையன்ட், வள உரிமையாளரின் பயனர் பெயர் மற்றும் கடவுச்சொல்லை அங்கீகார சேவையகத்திற்கு அனுப்புகிறது.
  2. அங்கீகார சேவையகம் வள உரிமையாளரை அங்கீகரித்து, அணுகல் டோக்கன் மற்றும் (விருப்பமாக) புதுப்பிப்பு டோக்கனை வழங்குகிறது.

எச்சரிக்கை: இந்த கடன் வகை மிகுந்த எச்சரிக்கையுடன் பயன்படுத்தப்பட வேண்டும், ஏனெனில் இது கிளையன்ட்க்கு வள உரிமையாளரின் நற்சான்றிதழ்களை கையாள வேண்டும், இது நற்சான்றிதழ் சமரசத்தின் அபாயத்தை அதிகரிக்கிறது. முடிந்த போதெல்லாம் மாற்று ஓட்டங்களைக் கருத்தில் கொள்ளுங்கள்.

கிளையன்ட் நற்சான்றிதழ் கடன்

கிளையன்ட் நற்சான்றிதழ் கடன், கிளையன்ட் அதன் சொந்த நற்சான்றிதழ்களை (கிளையன்ட் ஐடி மற்றும் கிளையன்ட் இரகசியம்) பயன்படுத்தி அணுகல் டோக்கனைப் பெற அனுமதிக்கிறது. இந்த ஓட்டம், கிளையன்ட் ஒரு வள உரிமையாளர் சார்பாக செயல்படுவதற்கு பதிலாக அதன் சொந்த சார்பாக செயல்படும் சூழ்நிலைகளுக்கு ஏற்றது. எடுத்துக்காட்டாக, கணினி-நிலை தகவல்களை வழங்கும் ஒரு API ஐ அணுக இந்த ஓட்டத்தை கிளையன்ட் பயன்படுத்தலாம்.

  1. கிளையன்ட் அதன் கிளையன்ட் ஐடி மற்றும் கிளையன்ட் இரகசியத்தை அங்கீகார சேவையகத்திற்கு அனுப்புகிறது.
  2. அங்கீகார சேவையகம் கிளையன்ட்டை அங்கீகரித்து, அணுகல் டோக்கனை வழங்குகிறது.

எடுத்துக்காட்டு: ஒரு கண்காணிப்பு சேவை கணினி அளவீடுகளை சேகரிக்க API இறுதிப்புள்ளிகளை அணுக வேண்டும். பயனர் தலையீடு தேவையில்லாமல் பாதுகாக்கப்பட்ட இறுதிப்புள்ளிகளை அணுக அனுமதிக்கும் அணுகல் டோக்கனைப் பெற சேவை அதன் கிளையன்ட் ஐடி மற்றும் இரகசியத்தைப் பயன்படுத்தி அங்கீகரிக்கிறது.

புதுப்பிப்பு டோக்கன் கடன்

புதுப்பிப்பு டோக்கன் என்பது நீண்ட காலம் நீடிக்கும் ஒரு டோக்கன் ஆகும். இது வள உரிமையாளர் மீண்டும் அங்கீகரிக்கத் தேவையில்லாமல் புதிய அணுகல் டோக்கன்களைப் பெற பயன்படுகிறது. புதுப்பிப்பு டோக்கன் கடன், கிளையன்ட் ஒரு புதுப்பிப்பு டோக்கனை ஒரு புதிய அணுகல் டோக்கன் ஆக மாற்ற அனுமதிக்கிறது.

  1. கிளையன்ட் புதுப்பிப்பு டோக்கனை அங்கீகார சேவையகத்திற்கு அனுப்புகிறது.
  2. அங்கீகார சேவையகம் புதுப்பிப்பு டோக்கனைச் சரிபார்த்து, புதிய அணுகல் டோக்கன் மற்றும் (விருப்பமாக) புதிய புதுப்பிப்பு டோக்கனை வழங்குகிறது.

புதுப்பிப்பு டோக்கன்கள், பயனர்களை மீண்டும் மீண்டும் அவர்களின் நற்சான்றிதழ்களைக் கேட்காமல் தொடர்ச்சியான அணுகலைப் பராமரிப்பதற்கு முக்கியமானவை. கிளையன்ட் பக்கத்தில் புதுப்பிப்பு டோக்கன்களை பாதுகாப்பாக சேமிப்பது மிகவும் முக்கியமானது.

OAuth 2.0 பாதுகாப்பு அம்சங்கள்

OAuth 2.0 அங்கீகாரத்திற்கான ஒரு பாதுகாப்பான கட்டமைப்பை வழங்கினாலும், சாத்தியமான பாதுகாப்பு குறைபாடுகளைத் தவிர்க்க அதைச் சரியாக செயல்படுத்துவது அவசியம். இதோ சில முக்கிய பாதுகாப்பு அம்சங்கள்:

OAuth 2.0 மற்றும் OpenID Connect (OIDC)

OpenID Connect (OIDC) என்பது OAuth 2.0 இன் மேல் கட்டமைக்கப்பட்ட ஒரு அங்கீகார அடுக்கு ஆகும். OAuth 2.0 அங்கீகாரத்தில் கவனம் செலுத்தும் போது, OIDC அங்கீகார திறன்களைச் சேர்க்கிறது, இது கிளையன்ட்களுக்கு வள உரிமையாளரின் அடையாளத்தைச் சரிபார்க்க அனுமதிக்கிறது. OIDC கிளையன்ட், அங்கீகார சேவையகம் மற்றும் வள சேவையகத்திற்கு இடையில் அடையாளத் தகவலைப் பாதுகாப்பாக அனுப்ப JSON Web Tokens (JWTs) ஐப் பயன்படுத்துகிறது.

OIDC ஆனது OAuth 2.0 ஐப் பயன்படுத்தி அங்கீகாரத்தை மேற்கொள்ள ஒரு தரப்படுத்தப்பட்ட வழியை வழங்குகிறது, இது ஒருங்கிணைப்பு செயல்முறையை எளிதாக்குகிறது மற்றும் வெவ்வேறு அமைப்புகளுக்கு இடையில் ஒத்துழைப்பை மேம்படுத்துகிறது. இது பயனர் தகவலைக் கோருவதற்கும் பெறுவதற்கும் பயன்படுத்தக்கூடிய பல நிலையான நோக்கங்கள் மற்றும் கூற்றுகளை வரையறுக்கிறது.

OIDC ஐப் பயன்படுத்துவதன் முக்கிய நன்மைகள்:

நிஜ உலக உதாரணங்கள்: OAuth 2.0 செயல்பாட்டில்

OAuth 2.0 பல்வேறு தொழில்கள் மற்றும் பயன்பாடுகளில் பரவலாகப் பயன்படுத்தப்படுகிறது. இதோ சில பொதுவான உதாரணங்கள்:

OAuth 2.0 ஐ செயல்படுத்துவதற்கான சிறந்த நடைமுறைகள்

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

OAuth 2.0 இன் எதிர்காலம்

மாறிவரும் பாதுகாப்பு சூழல் மற்றும் வளர்ந்து வரும் தொழில்நுட்பங்களைச் சந்திப்பதற்காக OAuth 2.0 தொடர்ந்து உருவாகி வருகிறது. OAuth 2.0 இன் எதிர்காலத்தை வடிவமைக்கும் முக்கிய போக்குகளில் சில:

முடிவுரை

OAuth 2.0 என்பது ஒரு சக்திவாய்ந்த மற்றும் நெகிழ்வான அங்கீகார கட்டமைப்பாகும், இது இன்றைய இணைக்கப்பட்ட டிஜிட்டல் உலகில் APIகள் மற்றும் பயன்பாடுகளைப் பாதுகாப்பதில் முக்கிய பங்கு வகிக்கிறது. OAuth 2.0 இன் முக்கியக் கோட்பாடுகள், பணிப்பாய்வுகள் மற்றும் பாதுகாப்பு அம்சங்களைப் புரிந்துகொள்வதன் மூலம், டெவலப்பர்கள் மற்றும் பாதுகாப்பு வல்லுநர்கள் முக்கியமான தரவைப் பாதுகாக்கும் மற்றும் பயனர் தனியுரிமையை உறுதிசெய்யும் பாதுகாப்பான மற்றும் நம்பகமான அமைப்புகளை உருவாக்க முடியும். OAuth 2.0 தொடர்ந்து உருவாகி வருவதால், இது நவீன பாதுகாப்பு கட்டமைப்புகளின் ஒரு மூலக்கல்லாக இருக்கும், இது உலகளவில் பல்வேறு தளங்கள் மற்றும் சேவைகள் முழுவதும் பாதுகாப்பான அணுகல் பிரதிநிதித்துவத்தை செயல்படுத்துகிறது.

இந்த வழிகாட்டி OAuth 2.0 இன் விரிவான கண்ணோட்டத்தை வழங்கியுள்ளது. மேலும் ஆழமான தகவலுக்கு, அதிகாரப்பூர்வ OAuth 2.0 விவரக்குறிப்புகள் மற்றும் தொடர்புடைய ஆவணங்களைக் குறிப்பிடவும்.