डिफ़ॉल्ट रूप से, Cassandra बिना पुष्टि के इंस्टॉल होता है. इसका मतलब है कि कोई भी Cassandra को ऐक्सेस कर सकता है. Edge को इंस्टॉल करने के बाद या इंस्टॉल करने की प्रोसेस के दौरान, पुष्टि करने की सुविधा चालू की जा सकती है.
Cassandra CREATE/ALTER/DROP ROLES स्टेटमेंट का इस्तेमाल करके, भूमिकाएं जोड़ी जा सकती हैं, हटाई जा सकती हैं, और उनमें बदलाव किया जा सकता है. ज़्यादा जानकारी के लिए, ये लेख पढ़ें:
ध्यान देने वाली कुछ सामान्य बातें
- Cassandra की पुष्टि करने की सुविधा चालू करते ही, Cassandra अपने-आप एक डिफ़ॉल्ट सुपर यूज़र cassandra (पासवर्ड cassandra के साथ) बना देता है. यह एक जाना-माना सुपर यूज़र है. आपको इस यूज़र का इस्तेमाल, प्रोडक्शन से जुड़ी ज़रूरतों के लिए नहीं करना चाहिए. इसके अलावा, इस सुपर यूज़र के ज़रिए पुष्टि करने के लिए, कोरम में शामिल लोगों की संख्या में कोई बदलाव नहीं होना चाहिए. इसलिए, इस उपयोगकर्ता के ज़रिए Cassandra से पुष्टि करने वाले सभी कनेक्शन के लिए, ज़्यादा सख्त कंसिस्टेंसी की ज़रूरत होती है. इस वजह से, परफ़ॉर्मेंस धीमी हो जाती है और गड़बड़ी को सहन करने की क्षमता कम हो जाती है.
- सामान्य वर्कफ़्लो में, कॉन्फ़िगरेशन फ़ाइल के ज़रिए कस्टम उपयोगकर्ता नाम और पासवर्ड पास करते समय, Cassandra में पुष्टि करने की सुविधा चालू करना शामिल होगा. इससे कस्टम उपयोगकर्ता और पासवर्ड बन जाएगा. इसका इस्तेमाल अपनी ज़रूरतों के हिसाब से सुरक्षित तरीके से किया जा सकता है. साथ ही, ऐसे उपयोगकर्ताओं के ज़रिए पुष्टि करने पर, कोरम कंसिस्टेंसी से जुड़ी पाबंदियां लागू नहीं होती हैं.
- ध्यान दें कि कस्टम उपयोगकर्ता बनाने के बावजूद, Cassandra अब भी डिफ़ॉल्ट cassandra सुपर यूज़र बनाता है. साथ ही, आपके Cassandra क्लस्टर को सुपर यूज़र के ज़रिए ऐक्सेस किया जा सकता है. Apigee में Cassandra की पुष्टि करने की सुविधा चालू होने के बाद, आपको आम तौर पर ALTER ROLE कमांड का इस्तेमाल करके, इस cassandra उपयोगकर्ता का पासवर्ड डिफ़ॉल्ट cassandra के बजाय किसी दूसरे पासवर्ड में बदलना चाहिए. इस पासवर्ड को कहीं लिखकर रख लें, ताकि आने वाले समय में इसका इस्तेमाल किया जा सके.
- आपको उस भूमिका का पासवर्ड नहीं बदलना चाहिए जिसका इस्तेमाल edge-* कॉम्पोनेंट, पुष्टि करने के लिए कर रहे हैं. ऐसा करने से, सेवा में तुरंत रुकावट आएगी. इसके बजाय, आपको एक नया उपयोगकर्ता बनाना चाहिए. साथ ही, नए उपयोगकर्ता का इस्तेमाल करने के लिए edge-* कॉम्पोनेंट में बदलाव करना चाहिए. इसके बाद, DROP ROLE कमांड का इस्तेमाल करके, पुराने उपयोगकर्ता को हटा देना चाहिए.
- Cassandra की पुष्टि करने के लिए, edge-* कॉम्पोनेंट की ओर से इस्तेमाल की जाने वाली भूमिका को बदलने के लिए, यह तरीका अपनाएं:
- नया उपयोगकर्ता बनाने के लिए, पुष्टि करने की सुविधा चालू करें टाइटल वाले सेक्शन में दिया गया तरीका अपनाएं. ध्यान दें कि अगर आपके क्लस्टर में पुष्टि करने की सुविधा पहले से चालू है और आपने cassandra उपयोगकर्ता का पासवर्ड बदल दिया है, तो आपको
CASS_EXISTING_USERNAMEऔरCASS_EXISTING_PASSWORDकी मदद से, किसी मौजूदा उपयोगकर्ता का उपयोगकर्ता नाम/पासवर्ड कॉम्बिनेशन पास करना होगा. - यह प्रोसेस पूरी होने के बाद, cqlsh के ज़रिए पुष्टि करें कि Cassandra से पुराने और नए, दोनों उपयोगकर्ताओं के ज़रिए कनेक्ट किया जा सकता है.
- edge-* कॉम्पोनेंट को नए बनाए गए उपयोगकर्ता का इस्तेमाल करके Cassandra से कनेक्ट करने के लिए सेट करें. इसके लिए, Cassandra से कनेक्ट होने वाले Edge कॉम्पोनेंट अपडेट करना में दिए गए निर्देशों का पालन करें.
- आखिर में, जब सभी कॉम्पोनेंट Cassandra के साथ कम्यूनिकेट करने के लिए नए उपयोगकर्ता का इस्तेमाल कर रहे हों, तब
DROP ROLEकमांड का इस्तेमाल करके पुराने उपयोगकर्ता को हटाया जा सकता है. ध्यान दें कि डिफ़ॉल्ट cassandra भूमिका को नहीं हटाया जाना चाहिए. कस्टम तौर पर बनाई गई ऐसी भूमिकाओं को हटाया जा सकता है जिनका इस्तेमाल Cassandra के साथ कम्यूनिकेट करने के लिए, edge-* कॉम्पोनेंट नहीं कर रहे हैं.
- नया उपयोगकर्ता बनाने के लिए, पुष्टि करने की सुविधा चालू करें टाइटल वाले सेक्शन में दिया गया तरीका अपनाएं. ध्यान दें कि अगर आपके क्लस्टर में पुष्टि करने की सुविधा पहले से चालू है और आपने cassandra उपयोगकर्ता का पासवर्ड बदल दिया है, तो आपको
- Edge कॉम्पोनेंट को इंस्टॉल या अपग्रेड करने के लिए इस्तेमाल की जाने वाली कॉन्फ़िगरेशन फ़ाइल में, Cassandra के काम करने वाले उपयोगकर्ता नाम और पासवर्ड को अपडेट करना न भूलें. इससे, एज डिवाइसों पर काम करने के दौरान होने वाली किसी भी रुकावट को कम या खत्म किया जा सकेगा.
इंस्टॉलेशन के दौरान, Cassandra की पुष्टि करने की सुविधा चालू करना
Cassandra की पुष्टि करने की सुविधा को इंस्टॉल करते समय चालू किया जा सकता है.
इंस्टॉल करते समय Cassandra ऑथेंटिकेशन की सुविधा चालू करने के लिए, Cassandra के सभी नोड की कॉन्फ़िगरेशन फ़ाइल में CASS_AUTH प्रॉपर्टी शामिल करें:
CASS_AUTH=y # The default value is n.
Edge के ये कॉम्पोनेंट, Cassandra को ऐक्सेस करते हैं:
- मैनेजमेंट सर्वर
- मैसेज प्रोसेसर
- राऊटर
- Qpid सर्वर
- Postgres सर्वर
इन कॉम्पोनेंट को इंस्टॉल करते समय, आपको कॉन्फ़िगरेशन फ़ाइल में उपयोगकर्ता नाम और पासवर्ड सेट करना होगा:
CASS_USERNAME=cassandra_username CASS_PASSWORD=cassandra_password
Cassandra इंस्टॉल करने के बाद, Cassandra के क्रेडेंशियल बदले जा सकते हैं. हालांकि, अगर आपने मैनेजमेंट सर्वर, मैसेज प्रोसेसर, राऊटर, Qpid सर्वर या Postgres सर्वर पहले से इंस्टॉल कर लिए हैं, तो आपको नए क्रेडेंशियल इस्तेमाल करने के लिए उन कॉम्पोनेंट को भी अपडेट करना होगा.
Cassandra इंस्टॉल करने के बाद, Cassandra के क्रेडेंशियल बदलने के लिए:
cqlshटूल और डिफ़ॉल्ट क्रेडेंशियल का इस्तेमाल करके, किसी एक Cassandra नोड में लॉग इन करें. आपको सिर्फ़ एक नोड पर पासवर्ड बदलना होगा. इसके बाद, यह रिंग में मौजूद सभी Cassandra नोड पर ब्रॉडकास्ट हो जाएगा:/opt/apigee/apigee-cassandra/bin/cqlsh cassIP 9042 -u cassandra_username -p cassandra_password
कहां:
- cassIP, Cassandra नोड का आईपी पता है.
- 9042, Cassandra का डिफ़ॉल्ट पोर्ट है.
- पासवर्ड अपडेट करने के लिए, cqlsh> प्रॉम्प्ट पर यह कमांड चलाएं:
ALTER ROLE <username> WITH PASSWORD='
'; cqlshटूल से बाहर निकलें, जैसा कि इस उदाहरण में दिखाया गया है:exit
- अगर आपने अब तक मैनेजमेंट सर्वर, मैसेज प्रोसेसर,
राउटर, Qpid सर्वर या Postgres सर्वर इंस्टॉल नहीं किए हैं, तो कॉन्फ़िगरेशन फ़ाइल में ये प्रॉपर्टी सेट करें. इसके बाद, उन कॉम्पोनेंट को इंस्टॉल करें:
CASS_USERNAME=cassandra_username CASS_PASSWORD=new_cassandra_password
- अगर आपने मैनेजमेंट सर्वर, मैसेज प्रोसेसर, राउटर, Qpid सर्वर या Postgres सर्वर पहले से इंस्टॉल कर रखे हैं, तो उन कॉम्पोनेंट को अपडेट करने का तरीका जानने के लिए, Edge के पासवर्ड रीसेट करना लेख पढ़ें. इससे आपको नए पासवर्ड का इस्तेमाल करने में मदद मिलेगी.
Cassandra इंस्टॉल करने के बाद, पुष्टि करने की सुविधा चालू करना
इंस्टॉल करने के बाद, पुष्टि करने की सुविधा चालू करने के लिए:
- Cassandra से कनेक्ट करने वाले सभी Edge कॉम्पोनेंट को Cassandra के उपयोगकर्ता नाम और पासवर्ड के साथ अपडेट करें.
- सभी Cassandra नोड पर पुष्टि करने की सुविधा चालू करें. साथ ही, किसी एक नोड पर Cassandra का उपयोगकर्ता नाम और पासवर्ड सेट करें. आपको सिर्फ़ एक Cassandra नोड पर क्रेडेंशियल बदलने होंगे. इसके बाद, वे रिंग में मौजूद सभी Cassandra नोड पर ब्रॉडकास्ट हो जाएंगे.
Cassandra से कनेक्ट करने वाले Edge कॉम्पोनेंट अपडेट करना
Cassandra से कम्यूनिकेट करने वाले सभी Edge कॉम्पोनेंट को नए क्रेडेंशियल के साथ अपडेट करने के लिए, यह तरीका अपनाएं. ध्यान दें कि Cassandra क्रेडेंशियल को अपडेट करने से पहले, आपको यह चरण पूरा करना होगा:
- मैनेजमेंट सर्वर नोड पर, यह कमांड चलाएं:
/opt/apigee/apigee-service/bin/apigee-service edge-management-server store_cassandra_credentials -u cassandra_username -p cassandra_password
इसके अलावा, नए उपयोगकर्ता नाम और पासवर्ड वाली फ़ाइल को कमांड में पास किया जा सकता है:
apigee-service edge-management-server store_cassandra_credentials -f configFile
यहां configFile में ये शामिल हैं:
CASS_USERNAME=cassandra_username # Default is cassandra CASS_PASSWORD='cassandra_password' # Default is cassandra; wrap in single quotes if it includes special chars
यह कमांड, मैनेजमेंट सर्वर को अपने-आप रीस्टार्ट कर देता है.
- इनमें से हर सेवा के लिए, पहला चरण दोहराएं:
- सभी मैसेज प्रोसेसर
- सभी राऊटर
- सभी Qpid सर्वर (edge-qpid-server)
- Postgres सर्वर (edge-postgres-server)
हर सेवा के लिए पहले चरण को दोहराते समय, ऊपर दिए गए कमांड में
edge-management-serverको सेवा के सही नाम से बदलें. उदाहरण के लिए, Router सेवा के लिए चरण पूरा करते समय, इस कमांड का इस्तेमाल करें:/opt/apigee/apigee-service/bin/apigee-service edge-router store_cassandra_credentials -u cassandra -p cassandra
पुष्टि करने की प्रक्रिया चालू करें
Cassandra की पुष्टि करने की सुविधा चालू करने और उपयोगकर्ता नाम और पासवर्ड सेट करने के लिए, यह तरीका अपनाएं:
- यहां दिए गए कॉन्टेंट के साथ साइलेंट कॉन्फ़िगरेशन फ़ाइल बनाएं:
# Specify IP address or DNS name of cassandra node IP1=192.168.1.1 IP2=192.168.1.2 IP3=192.168.1.3 # Must resolve to IP address or DNS name of host HOSTIP=$(hostname -i) # Set to ‘y’ to enable Cassandra authentication. CASS_AUTH=y # Possible values are ‘y/n’ # Cassandra username. If it does not exist, this user would be created as a SUPERUSER CASS_USERNAME=cassandra_username # Default value is cassandra - don't use for production # Cassandra Password. If CASS_USERNAME does not exist, create SUPERUSER with this as password CASS_PASSWORD=cassandra_password # Default value is cassandra - don't use for production # Space-separated IP/DNS names of the Cassandra hosts CASS_HOSTS="$IP1:1,1 $IP2:1,1 $IP3:1,1" # Username of an existing C* user. Only needed if you have disabled or changed details of the default cassandra user(‘cassandra’) CASS_EXISTING_USERNAME=existing_cassandra_username # Password of an existing C* user. Only needed if you have disabled or change password of the default cassandra user(‘cassandra’) CASS_EXISTING_PASSWORD=existing_cassandra_password # Cassandra port CASS_PORT=9042 # The default port is 9042.
पहले Cassandra नोड में लॉग इन करें और यह कमांड चलाएं:
apigee-service apigee-cassandra enable_cassandra_authentication -f CONFIG
इसके अलावा, प्रॉपर्टी को स्क्रिप्ट में कमांड आर्ग्युमेंट के तौर पर पास किया जा सकता है. इसके बारे में यहां दिए गए उदाहरण में बताया गया है:
CASS_AUTH=y HOSTIP=$(hostname -i) CASS_PORT=9042 CASS_EXISTING_USERNAME=existing_cassandra_username CASS_EXISTING_PASSWORD=existing_cassandra_password CASS_USERNAME=cassandra_username CASS_PASSWORD=cassandra_password CASS_HOSTS="192.168.1.1:1,1 192.168.1.2:1,1 192.168.1.3:1,1" apigee-service apigee-cassandra enable_cassandra_authentication
ध्यान दें:
- डिफ़ॉल्ट Cassandra क्रेडेंशियल के लिए, ऊपर दिया गया कमांड Cassandra की पुष्टि करने की सुविधा चालू करता है और Cassandra को रीस्टार्ट करता है.
- डिफ़ॉल्ट क्रेडेंशियल के अलावा, यह कमांड रेप्लिकेशन फ़ैक्टर में भी बदलाव करता है, एक सुपर उपयोगकर्ता बनाता है, और
system_auth keyspaceपर रिपेयर चलाता है.
- सभी Cassandra नोड पर, पहले और दूसरे चरण को दोहराएं.