माइक्रोसर्विस के साथ उपयोगकर्ता प्राधिकरण


12

क्या माइक्रोसर्विसेज को अपने स्वयं के प्राधिकरण को संभालने के लिए ज़िम्मेदार होना चाहिए या आपको लगता है कि एक अलग प्राधिकरण सेवा होना बेहतर है जो सभी या माइक्रोसेट के सबसैट (एक ही व्यापार डोमेन के भीतर) में साझा की जाती है?

मेरे लिए बाद में अधिक समझ में आता है क्योंकि यह परिवर्तनों को लागू करना, नीतियों को लागू करना आसान बनाता है; यह डीआरवाई आदि है, हालांकि यह आसानी से सभी प्रकार की सेवाओं से अपने नियमों को एक ही स्थान पर डंप कर सकता है, और नेटवर्क ओवरहेड के बारे में भी चिंतित है।

कोई विचार?

जवाबों:


7

मैं एक केंद्रीय, एकीकृत प्रमाणीकरण प्रणाली का उपयोग करेगा और प्रत्येक microservice के लिए अलग-अलग अनुमतियाँ / आँकड़े होंगे (जैसे कि मैं इस स्टैक एक्सचेंज साइट पर अभी तक कैसे नहीं बढ़ा सकता हूं लेकिन मैं केंद्रीय स्टैक एक्सचेंज प्रमाणीकरण प्रणाली का उपयोग करते समय स्टैक ओवरफ़्लो में कर सकता हूं)। मेरी वर्तमान परियोजनाओं में से एक निकट भविष्य में इस दृष्टिकोण को शामिल करेगा, जो अच्छा होगा; पिछले विकास कार्य में HIPPA के अनुरूप प्रणाली का निर्माण करना, प्राधिकरण / प्रमाणीकरण के दूसरे स्तर की आवश्यकता होती है, और यह प्रणाली से कानूनी तौर पर अलग लेकिन कार्यात्मक रूप से अविभाज्य घटकों से डेज़ी श्रृंखला प्राधिकरणों को झुंझलाहट का उपभोग करने वाला समय है। डिबगिंग प्रक्रिया में एक सरल oauth लॉगिन या एपिड और एक्स-हेडर हेडर के साथ एक एपीआई की तुलना में बहुत कम खुशी शामिल है।

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


हम प्रमाणीकरण के लिए OAuth2 का उपयोग करते हैं, और मैं एक ही सिद्धांत का पालन करना चाहूंगा - वह यह है कि एक एकल, अच्छी तरह से परिभाषित जिम्मेदारी के साथ एक केंद्रीय सेवा होने - प्राधिकरण के लिए, बल्कि सेवाओं में कार्यक्षमता और बिखराव तर्क की नकल करें। मेरे लिए यह डोमेन सीमा का उल्लंघन है। हालांकि मैं मानता हूं कि इसका मतलब है कि हमें सेवा नियमों (अला स्टैकओवरफ्लो, प्रोग्रामर आदि) को अलग करना होगा।
morcmarc

2
आपके पास संभावित रूप से वैश्विक अनुमतियाँ हो सकती हैं, जो सेवा विशिष्ट अनुमतियों द्वारा ओवरराइड की जाती हैं, उपयोगी अगर कुछ मुट्ठी भर कोर माइक्रोसर्विसेज उसी अनुमतियों का उपयोग करते हैं। केंद्रीय प्रमाणीकरण सेवा के लिए संभावित प्रदर्शन के मुद्दों से बचने के लिए उस माइक्रोसॉर्फ़ के लिए माइक्रोसर्विस विशिष्ट अनुमतियों को संभवतः ऐप इन्फ्रास्ट्रक्चर में संग्रहीत किया जाना चाहिए।
जोनाथन वॉस

4

प्रत्येक microservice को अपना प्रमाणीकरण नहीं करना चाहिए, लेकिन इसे अपना प्राधिकरण करने की आवश्यकता है।

स्रोत

और यह सही समझ में आता है। मैं मान रहा हूं कि केंद्रीय प्रमाणीकरण के बारे में कोई संदेह नहीं है। लेकिन प्राधिकरण बहुत भ्रामक है।

यह देखते हुए कि माइक्रो-सेवाओं की संख्या सैकड़ों, हजारों तक बढ़ सकती है, एक केंद्रीय प्राधिकरण सेवा केवल अनुमतियों को सूचीबद्ध करने के लिए जिम्मेदार होनी चाहिए, लेकिन उन अनुमतियों को मान्य नहीं करना चाहिए। व्यक्तिगत माइक्रो-सेवा को अनुमति को मान्य करने के लिए अलग से संपर्क करना पड़ सकता है।

यह केंद्रीय प्राधिकरण सेवा, विभिन्न सेवाओं से मॉडल प्राप्त करने की आवश्यकता हो सकती है, और निर्णय लेने के लिए अलग-अलग दृष्टिकोण कर सकती है, यह शुरुआत में आसान और सुंदर लग सकता है। लेकिन बाद में अराजकता हो सकती है।

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