MySQL प्रमाणीकरण के लिए LDAP का उपयोग करें?


15

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

क्या ऐसे कोई प्लगइन्स हैं जो हमें MySQL के विशेषाधिकारों को प्रबंधित करने में मदद करने के लिए LDAP का उपयोग करने की अनुमति देंगे? बहुत कम से कम, हम LDAP सर्वर से कुछ उपयोगकर्ता नाम और पासवर्ड प्राप्त करना चाहते हैं।

हम MySQL 5.1 और 5.5 का उपयोग कर रहे हैं। यदि इस कार्यक्षमता को प्राप्त करने के लिए आवश्यक है तो हम MySQL 5.6 में अपग्रेड करने के लिए तैयार हो सकते हैं।

हम पसंद करेंगे कि कोई भी उपकरण CLI आधारित हो और उसे GUI या वेब इंटरफ़ेस की आवश्यकता न हो।

जवाबों:


14

एंटरप्राइज MySQL (संस्करण जिसे आप लाइसेंस के लिए ओरेकल का भुगतान करते हैं) में एक PAM मॉड्यूल है जो LDAP प्रमाणीकरण की अनुमति देता है: https://dev.mysql.com/doc/refman/5.5/en/pam-pluggable-authentication.html

MariaDB (मोंटी द्वारा विकसित MySQL का एक द्विआधारी संगत संस्करण) के पास इसके लिए एक खुला स्रोत PAM मॉड्यूल उपलब्ध है: http://kb.askmonty.org/en/pam-authentication-plugin/

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


8

आप auth_ldapGPL के तहत Infoscope Hellas LP द्वारा दिए गए प्लगइन का उपयोग कर सकते हैं ।

इसे यहां सोर्सफोर्ज से डाउनलोड किया जा सकता है

( मुखपृष्ठ )

प्लगइन अभी भी एक बीटा है और केवल UNIX इंस्टॉलेशन के लिए काम करता है।



5

MySQL में एक PAM प्रमाणीकरण प्लगइन है जो आपको प्रमाणीकरण सेवाएं प्रदान करने के लिए किसी भी उपलब्ध PAM मॉड्यूल का उपयोग करने देगा। एक pam_ldapमॉड्यूल है जो कॉन्फ़िगर करना अपेक्षाकृत आसान है जो आपको वह करने की अनुमति देता है जो आप चाहते हैं।

प्लगइन प्रलेखन में LDAP का उपयोग करके एक उदाहरण शामिल है ।


क्या आप जानते हैं कि क्या यह केर्बरोस आधारित प्रमाणीकरण का समर्थन करेगा?
साकिब अली

मुझे पता नहीं है। मेरा मानना ​​है कि एक GSSAPI प्लगइन कम से कम मारियाडब के लिए मौजूद है, लेकिन मुझे इसके साथ कोई व्यक्तिगत अनुभव नहीं है।
लार्क्स


2

आप Percona सर्वर पर अपने इंस्टेंलेशन को माइग्रेट कर सकते हैं और MySQL को LDAP से PAM द्वारा कनेक्ट करने के लिए इन दो तरीकों में से एक का उपयोग कर सकते हैं:

  • पूर्ण PAM प्लगइन जिसे Cort_pam कहा जाता है। यह प्लगइन डायलॉग का उपयोग करता है। यह क्लाइंट और सर्वर के बीच मनमाने संचार के साथ PAM प्रोटोकॉल का पूरी तरह से समर्थन करता है।

  • ओरेकल-संगत PAM को Cort_pam_compat कहा जाता है। यह प्लगइन mysql_clear_password का उपयोग करता है जो Oracle MySQL क्लाइंट का एक हिस्सा है। इसकी कुछ सीमाएँ भी हैं, जैसे, यह केवल एक पासवर्ड इनपुट का समर्थन करता है। पासवर्ड को पास करने के लिए “_ -p ”विकल्प का उपयोग करना होगा, ताकि पासवर्ड को_______ में लिखा जा सके।

http://www.percona.com/doc/percona-pam-for-mysql/intro.html

हम उपयोग कर रहे हैं auth_pam_compatलेकिन आपको यह याद रखना होगा कि क्लाइंट को क्लीयरटेक्स्ट क्लाइंट-साइड ऑथेंटिकेशन प्लगिन का समर्थन करना होगा


1

अब 2017 के अंत तक, मैं यह सुझाव दे सकता हूं:

https://www.percona.com/doc/percona-server/LATEST/management/pam_plugin.html

Percona PAM ऑथेंटिकेशन प्लगिन MySQL के ऑथेंटिकेशन प्लगइन का एक फ्री और ओपन सोर्स कार्यान्वयन है। यह प्लगइन MySQL सर्वर, MySQL क्लाइंट और PAM स्टैक के बीच मध्यस्थ का काम करता है। सर्वर प्लगइन पीएएम स्टैक से प्रमाणीकरण का अनुरोध करता है, पीएएम स्टैक से क्लाइंट के लिए (क्लियरटेक्स्ट में) किसी भी अनुरोध और संदेशों को आगे करता है और पीएएम स्टैक के लिए किसी भी उत्तर को वापस पढ़ता है।

इसका परीक्षण नहीं किया गया है, और मैंने इसके साथ कभी काम नहीं किया है, मैं इसे सुझाव देना चाहता था क्योंकि यह अच्छा हो सकता है।


"क्लियरटेक्स्ट में" - कृपया इसका उपयोग न करें।
h0tw1r3

@ h0tw1r3, क्यों? ِ वास्तव में मुझे यह कुछ ऐसा लगता है जो उपयोग करने के लिए उपयुक्त नहीं है, लेकिन मुझे आपकी राय सुनने में दिलचस्पी है। क्या वाणिज्यिक PAM प्लगइन के लिए कोई खुला स्रोत विकल्प है?
मोहम्मद नौरेलिन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.