تفعيل مصادقة Cassandra

بشكل تلقائي، يتم تثبيت تطبيق Cassandra بدون تفعيل المصادقة. وهذا يعني أنه يمكن لأي شخص الوصول إلى "كاساندرا". يمكنك تفعيل المصادقة بعد تثبيت Edge، أو كجزء من عملية التثبيت.

يمكنك إضافة مستخدمين وإزالتهم وتعديلهم باستخدام عبارات CREATE/ALTER/DROP USER لـ Cassandra. لمزيد من المعلومات، يمكنك الاطّلاع على أوامر Cassandra SQL Shell.

تفعيل مصادقة Cassandra أثناء التثبيت

يمكنك تفعيل مصادقة Cassandra أثناء التثبيت.

لتفعيل مصادقة Cassandra أثناء التثبيت، ضمِّن السمة CASS_AUTH في ملف الإعداد لجميع عُقد Cassandra:

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. سجِّل الدخول إلى أي عقدة Cassandra باستخدام أداة cqlsh وبيانات الاعتماد التلقائية. ما عليك سوى تغيير كلمة المرور في عقدة واحدة وسيتم بثها إلى جميع عُقد Cassandra في الحلقة:
    /opt/apigee/apigee-cassandra/bin/cqlsh cassIP 9042 -u cassandra_username -p cassandra_password

    المكان:

    1. cassIP هو عنوان IP لعقدة Cassandra.
    2. 9042 هو منفذ Cassandra التلقائي.
  2. نفِّذ الأمر التالي في إشعار cqlsh> لتعديل كلمة المرور:
    ALTER USER cassandra_username/var> WITH PASSWORD 'new_cassandra_password';
  3. اخرج من أداة cqlsh، كما هو موضّح في المثال التالي:
    exit
  4. إذا لم تكن قد ثبتّ خادم الإدارة أو معالِجات الرسائل أو أجهزة التوجيه أو خوادم Qpid أو خوادم Postgres حتى الآن، اضبط السمات التالية في ملف الإعداد، ثم ثبِّت هذه المكوّنات:
    CASS_USERNAME=cassandra_username
    CASS_PASSWORD=new_cassandra_password
  5. إذا كنت قد ثبّت بالفعل خادم الإدارة أو معالِجات الرسائل أو أجهزة التوجيه أو خوادم Qpid أو خوادم Postgres، راجِع إعادة ضبط كلمات مرور Edge للاطّلاع على إجراء تحديث هذه المكوّنات لاستخدام كلمة المرور الجديدة.

تفعيل مصادقة Cassandra بعد التثبيت

لتمكين المصادقة بعد التثبيت:

تحديث مكونات Edge التي تتصل بـ Cassandra

اتّبِع الإجراء التالي لتحديث جميع مكونات Edge التي تتصل مع Cassandra باستخدام بيانات الاعتماد الجديدة. يُرجى ملاحظة أنّه يتم تنفيذ هذه الخطوة قبل تعديل بيانات اعتماد 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. بالنسبة إلى كل خدمة من الخدمات التالية، كرِّر الخطوة 1:
    • كل معالجات الرسائل
    • كل أجهزة التوجيه
    • جميع خوادم Qpid (edge-qpid-server)
    • خوادم Postgres (edge-postgres-server)

    عند تكرار الخطوة 1 لكل خدمة، استبدِل 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. كرر الخطوتين 1 و2 على جميع عُقد Cassandra.