Cassanda की पुष्टि करने की सुविधा चालू करें

डिफ़ॉल्ट रूप से, 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-* कॉम्पोनेंट की इस्तेमाल की गई भूमिका बदलने के लिए, यह तरीका अपनाएं:
    1. नया उपयोगकर्ता बनाने के लिए, पुष्टि करने की सुविधा चालू करें सेक्शन में दिया गया तरीका अपनाएं. ध्यान दें कि अगर आपके क्लस्टर में पुष्टि करने की सुविधा पहले से चालू है और आपने cassandra उपयोगकर्ता का पासवर्ड बदल दिया है, तो आपको CASS_EXISTING_USERNAME और CASS_EXISTING_PASSWORD के ज़रिए किसी मौजूदा उपयोगकर्ता का उपयोगकर्ता नाम/पासवर्ड डालना होगा.
    2. इसके बाद, cqlsh की मदद से पुष्टि करें कि आपके पास पुराने और नए, दोनों उपयोगकर्ता नामों से Cassandra से कनेक्ट करने की अनुमति है.
    3. Cassandra से कनेक्ट करने वाले Edge कॉम्पोनेंट अपडेट करें में दिए गए निर्देशों का पालन करके, Cassandra से कनेक्ट करने के लिए, नए उपयोगकर्ता का इस्तेमाल करने के लिए सभी edge-* कॉम्पोनेंट को पॉइंट करें.
    4. आखिर में, जब सभी कॉम्पोनेंट Cassandra के साथ बातचीत करने के लिए नए उपयोगकर्ता का इस्तेमाल कर रहे हों, तो DROP ROLE कमांड का इस्तेमाल करके पुराने उपयोगकर्ता को हटाया जा सकता है. ध्यान दें कि डिफ़ॉल्ट cassandra रोल को ड्रॉप नहीं किया जाना चाहिए. आपके पास कस्टम तौर पर बनाई गई उन सभी भूमिकाओं को हटाने का विकल्प है जिनका इस्तेमाल, Cassandra के साथ कम्यूनिकेट करने के लिए edge-* कॉम्पोनेंट नहीं कर रहे हैं.
  • 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 के क्रेडेंशियल बदलने के लिए:

  1. cqlsh टूल और डिफ़ॉल्ट क्रेडेंशियल का इस्तेमाल करके, किसी भी Cassandra नोड में लॉग इन करें. आपको सिर्फ़ एक नोड पर पासवर्ड बदलना होगा. यह बदलाव, रिंग में मौजूद सभी Cassandra नोड पर ब्रॉडकास्ट हो जाएगा:
    /opt/apigee/apigee-cassandra/bin/cqlsh cassIP 9042 -u cassandra_username -p cassandra_password

    कहां:

    1. cassIP, Cassandra नोड का आईपी पता है.
    2. 9042, Cassandra का डिफ़ॉल्ट पोर्ट है.
  2. पासवर्ड अपडेट करने के लिए, cqlsh> प्रॉम्प्ट पर यह कमांड चलाएं:
    ALTER ROLE <username> WITH PASSWORD='';
  3. cqlsh टूल से बाहर निकलें, जैसा कि इस उदाहरण में दिखाया गया है:
    exit
  4. अगर आपने अब तक मैनेजमेंट सर्वर, मैसेज प्रोसेसर, राउटर, Qpid सर्वर या Postgres सर्वर इंस्टॉल नहीं किए हैं, तो कॉन्फ़िगरेशन फ़ाइल में ये प्रॉपर्टी सेट करें. इसके बाद, उन कॉम्पोनेंट को इंस्टॉल करें:
    CASS_USERNAME=cassandra_username
    CASS_PASSWORD=new_cassandra_password
  5. अगर आपने मैनेजमेंट सर्वर, मैसेज प्रोसेसर, राउटर, Qpid सर्वर या Postgres सर्वर पहले से इंस्टॉल कर लिए हैं, तो नए पासवर्ड का इस्तेमाल करने के लिए उन कॉम्पोनेंट को अपडेट करने का तरीका जानने के लिए, Edge के पासवर्ड रीसेट करना लेख पढ़ें.

इंस्टॉलेशन के बाद, Cassandra की पुष्टि करने की सुविधा चालू करना

इंस्टॉल करने के बाद पुष्टि करने की सुविधा चालू करने के लिए:

Cassandra से कनेक्ट करने वाले Edge कॉम्पोनेंट अपडेट करना

Cassandra के साथ कम्यूनिकेट करने वाले सभी Edge कॉम्पोनेंट को नए क्रेडेंशियल के साथ अपडेट करने के लिए, यह तरीका अपनाएं. ध्यान दें कि Cassandra के क्रेडेंशियल अपडेट करने से पहले, यह चरण पूरा करें:

  1. मैनेजमेंट सर्वर नोड पर, यह कमांड चलाएं:
    /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

    यह कमांड, मैनेजमेंट सर्वर को अपने-आप रीस्टार्ट कर देता है.

  2. नीचे दी गई हर सेवा के लिए, पहला चरण दोहराएं:
    • सभी मैसेज प्रोसेसर
    • सभी राऊटर
    • सभी Qpid सर्वर (edge-qpid-server)
    • Postgres सर्वर (edge-postgres-server)

    हर सेवा के लिए पहला चरण दोहराते समय, ऊपर दिए गए कमांड में edge-management-server को सेवा के सही नाम से बदलें. उदाहरण के लिए, रूटर सेवा के लिए चरण पूरा करते समय, इस कमांड का इस्तेमाल करें:

    /opt/apigee/apigee-service/bin/apigee-service edge-router
      store_cassandra_credentials -u cassandra -p cassandra

पुष्टि करने की सुविधा चालू करना

Cassandra की पुष्टि करने की सुविधा चालू करने और उपयोगकर्ता नाम और पासवर्ड सेट करने के लिए, यह तरीका अपनाएं:

  1. यहां दिए गए कॉन्टेंट के साथ एक साइलेंट कॉन्फ़िगरेशन फ़ाइल बनाएं:
    # 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.
  2. पहले 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 पर रिपेयर करता है.
  3. सभी Cassandra नोड पर पहला और दूसरा चरण दोहराएं.