يتم تثبيت 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، اتّبِع الخطوات التالية:
- اتّبِع الخطوات الواردة في القسم بعنوان تفعيل المصادقة لإنشاء مستخدم جديد. يُرجى العِلم أنّه إذا كانت المصادقة مفعَّلة في المجموعة وغيّرت كلمة مرور المستخدم cassandra، عليك تمرير تركيبة اسم المستخدم/كلمة المرور لمستخدم حالي من خلال
CASS_EXISTING_USERNAMEوCASS_EXISTING_PASSWORD. - بعد اكتمال العملية، تأكَّد من خلال cqlsh من أنّه يمكنك الاتصال بـ Cassandra من خلال كلّ من المستخدم القديم والجديد.
- وجِّه جميع مكوّنات edge-* لاستخدام المستخدم الذي تم إنشاؤه حديثًا للاتصال بـ Cassandra باتّباع التعليمات الواردة في تعديل مكوّنات Edge التي تتصل بـ Cassandra.
- أخيرًا، عندما تستخدم جميع المكوّنات المستخدم الجديد للتواصل مع Cassandra، يمكنك حذف المستخدم القديم باستخدام الأمر
DROP ROLE. يُرجى العِلم أنّه يجب عدم إسقاط دور cassandra التلقائي. يمكنك حذف أي أدوار مخصّصة لا تستخدمها مكوّنات edge-* للتواصل مع Cassandra.
- اتّبِع الخطوات الواردة في القسم بعنوان تفعيل المصادقة لإنشاء مستخدم جديد. يُرجى العِلم أنّه إذا كانت المصادقة مفعَّلة في المجموعة وغيّرت كلمة مرور المستخدم 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، اتّبِع الخطوات التالية:
- سجِّل الدخول إلى أي عقدة Cassandra باستخدام أداة
cqlshوبيانات الاعتماد التلقائية. ما عليك سوى تغيير كلمة المرور على إحدى العُقد وسيتم بثها إلى جميع عُقد Cassandra في الحلقة:/opt/apigee/apigee-cassandra/bin/cqlsh cassIP 9042 -u cassandra_username -p cassandra_password
المكان:
- cassIP هو عنوان IP لعقدة Cassandra.
- 9042 هو منفذ Cassandra التلقائي.
- نفِّذ الأمر التالي في الطلب cqlsh> لتعديل كلمة المرور:
ALTER ROLE <username> WITH PASSWORD='
'; - اخرج من أداة
cqlsh، كما هو موضّح في المثال التالي:exit
- إذا لم يسبق لك تثبيت Management Server أو Message Processors أو Routers أو خوادم Qpid أو خوادم Postgres، اضبط الخصائص التالية في ملف الإعداد ثم ثبِّت هذه المكوّنات:
CASS_USERNAME=cassandra_username CASS_PASSWORD=new_cassandra_password
- إذا سبق لك تثبيت خادم الإدارة أو معالجات الرسائل أو أجهزة التوجيه أو خوادم Qpid أو خوادم Postgres، يُرجى الاطّلاع على إعادة ضبط كلمات مرور Edge لمعرفة الإجراءات اللازمة لتعديل هذه المكوّنات لاستخدام كلمة المرور الجديدة.
تفعيل مصادقة Cassandra بعد التثبيت
لتفعيل المصادقة بعد التثبيت:
- عدِّل جميع مكوّنات Edge التي تتصل بـ Cassandra باستخدام اسم مستخدم وكلمة مرور Cassandra.
- فعِّل المصادقة على جميع عُقد Cassandra، واضبط اسم مستخدم وكلمة مرور Cassandra على أي عقدة. ما عليك سوى تغيير بيانات الاعتماد على عقدة Cassandra واحدة وسيتم بثها إلى جميع عقد Cassandra في الحلقة.
تعديل مكوّنات Edge التي تتصل بـ Cassandra
استخدِم الإجراء التالي لتعديل جميع مكوّنات Edge التي تتواصل مع Cassandra باستخدام بيانات الاعتماد الجديدة. يُرجى العِلم أنّه عليك تنفيذ هذه الخطوة قبل تعديل بيانات اعتماد 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
يعيد هذا الأمر تشغيل "خادم الإدارة" تلقائيًا.
- كرِّر الخطوة 1 لكل من الخدمات التالية:
- جميع معالِجات الرسائل
- جميع أجهزة التوجيه
- جميع خوادم Qpid (edge-qpid-server)
- خوادم Postgres (edge-postgres-server)
عند تكرار الخطوة 1 لكل خدمة، استبدِل
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.
- كرِّر الخطوتَين 1 و2 على جميع عُقد Cassandra.