2011-10-20 9 views
28

मैंने Get Started रैबिटएमक्यू द्वारा प्रदान की गई मार्गदर्शिका पढ़ी है और stormed-amqp पर छठा उदाहरण भी योगदान दिया है, इसलिए मुझे एएमक्यूपी के बारे में ज्ञान है।एक multitenancy प्रणाली में RabbitMQ में कतार कैसे निजी/सुरक्षित बनाया जा सकता है?

हालांकि, गाइड व्यापक नहीं है और प्रमाणीकरण और प्रमाणीकरण जैसी चीजों से बचाता है।

हम एक बहुतायत प्रणाली तैयार कर रहे हैं जो आरपीसी-प्रकार की स्थिति में खरगोश एमक्यू का उपयोग करेगा। आरपीसी के इस कार्यान्वयन के बारे में शायद अलग क्या है कि रिमोट प्रक्रिया वास्तव में सिस्टम पर अन्य किरायेदार कार्यक्रम होंगे।

असल में, मैं डेटा बसों को अलग करने की है, जो निम्नलिखित दावे भी शामिल हैं:

  1. हमारे सर्वर गलत किरायेदार कार्यक्रम के लिए डेटा (यह आसानी से संभाला और प्रासंगिक है, लेकिन पूछताछ की नहीं है वितरित नहीं होगा)।
  2. किरायेदार कार्यक्रम उन कतारों से डेटा पढ़ने में सक्षम नहीं हैं जो उनके नहीं हैं।
  3. किरायेदार कार्यक्रम उन कतारों को लिखने में सक्षम नहीं हैं जो उनके नहीं हैं।

यह प्रश्न कड़ाई से RabbitMQ सुरक्षा के बारे में है। मुझे पता है कि RabbitMQ एसएसएल का समर्थन करता है, जो एंड-टू-एंड एन्क्रिप्शन प्रदान करता है, और मुझे पता है कि RabbitMQ उपयोगकर्ता नाम/पासवर्ड प्रमाणीकरण का समर्थन करता है। मुझे नहीं पता कि ये चीजें कतार उपयोग (उर्फ एसीएल) को निजीकृत करने के लिए लागू होती हैं, यानी कनेक्शन एन्क्रिप्ट किया जा सकता है, और उपयोगकर्ता सत्यापित किया जा सकता है, लेकिन उपयोगकर्ता सभी कतारों से पढ़ने/लिखने के लिए पढ़ सकता है।

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

उत्तर

2

मेरा मानना ​​है कि this ट्यूटोरियल दर्शाता है कि आप क्या करने का प्रयास कर रहे हैं।
तथ्य यह है कि कॉलबैक कतार अनन्य, ऑटो-डिलीट्स है, और इसका नाम ऑटो-जेनरेट किया गया है जो पर्याप्त सुरक्षा प्रदान करता है।

+0

मैंने वास्तव में तूफान-एएमपीपी लाइब्रेरी (जैसा ऊपर लिंक किया गया) में उस उदाहरण के कार्यान्वयन को लिखा था। मुझे यकीन नहीं था कि 'अनन्य' निर्देश पर्याप्त सुरक्षा थी, लेकिन मैं यह देखने के लिए प्रयोग करूँगा कि यह है या नहीं। धन्यवाद। – Brian

6

एक बहुआयामी प्रणाली में आप उपयोगकर्ताओं की अनुमतियों को परिभाषित करके कतार सुरक्षित कर देंगे। यहां http://www.rabbitmq.com/admin-guide.html

सब कुछ vhosts के अंदर होने और जेनेरिक vhost को पूरी तरह से अवरुद्ध करके प्रारंभ करें, यानी किसी को भी vhost पर कतारों और एक्सचेंजों को घोषित न करने दें।

संबंधित मुद्दे