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

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

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

تفعيل مصادقة 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. ومع ذلك، إذا كنت قد ثبّتّ Management Server أو Message Processors أو Routers أو خوادم 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.