आर्किटेक्चर फैसला रिकॉर्ड: प्रमाणीकरण आ प्राधिकरण के विकल्प
वेब एप्लिकेशन के प्रमाणीकरण आ प्राधिकरण एप्लिकेशन आ सेवा तक पहुँच सुरक्षित करे खातिर दू गो जरूरी अवधारणा हवे। दूनो उपयोगकर्ता के पहचान आ अनुमति कइसे दिहल जाला एकरा से जुड़ल बाड़ी, लेकिन अलग-अलग पहलू पर ध्यान देवेली:
- प्रमाणीकरण उपयोगकर्ता चाहे सिस्टम के पहचान सत्यापित करे के प्रक्रिया ह।
- प्राधिकरण ई तय करे के प्रक्रिया ह कि प्रमाणित उपयोगकर्ता चाहे सिस्टम कवन संसाधन चाहे कार्रवाई तक पहुँच सकेला।
अब, चलीं ऊ खास प्रोटोकॉल आ तकनीक में उतरल जाए जेकर रउआ जिक्र कइनी, जे आधुनिक वेब एप्लिकेशन में प्रमाणीकरण आ प्राधिकरण संभाले खातिर आम तौर पर इस्तेमाल होला।
1. OAuth (Open Authorization)
OAuth प्राधिकरण खातिर एगो खुला मानक ह। ई उपयोगकर्ता के कवनो तीसरा-पक्ष एप्लिकेशन के आपन संसाधन तक सीमित पहुँच देवे देला, बिना आपन प्रमाण-पत्र साझा कइले। मुख्य विचार प्रतिनिधि पहुँच ह। OAuth अक्सर अइसन हालत में इस्तेमाल होला जहाँ उपयोगकर्ता कवनो तीसरा-पक्ष सेवा में लॉग इन कर सकेला (जइसे Google से साइन इन) बिना सीधे तीसरा-पक्ष के आपन उपयोगकर्ता नाम आ पासवर्ड दिहले।
- प्रवाह: OAuth आम तौर पर टोकन-आधारित प्रवाह के पालन करेला, जेमें प्राधिकरण सर्वर तीसरा-पक्ष एप्लिकेशन के पहुँच टोकन जारी करेला। ई टोकन उपयोगकर्ता के अनुमति के दर्शावेला, आ एप्लिकेशन एकरा के API से उपयोगकर्ता के डेटा चाहे संसाधन तक पहुँचे खातिर इस्तेमाल करेला।
- उदाहरण: एगो उपयोगकर्ता अपना Google खाता से तीसरा-पक्ष एप्लिकेशन में साइन इन करेला। Google उपयोगकर्ता के पहचान सत्यापित करेला आ फेर एगो टोकन देला जे तीसरा-पक्ष एप्लिकेशन के कुछ Google डेटा (जइसे Google Calendar) तक पहुँचे देला।
OAuth प्रमाणीकरण के सीधे ना संभालेला; ई पहुँच देवे के बारे में ह। प्रमाणीकरण खातिर, OAuth अक्सर आउर प्रोटोकॉल, जइसे OpenID Connect, के साथे जोड़ल जाला।
2. OpenID Connect (OIDC)
OpenID Connect (OIDC) OAuth 2.0 के ऊपर बनल एगो पहचान परत ह जे OAuth के प्राधिकरण क्षमता में प्रमाणीकरण जोड़ेला। असल में, OpenID Connect OAuth के उपयोगकर्ता प्रमाणीकरण संभाले खातिर बढ़ावेला आ एप्लिकेशन के उपयोगकर्ता के पहचान सत्यापित करे के एगो मानक तरीका देला।
- प्रवाह: जब उपयोगकर्ता OpenID Connect से लॉग इन करेला, तीसरा-पक्ष एप्लिकेशन एगो ID टोकन माँगेला (OAuth पहुँच टोकन के अलावा)। ID टोकन में उपयोगकर्ता के बारे में जानकारी होला (जइसे उनके उपयोगकर्ता नाम, ईमेल, आ आउर दावा)। एकरा से एप्लिकेशन के पता चलेला कि उपयोगकर्ता के बा आ ऊ प्रमाणित बा कि ना।
- उदाहरण: Slack जइसन सेवा में अपना Google खाता से लॉग इन करल (Google OpenID Connect प्रदाता हवे) में OpenID Connect के जरिए प्रमाणीकरण शामिल बा, जबकि OAuth रउआ Google संसाधन तक पहुँच संभालेला।
OIDC तीसरा-पक्ष एप्लिकेशन खातिर उपयोगकर्ता के प्रमाणीकरण आसान बनावेला आ संगे-संगे ई बारीकी से नियंत्रित करे देला कि ऊ एप्लिकेशन कवन संसाधन तक पहुँच सकेला।
3. SAML (Security Assertion Markup Language)
SAML एगो पुरान, XML-आधारित मानक ह जे पक्ष लोग के बीच प्रमाणीकरण आ प्राधिकरण डेटा के आदान-प्रदान खातिर इस्तेमाल होला, खास कर के Single Sign-On (SSO) परिदृश्य में। ई मुख्य रूप से उद्यम माहौल में इस्तेमाल होला ताकि उपयोगकर्ता एक बेर प्रमाणित होके प्रमाण-पत्र फेर से डालले बिना कई एप्लिकेशन तक पहुँच सके।
- प्रवाह: उपयोगकर्ता पहिले पहचान प्रदाता (IdP) से प्रमाणित होला। IdP एगो हस्ताक्षरित SAML दावा बनावेला जेमें उपयोगकर्ता के पहचान आ संबंधित गुण होला। दावा सेवा प्रदाता (SP) के भेजल जाला, जे एकरा के एप्लिकेशन तक पहुँच के अनुमति देवे खातिर इस्तेमाल करेला।
- उदाहरण: एगो कर्मचारी अपना कॉर्पोरेट पोर्टल (IdP) में लॉग इन करेला आ अपने आप आउर सिस्टम जइसे ईमेल, CRM, वगैरह में लॉग इन हो जाला, प्रमाण-पत्र फेर से डालले बिना। प्रमाणीकरण प्रक्रिया IdP के भेजल SAML दावा पर आधारित बा।
SAML आम तौर पर उद्यम SSO समाधान में इस्तेमाल होला आ कॉर्पोरेट माहौल में वेब एप्लिकेशन खातिर नीमन काम करेला, लेकिन OAuth/OIDC के मुकाबले मोबाइल के लिए कम अनुकूल बा।
4. WS-Federation (Web Services Federation)
WS-Federation Single Sign-On (SSO) खातिर इस्तेमाल होखे वाला आउर एगो प्रोटोकॉल ह, खास कर Microsoft-आधारित उद्यम माहौल में। ई WS- (Web Services)* परिवार के विनिर्देश के हिस्सा ह आ अलग-अलग सुरक्षा डोमेन (जइसे अलग-अलग संगठन के बीच चाहे अलग-अलग सेवा के बीच) में पहचान संघ के अनुमति देला।
- प्रवाह: WS-Federation एगो भरोसेमंद पहचान प्रदाता (IdP) के उपयोगकर्ता के प्रमाणित करे आ टोकन जारी करे देला जे सेवा प्रदाता प्राधिकरण खातिर इस्तेमाल कर सकेला। ई SAML जइसन ह लेकिन अक्सर ऊ परिदृश्य में इस्तेमाल होला जे Microsoft तकनीक पर बहुत निर्भर होला।
- उदाहरण: एगो उपयोगकर्ता Microsoft Azure Active Directory (AD) द्वारा होस्ट कइल उद्यम एप्लिकेशन में लॉग इन करेला, आ ओकर पहचान आउर संघीय सेवा, जेमें तीसरा-पक्ष विक्रेता द्वारा होस्ट कइल एप्लिकेशन शामिल बा, तक पहुँचे खातिर इस्तेमाल हो सकेला।
भले WS-Federation के बहुत आधुनिक वेब माहौल में नया प्रोटोकॉल जइसे OAuth2.0 आ OpenID Connect बड़ पैमाना पर बदल देले बा, ई अबहियों पुरान सिस्टम में इस्तेमाल होला, खास कर Microsoft-केंद्रित उद्यम में।
5. LDAP (Lightweight Directory Access Protocol)
LDAP डायरेक्टरी सेवा तक पहुँचे आ ओकरा के संभाले खातिर इस्तेमाल होखे वाला एगो प्रोटोकॉल ह, आम तौर पर उपयोगकर्ता प्रमाण-पत्र जमा करे आ केंद्रीकृत डायरेक्टरी (अक्सर Directory Service कहल जाला) में पहुँच नियंत्रण संभाले खातिर इस्तेमाल होला। LDAP खास तौर पर प्रमाणीकरण चाहे प्राधिकरण के बारे में नइखे बाकि पहचान डेटा के जमा करे आ निकाले खातिर इस्तेमाल होला, जे ओह प्रक्रिया में इस्तेमाल होला।
- प्रमाणीकरण: LDAP एप्लिकेशन के उपयोगकर्ता के प्रमाणित करे देला, प्रमाण-पत्र (जइसे पासवर्ड) खातिर डायरेक्टरी सेवा से पूछ के।
- प्राधिकरण: ई उपयोगकर्ता के भूमिका आ अनुमति भी संभालेला, ई तय करे में मदद करत कि उपयोगकर्ता लग कुछ संसाधन तक पहुँच बा कि ना।
- उदाहरण: बहुत उद्यम प्रमाणीकरण आ प्राधिकरण खातिर LDAP-आधारित डायरेक्टरी (जइसे Active Directory) इस्तेमाल करेलें, खास कर Windows माहौल के भीतर।
LDAP उद्यम खातिर आंतरिक सिस्टम में उपयोगकर्ता पहुँच संभाले खातिर जरूरी बा, लेकिन आधुनिक वेब संदर्भ में, LDAP अक्सर आउर प्रोटोकॉल जइसे SAML चाहे OAuth के साथे ज्यादा पूर्ण पहचान प्रबंधन खातिर इंटीग्रेट कइल जाला।
6. सोशल SSO प्रदाता
Facebook, Google, Twitter, GitHub, आ आउर जइसन सोशल Single Sign-On (SSO) प्रदाता उपयोगकर्ता के अपना सोशल मीडिया प्रमाण-पत्र से तीसरा-पक्ष एप्लिकेशन में प्रमाणित होखे देलें। ई एक तरह के OAuth-आधारित प्रमाणीकरण ह जेमें तीसरा-पक्ष सेवा (जइसे Google) पहचान प्रदाता होला।
- प्रवाह: उपयोगकर्ता "Google से लॉग इन करीं" पर क्लिक करेला (उदाहरण खातिर)। एप्लिकेशन Google पर भेजेला, जहाँ उपयोगकर्ता लॉग इन करेला (अगर पहिले से लॉग इन नइखे)। Google फेर तीसरा-पक्ष एप्लिकेशन के पहुँच टोकन चाहे ID टोकन देला, जे उपयोगकर्ता के प्रमाणित करे आ संभव बा ओकर डेटा तक पहुँचे खातिर इस्तेमाल हो सकेला।
- उदाहरण: बहुत एप्लिकेशन रउआ के अपना Google चाहे Facebook प्रमाण-पत्र से लॉग इन करे देला। एप्लिकेशन पर्दा के पीछे रउआ पहचान सत्यापित करे आ, कुछ मामला में, कुछ सोशल मीडिया डेटा तक पहुँचे खातिर OAuth चाहे OpenID Connect इस्तेमाल करी।
सोशल SSO प्रमाणीकरण के एगो सुविधाजनक आ व्यापक रूप से अपनावल तरीका ह काहेकि ई उपयोगकर्ता खातिर रुकावट घटावेला, जे शायद एगो आउर उपयोगकर्ता नाम आ पासवर्ड बनावे ना चाहे।
अंतर के सारांश:
- OAuth: प्राधिकरण खातिर इस्तेमाल, तीसरा-पक्ष एप्लिकेशन के प्रमाण-पत्र उजागर कइले बिना उपयोगकर्ता डेटा तक पहुँचे देला।
- OpenID Connect: प्रमाणीकरण देवे खातिर OAuth के बढ़ावेला, एप्लिकेशन के उपयोगकर्ता के पहचान सत्यापित करे देला।
- SAML: SSO खातिर इस्तेमाल XML-आधारित प्रोटोकॉल, अक्सर उद्यम माहौल में।
- WS-Federation: पहचान संघ खातिर Microsoft-विशेष प्रोटोकॉल, पुरान सिस्टम में इस्तेमाल।
- LDAP: उपयोगकर्ता के प्रमाणित करे आ प्राधिकरण संभाले खातिर डायरेक्टरी सेवा से पूछे के प्रोटोकॉल।
- सोशल SSO प्रदाता: OAuth-आधारित सिस्टम (जइसे Google, Facebook) जे तीसरा-पक्ष एप्लिकेशन के उपयोगकर्ता के उनके सोशल मीडिया प्रमाण-पत्र से प्रमाणित करे देला।
एह हर तकनीक के आपन ताकत आ उपयोग के मामला बा, आ आधुनिक एप्लिकेशन में, रउआ सुरक्षा के अलग-अलग पहलू खातिर (जइसे API पहुँच खातिर OAuth/OIDC, उद्यम SSO खातिर SAML) एकर मेल इस्तेमाल होखत देख सकीले।