प्रमाणीकरण बनाम प्राधिकरण


625

वेब एप्लिकेशन के संदर्भ में क्या अंतर है? मैं संक्षिप्त नाम "सामान्य" बहुत देखता हूं। इसके लिए खड़े करता है प्रमाणन -entication या प्रमाणन -orization? या यह दोनों है?


51
इसे याद रखें: प्रमाणीकरण क्रेडेंशियल की जाँच करता है, प्राधिकरण जाँच की अनुमति देता है।
ओनुर येल्ड्रिम्म

1
क्रॉस-साइट डुप्लिकेट: serverfault.com/q/57077
Kyll

हाल ही में संक्षिप्तीकरण के लिए मैंने authnप्रमाणीकरण के लिए और authzप्राधिकरण के लिए देखा है
jdf

जवाबों:


864

प्रमाणीकरण यह पता लगाने की प्रक्रिया है कि वास्तव में कोई है जो वे होने का दावा करते हैं।

प्राधिकरण उन नियमों को संदर्भित करता है जो यह निर्धारित करते हैं कि किसको क्या करने की अनुमति है। उदाहरण के लिए, एडम डेटाबेस बनाने और हटाने के लिए अधिकृत हो सकता है, जबकि उस्मा केवल पढ़ने के लिए अधिकृत है।

दो अवधारणाएं पूरी तरह से रूढ़िवादी और स्वतंत्र हैं, लेकिन दोनों सुरक्षा डिजाइन के लिए केंद्रीय हैं, और एक सही प्राप्त करने में विफलता समझौता करने के लिए एवेन्यू को खोलती है।

वेब ऐप्स के संदर्भ में, बहुत ही गंभीर रूप से बोलना, प्रमाणीकरण तब होता है जब आप लॉगिन क्रेडेंशियल्स की जांच करते हैं यह देखने के लिए कि क्या आप किसी उपयोगकर्ता को लॉग इन के रूप में पहचानते हैं, और प्राधिकरण तब है जब आप अपने एक्सेस कंट्रोल में देखते हैं कि क्या आप उपयोगकर्ता को देखने, संपादित करने, हटाने की अनुमति देते हैं या सामग्री बनाएँ।


32
परिभाषाएँ ठीक लगती हैं, लेकिन वे निश्चित रूप से स्वतंत्र नहीं लगती हैं। जैसा कि परिभाषित किया गया है, क्या प्राधिकरण भी प्रमाणीकरण नहीं करता है ? यदि आपको संदेह है कि वह एडम है तो एडम के डेटाबेस को हटाने की अनुमति कैसे दे सकता है ? अलग तरीके से डालें, यदि एडम का डिलीट ऑपरेशन अधिकृत है, तो सबसे अधिक उम्मीद है कि एडम प्रमाणित है।
टिमो

7
@Timo: एक आवेदन संभवतः दोनों को करना चाहता है, लेकिन वे बिना किसी रूढ़िवादी अवधारणा के हैं। आपका बॉस किसी भी चिंता के बिना व्यवसाय के महत्वपूर्ण घटकों, कंपनी जेट और बीयर फ्रिज तक पहुंचने के लिए कर्मचारियों के प्राधिकरणों की समीक्षा कर सकता है, जिसके लिए सीसीटीवी फीड पर विशेष व्यक्ति स्प्रेडशीट में नामों से मेल खाता है। बाद में सुरक्षा गार्ड की चिंता होगी।
केरेक एसबी

1
अवधारणाएं निश्चित रूप से रूढ़िवादी हैं। प्रमाणीकरण जरूरी नहीं कि आपकी पहचान साबित हो। यह अपने आप के बारे में एक दावा साबित कर सकता है जैसे उम्र। जब आप पीते हैं, तो आप एक आईडी दिखाकर अपनी उम्र प्रमाणित करते हैं। तब आप अपनी उम्र और अपने अधिकार क्षेत्र के आधार पर पीने के लिए अधिकृत हो सकते हैं (यदि आप पी सकते हैं तो>> अमेरिका में 21> यूरोप में 18)
डेविड ब्रासर्ड

1
@ सिंजई: मुझे लगता है कि बिंदु यह है कि वे ऑर्थोगोनल चिंताएं हैं, हालांकि, और उन्हें अलग-अलग सुविधाओं से संबोधित किया जा सकता है: उदाहरण के लिए (विश्वसनीय) दरवाजे पर बाउंसर ग्राहक की उम्र स्थापित कर सकते हैं, और स्थापना के अंदर अलग-अलग सेवाओं की अलग-अलग उम्र हो सकती है सीमा है, लेकिन सभी प्रवेश निर्णय लेने के लिए बाउंसर से प्राप्त मूल्य का उपयोग करेंगे।
केरेक एसबी

1
इसे देखने का एक और तरीका (बैररूम उदाहरण के संदर्भ में) यह माना जाएगा कि प्रमाणीकरण आपके सामने खड़े व्यक्ति को आईडी कार्ड पर फोटो से मिलान करने की प्रक्रिया है, जबकि प्राधिकरण यह पुष्टि करने की प्रक्रिया है कि उनकी उम्र कानूनी आवश्यकताओं को पूरा करता है। मेरी राय में, इस मिश्रण में तत्व जो लाइनों को धुंधला कर देता है, यह है कि दोनों परीक्षणों को भी दोनों के प्रति संज्ञान होना चाहिए और जालसाजी के खिलाफ कठोर होना चाहिए (आईडी फर्जी है) जो ज्यादातर लोग केवल प्रमाणीकरण की चिंता के रूप में देखते हैं दोनों समान रूप से महत्वपूर्ण सी और सी- z- प्रमाणीकरण के लिए महत्वपूर्ण है।
रयान हैनसेन

660

संक्षेप में, कृपया। :-)

प्रमाणीकरण = लॉगिन + पासवर्ड (आप कौन हैं)

प्राधिकरण = अनुमति (आपको क्या करने की अनुमति है)

शॉर्ट "ऑर्थोर" या तो पहले एक या दोनों को संदर्भित करने की सबसे अधिक संभावना है।


3
केक के एक टुकड़े की तरह मीठा :)
devansvd

मुझे यह पसंद है, छोटा और मीठा।
राजा

5
तब मुझे समझ में नहीं आया कि एक HTTP ऑथराइजेशन हेडर प्रमाणीकरण की जानकारी क्यों देता है ... क्या यह दुर्भाग्यपूर्ण नामकरण नहीं है?
जेन्स

@ जेन्स संक्षिप्त उत्तर: हाँ। रॉय फील्डिंग उस समय बेहतर नहीं जानती थी ... ;-) </ जीभ-गाल>
लुंडबर्ग

@ जेन्स मैं भी यही सोच रहा हूँ। मुझे यह उत्तर अंतर्ज्ञान सहायक लगता है। जैसा कि HTTP स्टेटलेस है , प्रमाणीकरण जानकारी को हर अनुरोध के साथ भेजा जाना चाहिए, न कि केवल शुरुआती और समापन अनुरोध (जैसे, एक सुरक्षित सत्र स्थापित करना, और बीच में बिना किसी अनुरोध के अनुरोध भेजना)। इसलिए, उस अनुरोध शीर्षलेख को प्राधिकरण होना चाहिए , क्योंकि यह लगभग हमेशा अन्य इरादों को ले जाता है (डेटा, आईएमजी, ...), केवल प्रमाणीकरण नहीं ।
मिन्ह नघ्ना

83

प्रमाणीकरण बनाम प्राधिकरण के रूप में यह डालता है:

प्रमाणीकरण वह तंत्र है जिसके द्वारा सिस्टम सुरक्षित रूप से अपने उपयोगकर्ताओं की पहचान कर सकता है। प्रमाणीकरण प्रणाली सवालों के जवाब प्रदान करती है:

  • उपयोगकर्ता कौन है?
  • क्या उपयोगकर्ता वास्तव में वह है जो वह खुद का प्रतिनिधित्व करता है?

प्राधिकरण , इसके विपरीत, वह तंत्र है जिसके द्वारा एक प्रणाली निर्धारित करती है कि सिस्टम द्वारा नियंत्रित संसाधनों के लिए किसी विशेष प्रमाणित उपयोगकर्ता की पहुंच किस स्तर तक होनी चाहिए। उदाहरण के लिए, एक डेटाबेस प्रबंधन प्रणाली को कुछ विशिष्ट व्यक्तियों को डेटाबेस से जानकारी प्राप्त करने की क्षमता प्रदान करने के लिए डिज़ाइन किया जा सकता है, लेकिन डेटाबेस में संग्रहीत डेटा को बदलने की क्षमता नहीं है, जबकि अन्य व्यक्तियों को डेटा बदलने की क्षमता प्रदान करता है। प्राधिकरण प्रणाली सवालों के जवाब प्रदान करती है:

  • क्या उपयोगकर्ता X संसाधन R का उपयोग करने के लिए अधिकृत है?
  • क्या उपयोगकर्ता X ऑपरेशन P करने के लिए अधिकृत है?
  • क्या उपयोगकर्ता X संसाधन R पर ऑपरेशन P करने के लिए अधिकृत है?

यह सभी देखें:


34

मैं सत्यापन और प्रमाणीकरण के लिए सत्यापन और अनुमतियाँ पसंद करता हूं ।

मेरे सिर और मेरे कोड में "सत्यापन" और "अनुमति" के बारे में सोचना आसान है क्योंकि दो शब्द

  • एक जैसे नहीं लगते
  • एक ही संक्षिप्त नाम नहीं है

प्रमाणीकरण सत्यापन है और प्राधिकरण अनुमति की जांच कर रहा है। प्रामाणिक का अर्थ या तो हो सकता है, लेकिन "उपयोगकर्ता प्रामाणिक" अर्थात "उपयोगकर्ता प्रमाणीकरण" के रूप में अधिक बार उपयोग किया जाता है


2
IMHO सत्यापन लगता है कि प्रमाणीकरण की तुलना में थोड़ा अधिक खुला गुंजाइश है, भले ही प्रमाणीकरण किसी प्रकार का सत्यापन लगता है, न कि प्रत्येक सत्यापन एक प्रमाणीकरण है ... इसलिए मैं कहूंगा कि एक संदर्भ की हमेशा आवश्यकता होती है: उपयोगकर्ता पहुंच सत्यापन आदि। हमेशा लगता है कि क्या वह वास्तव में लड़का / मशीन है? (मुझे मारो अगर मैं गलत हूं, देशी वक्ता नहीं, लेकिन: "सत्यापित करें" प्रदान की गई जानकारी सटीक है बनाम प्रामाणिकता से लगता है कि व्यक्ति को जानने के लिए कुछ करना होगा / मशीन वह है जिसे वह बताता है /)
Beachwalker

14

भ्रम समझ में आता है, क्योंकि दो शब्द समान लगते हैं, और चूंकि अवधारणाएं अक्सर निकटता से संबंधित होती हैं और एक साथ उपयोग की जाती हैं। इसके अलावा, जैसा कि उल्लेख किया गया है, आमतौर पर इस्तेमाल किया जाने वाला संक्षिप्त नाम प्रामाणिक मदद नहीं करता है।

दूसरों ने पहले ही अच्छी तरह से वर्णन किया है कि प्रमाणीकरण और प्राधिकरण का क्या मतलब है। यहाँ स्पष्ट रूप से दो को अलग रखने में मदद करने का एक सरल नियम है:

  • प्रमाणीकरण enti कटियन पुष्टि अपने आईडी enti Ty (या प्रामाणिकता , आपको लगता है कि पसंद करते हैं)
  • लेखक का औचित्य आपके लेखक को मान्य करता है , यानी आपके अधिकार का उपयोग करना और संभवतः कुछ बदलना।

12

मैंने सबसे सरल शब्दों में इसे समझाने के लिए एक छवि बनाने की कोशिश की है

1) प्रमाणीकरण का अर्थ है "क्या आप कहते हैं कि आप कौन हैं?"

2) प्राधिकरण का अर्थ है "क्या आपको वह करने में सक्षम होना चाहिए जो आप करने की कोशिश कर रहे हैं?"।

यह भी नीचे दी गई छवि में वर्णित है।

यहाँ छवि विवरण दर्ज करें

मैंने इसे सबसे अच्छे शब्दों में समझाने की कोशिश की है, और उसी की एक छवि बनाई है।


4

प्रमाणीकरण घोषित पहचान की पुष्टि करने की प्रक्रिया है।

  • उदा उपयोगकर्ता नाम / पासवर्ड

आमतौर पर प्राधिकरण द्वारा पीछा किया जाता है , जो अनुमोदन है कि आप यह और वह कर सकते हैं।

  • उदाहरण के लिए अनुमति

यह उत्तर पहले से ही गहरी व्याख्या के साथ दिया गया है।
सोनू

3

@ केरेक के उत्तर में जोड़ना;

प्रमाणीकरण सामान्यीकृत रूप है (सभी कर्मचारी मशीन में लॉगिन कर सकते हैं)

प्राधिकरण विशिष्ट रूप है (लेकिन व्यवस्थापक केवल मशीन में एप्लिकेशन को इंस्टॉल / अनइंस्टॉल कर सकता है)


1
"कैन" शब्द केवल प्राधिकरण पर लागू होता है। ऑथेंटिकेशन का लॉग इन करने से बहुत कम या कोई लेना-देना नहीं है। मैं बहुत अच्छी तरह से ऑथेंटिकेट कर सकता हूं कि आप कई तरीकों से बोबलान हैं (न कि सिर्फ यूजरनेम / पासवर्ड)। एक बार जब मैं प्रमाणित करता हूं और जानता हूं कि आप कौन हैं, तो मैं आपको अपनी साइट पर लॉग इन करने या कुछ भी करने के लिए बहुत अच्छी तरह से अधिकृत नहीं कर सकता। आप प्रमाणित हैं, लेकिन आप डिडली-स्क्वाट नहीं कर सकते। प्रमाणीकरण के बारे में बात करते समय "कैन" शब्द का उपयोग करना भ्रामक और गलत है।
सुमेरे

3

प्रमाणीकरण उपयोगकर्ता नाम और पासवर्ड में आपके लॉग की पुष्टि करने की प्रक्रिया है।

प्राधिकरण सत्यापन की प्रक्रिया है जिसे आप किसी चीज़ तक पहुंचा सकते हैं।


3
यह "उत्तर" पहले से दिए गए उत्तरों में कुछ भी नहीं जोड़ता है।
ओजोनुगवा जूड ओचलिफु

1

परिभाषाएं

प्रमाणीकरण - क्या आप वह व्यक्ति हैं जिसका आप दावा करते हैं?

प्राधिकरण - क्या आप वह करने के लिए अधिकृत हैं जो आप करना चाह रहे हैं?

उदाहरण

एक वेब ऐप Google साइन-इन का उपयोग करता है । उपयोगकर्ता द्वारा सफलतापूर्वक साइन इन करने के बाद, Google वापस भेजता है:

  1. एक JWT टोकन। प्रमाणीकरण जानकारी प्राप्त करने के लिए इसे मान्य और डिकोड किया जा सकता है । क्या Google द्वारा टोकन पर हस्ताक्षर किए गए हैं? उपयोगकर्ता का नाम और ईमेल क्या है?
  2. एक पहुंच टोकन। यह उपयोगकर्ता की ओर से Google API तक पहुंचने के लिए वेब ऐप को अधिकृत करता है। उदाहरण के लिए, क्या ऐप उपयोगकर्ता के Google कैलेंडर ईवेंट का उपयोग कर सकता है? ये अनुमतियाँ उन स्कोपों ​​पर निर्भर करती हैं जो अनुरोध किए गए थे, और उपयोगकर्ता ने इसकी अनुमति दी थी या नहीं।

इसके अतिरिक्त:

कंपनी का एक व्यवस्थापक डैशबोर्ड हो सकता है जो ग्राहक सहायता को कंपनी के उपयोगकर्ताओं को प्रबंधित करने की अनुमति देता है। कस्टम साइनअप समाधान प्रदान करने के बजाय, जो ग्राहक समर्थन को इस डैशबोर्ड तक पहुंचने की अनुमति देगा, कंपनी Google साइन-इन का उपयोग करती है।

JWT टोकन (Google साइन इन प्रोसेस से प्राप्त) कंपनी के ऑथराइजेशन सर्वर को यह पता लगाने के लिए भेजा जाता है कि क्या उपयोगकर्ता के पास संगठन के होस्टेड डोमेन (email@company.com) के साथ जी सूट खाता है? और अगर वे करते हैं, तो क्या वे कंपनी के Google समूह के सदस्य हैं जो ग्राहक सहायता के लिए बनाया गया था? यदि उपरोक्त सभी के लिए हाँ, तो हम उन्हें प्रमाणित कर सकते हैं ।

कंपनी का प्राधिकरण सर्वर तब डैशबोर्ड ऐप को एक्सेस टोकन भेजता है। इस एक्सेस टोकन का उपयोग कंपनी के रिसोर्स सर्वर के लिए अधिकृत अनुरोध करने के लिए किया जा सकता है (उदाहरण के लिए एक समापन बिंदु के लिए एक GET अनुरोध करने की क्षमता जो कंपनी के सभी उपयोगकर्ताओं को वापस भेजती है)।


0

Authentication सत्यापन की एक प्रक्रिया है:

  • एक सिस्टम में उपयोगकर्ता की पहचान (उपयोगकर्ता नाम, लॉगिन, फोन नंबर, ईमेल ...) एक प्रमाण प्रदान करके (गुप्त कुंजी, बायोमेट्रिक्स, एसएमएस ...)। विस्तार के रूप में बहु-कारक प्रमाणीकरण।
  • ईमेल की जाँच का उपयोग कर digital signature
  • चेकसम

Authorizationके बाद अगला कदम है Authentication। यह संसाधनों के लिए अनुमति / भूमिका / विशेषाधिकार के बारे में है। OAuth (ओपन प्राधिकरण) प्राधिकरण का एक उदाहरण है

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.