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

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

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

بعض النقاط العامة التي يجب أخذها في الاعتبار

  • في اللحظة التي تفعّل فيها مصادقة Cassandra، تنشئ Cassandra تلقائيًا حساب مشرف متميز تلقائيًا cassandra (بكلمة المرور cassandra). هذا مستخدم متميّز معروف على نطاق واسع، ويجب عدم استخدام هذا المستخدم لتلبية احتياجاتك المتعلقة بالإصدار العلني. بالإضافة إلى ذلك، تتطلّب المصادقة من خلال هذا المستخدم المتميّز اتّساق النصاب القانوني. لذلك، تتطلّب جميع عمليات الربط بخدمة Cassandra التي تتم المصادقة عليها من خلال هذا المستخدم اتساقًا أكثر صرامة، ما يؤدي إلى أداء أبطأ وأقل قدرة على تحمل الأخطاء.
  • سيتضمّن سير العمل النموذجي تفعيل المصادقة في Cassandra مع تمرير اسم مستخدم وكلمة مرور مخصّصَين من خلال ملف الإعدادات. سيؤدي ذلك إلى إنشاء المستخدم وكلمة المرور المخصّصَين اللذَين يمكنك استخدامهما بأمان لتلبية احتياجاتك، ولا تفرض المصادقة من خلال هؤلاء المستخدمين قيودًا على اتساق النصاب القانوني.
  • يُرجى العِلم أنّه على الرغم من أنّه قد تم إنشاء مستخدم مخصّص، لا تزال Cassandra تُنشئ المستخدم الفائق الصلاحيات التلقائي cassandra، ويمكن الوصول إلى مجموعة Cassandra من خلال المستخدم الفائق الصلاحيات. يجب عادةً استخدام الأمر ALTER ROLE لتغيير كلمة مرور مستخدم cassandra هذا إلى كلمة مرور أخرى غير كلمة المرور التلقائية cassandra بعد تفعيل مصادقة Cassandra بنجاح على مستوى النظام في Apigee. احفِظ على سجلّ لهذه كلمة المرور للرجوع إليها في المستقبل.
  • يجب عدم تغيير كلمة مرور الدور الذي تستخدمه مكوّنات edge-* للمصادقة، لأنّ ذلك سيؤدي إلى إيقاف الخدمة على الفور. بدلاً من ذلك، عليك إنشاء مستخدم جديد تمامًا وتعديل مكوّنات edge-* لاستخدام المستخدم الجديد، وبعد الانتهاء، عليك إسقاط المستخدم القديم باستخدام الأمر DROP ROLE.
  • لتغيير الدور المستخدَم من مكونات edge-* لمصادقة Cassandra، اتّبِع الخطوات التالية:
    1. اتّبِع الخطوات الواردة في القسم تفعيل المصادقة لإنشاء مستخدم جديد. يُرجى العلم أنّه إذا كانت المصادقة مفعَّلة في مجموعتك وغيّرت كلمة مرور مستخدم cassandra، عليك إدخال اسم مستخدم/كلمة مرور مستخدم حالي من خلال CASS_EXISTING_USERNAME وCASS_EXISTING_PASSWORD.
    2. بعد اكتمال العملية، تحقّق من خلال cqlsh من أنّه يمكنك الاتصال بخادم Cassandra من خلال المستخدم القديم والجديد.
    3. وجِّه جميع مكوّنات edge-* لاستخدام المستخدم الذي تم إنشاؤه حديثًا للاتصال بخدمة Cassandra باتّباع التعليمات الواردة في مقالة تعديل مكوّنات Edge التي تتصل بخدمة Cassandra.
    4. أخيرًا، عندما تستخدم جميع المكوّنات المستخدم الجديد للتواصل مع Cassandra، يمكنك إسقاط المستخدم القديم باستخدام الأمر DROP ROLE. يُرجى العلم أنّه يجب عدم إسقاط دور cassandra التلقائي. يمكنك حذف أي أدوار تم إنشاؤها مخصّصة ولا تستخدمها مكوّنات edge-* للتواصل مع Cassandra.
  • تذكَّر تعديل اسم مستخدم Cassandra وكلمة المرور في ملف الإعداد الذي تستخدمه لتثبيت مكوّنات Edge أو ترقيتها. سيؤدي ذلك إلى إزالة أي انقطاع أو الحدّ منه أثناء عمليات الحواف.

تفعيل مصادقة 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 ROLE <username> WITH 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.