সাধারণত, যাচাইকরণ চালু না করেই Cassandra ইনস্টল হয়। এর অর্থ হল, যেকেউ Cassandra অ্যাক্সেস করতে পারবেন। Edge ইনস্টল করার পরে বা ইনস্টলেশন প্রক্রিয়ার অংশ হিসেবে আপনি যাচাইকরণ চালু করতে পারবেন।
আপনি Cassandra CREATE/ALTER/DROP ROLES স্টেটমেন্ট ব্যবহার করে ভূমিকা যোগ করতে, সরাতে ও পরিবর্তন করতে পারবেন। আরও তথ্যের জন্য, নিম্নলিখিত বিষয়গুলি দেখুন:
কিছু সাধারণ বিষয়
- আপনি Cassandra যাচাইকরণ চালু করার সাথে সাথেই, Cassandra অটোমেটিক একটি ডিফল্ট সুপার ইউজার cassandra (পাসওয়ার্ড cassandra) তৈরি করে দেয়। এটি একটি বহুল পরিচিত সুপার ব্যবহারকারী এবং আপনার প্রোডাকশনের প্রয়োজনের জন্য এই ব্যবহারকারীকে ব্যবহার করা উচিত নয়। এছাড়াও, এই সুপার ব্যবহারকারীর মাধ্যমে যাচাই করার জন্য কোরাম কনসিস্টেন্সি প্রয়োজন। তাই, এই ব্যবহারকারীর মাধ্যমে Cassandra-তে প্রমাণীকরণ করা সব কানেকশনের ক্ষেত্রে আরও কঠোর সামঞ্জস্য প্রয়োজন, এর ফলে পারফর্ম্যান্স ধীর গতির হয় এবং ফল্ট-টলারেন্স কমে যায়।
- সাধারণত, কনফিগারেশন ফাইলের মাধ্যমে কাস্টম ব্যবহারকারীর নাম ও পাসওয়ার্ড পাস করার সময় Cassandra-তে যাচাইকরণ চালু করার প্রসেসকে ওয়ার্কফ্লো বলা হয়। এর ফলে কাস্টম ব্যবহারকারী ও পাসওয়ার্ড তৈরি হবে যা আপনি নিরাপদে নিজের প্রয়োজনমতো ব্যবহার করতে পারবেন এবং এই ধরনের ব্যবহারকারীর মাধ্যমে যাচাইকরণে কোরাম কনসিস্টেন্সি সংক্রান্ত বিধিনিষেধ থাকে না।
- মনে রাখবেন, কাস্টম ব্যবহারকারী তৈরি করা হলেও, Cassandra এখনও ডিফল্ট cassandra সুপার ব্যবহারকারী তৈরি করে এবং আপনার Cassandra ক্লাস্টার সুপার ব্যবহারকারীর মাধ্যমে অ্যাক্সেস করা যায়। Apigee-তে Cassandra যাচাইকরণ সফলভাবে চালু করার পরে, এই cassandra ব্যবহারকারীর পাসওয়ার্ড ডিফল্ট cassandra-এর পরিবর্তে অন্য কিছুতে পরিবর্তন করতে, আপনাকে সাধারণত ALTER ROLE কমান্ড ব্যবহার করতে হবে। ভবিষ্যতে রেফারেন্সের জন্য এই পাসওয়ার্ডের রেকর্ড রাখুন।
- edge-* কম্পোনেন্ট যাচাইকরণের জন্য যে রোলের পাসওয়ার্ড ব্যবহার করছে সেটি পরিবর্তন করবেন না, কারণ এর ফলে পরিষেবা সঙ্গে সঙ্গে বন্ধ হয়ে যাবে। এর পরিবর্তে, আপনাকে একটি সম্পূর্ণ নতুন ব্যবহারকারী তৈরি করতে হবে, নতুন ব্যবহারকারীকে ব্যবহার করার জন্য edge-* কম্পোনেন্ট পরিবর্তন করতে হবে এবং সম্পূর্ণ হয়ে গেলে, DROP ROLE কমান্ড ব্যবহার করে পুরনো ব্যবহারকারীকে সরিয়ে দিতে হবে।
- Cassandra যাচাইকরণের জন্য edge-* কম্পোনেন্ট ব্যবহার করা ভূমিকা পরিবর্তন করতে, এইসব ধাপ অনুসরণ করুন:
- নতুন ব্যবহারকারী তৈরি করতে, যাচাইকরণ চালু করুন শীর্ষক বিভাগে উল্লেখ করা ধাপগুলি অনুসরণ করুন। মনে রাখবেন, আপনার ক্লাস্টারে আগে থেকেই যাচাইকরণ চালু করা থাকলে এবং আপনি cassandra ব্যবহারকারীর পাসওয়ার্ড পরিবর্তন করে থাকলে, আপনাকে
CASS_EXISTING_USERNAMEওCASS_EXISTING_PASSWORD-এর মাধ্যমে আগে থেকে থাকা ব্যবহারকারীর ব্যবহারকারীর নাম/পাসওয়ার্ডের কম্বিনেশন দিতে হবে। - সম্পূর্ণ হয়ে গেলে, cqlsh-এর মাধ্যমে যাচাই করুন যে আপনি পুরনো ও নতুন, দুটি ব্যবহারকারীর মাধ্যমেই Cassandra-তে কানেক্ট করতে পারছেন।
- Cassandra-র সাথে কানেক্ট করা Edge কম্পোনেন্ট আপডেট করুন লিঙ্কে দেওয়া নির্দেশাবলী অনুসরণ করে, Cassandra-র সাথে কানেক্ট করার জন্য নতুন তৈরি করা ব্যবহারকারীকে ব্যবহার করতে, সব edge-* কম্পোনেন্টকে পয়েন্ট করুন।
- অবশেষে, সব কম্পোনেন্ট যখন Cassandra-র সাথে যোগাযোগ করার জন্য নতুন ব্যবহারকারীকে ব্যবহার করছে, তখন আপনি
DROP ROLEকমান্ড ব্যবহার করে পুরনো ব্যবহারকারীকে সরিয়ে দিতে পারবেন। মনে রাখবেন, ডিফল্ট cassandra রোল বাদ দেওয়া যাবে না। Cassandra-র সাথে যোগাযোগ করার জন্য edge-* কম্পোনেন্ট ব্যবহার করছে না এমন যেকোনও কাস্টম-তৈরি ভূমিকা আপনি বাদ দিতে পারবেন।
- নতুন ব্যবহারকারী তৈরি করতে, যাচাইকরণ চালু করুন শীর্ষক বিভাগে উল্লেখ করা ধাপগুলি অনুসরণ করুন। মনে রাখবেন, আপনার ক্লাস্টারে আগে থেকেই যাচাইকরণ চালু করা থাকলে এবং আপনি cassandra ব্যবহারকারীর পাসওয়ার্ড পরিবর্তন করে থাকলে, আপনাকে
- 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 ক্রেডেনশিয়াল পরিবর্তন করতে:
cqlshটুল ও ডিফল্ট ক্রেডেনশিয়াল ব্যবহার করে যেকোনও একটি Cassandra নোডে লগ-ইন করুন। আপনাকে শুধুমাত্র একটি নোডে পাসওয়ার্ড পরিবর্তন করতে হবে এবং এটি রিংয়ের মধ্যে থাকা সব Cassandra নোডে ব্রডকাস্ট করা হবে:/opt/apigee/apigee-cassandra/bin/cqlsh cassIP 9042 -u cassandra_username -p cassandra_password
যেখানে:
- cassIP হল Cassandra নোডের IP অ্যাড্রেস।
- 9042 হল ডিফল্ট Cassandra পোর্ট।
- পাসওয়ার্ড আপডেট করতে cqlsh> প্রম্পটে নিম্নলিখিত কমান্ডটি এক্সিকিউট করুন:
ALTER ROLE <username> WITH PASSWORD='
'; - নিচের উদাহরণে দেখানো পদ্ধতি অনুসরণ করে
cqlshটুল থেকে বেরিয়ে আসুন:exit
- ম্যানেজমেন্ট সার্ভার, মেসেজ প্রসেসর,
রাউটার, Qpid সার্ভার বা Postgres সার্ভার ইনস্টল না করে থাকলে,
কনফিগারেশন ফাইলে নিম্নলিখিত প্রপার্টি সেট করুন এবং তারপরে সেইসব কম্পোনেন্ট ইনস্টল করুন:
CASS_USERNAME=cassandra_username CASS_PASSWORD=new_cassandra_password
- আপনি যদি ম্যানেজমেন্ট সার্ভার, মেসেজ প্রসেসর, রাউটার, Qpid সার্ভার বা Postgres সার্ভার আগে থেকেই ইনস্টল করে থাকেন, তাহলে নতুন পাসওয়ার্ড ব্যবহার করার জন্য সেইসব কম্পোনেন্ট আপডেট করার পদ্ধতি জানতে Edge পাসওয়ার্ড রিসেট করা দেখুন।
ইনস্টলেশনের পরে Cassandra যাচাইকরণ চালু করা
ইনস্টলেশনের পরে যাচাইকরণ চালু করতে:
- Cassandra-র সাথে কানেক্ট করা সব Edge কম্পোনেন্ট Cassandra ইউজারনেম ও পাসওয়ার্ড দিয়ে আপডেট করুন।
- সব Cassandra নোডে যাচাইকরণ চালু করুন, এবং যেকোনও একটি নোডে Cassandra ব্যবহারকারীর নাম ও পাসওয়ার্ড সেট করুন। আপনাকে শুধুমাত্র একটি Cassandra নোডে ক্রেডেনশিয়াল পরিবর্তন করতে হবে এবং সেগুলি রিংয়ের মধ্যে থাকা সব Cassandra নোডে ব্রডকাস্ট করা হবে।
Cassandra-র সাথে কানেক্ট করা Edge কম্পোনেন্ট আপডেট করা
নতুন ক্রেডেনশিয়াল দিয়ে Cassandra-র সাথে যোগাযোগ করে এমন সব Edge কম্পোনেন্ট আপডেট করতে নিচের পদ্ধতি অনুসরণ করুন। মনে রাখবেন, 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
এই কমান্ড ম্যানেজমেন্ট সার্ভার অটোমেটিক রিস্টার্ট করে।
- নিম্নলিখিত প্রতিটি পরিষেবার জন্য, ধাপ ১ আবার করুন:
- সব মেসেজ প্রসেসর
- সব রাউটার
- সব 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 যাচাইকরণ চালু করতে এবং ব্যবহারকারীর নাম ও পাসওয়ার্ড সেট করতে, নিম্নলিখিত পদ্ধতি ব্যবহার করুন:
- নিচে দেখানো কন্টেন্ট সহ একটি সাইলেন্ট কনফিগারেশন ফাইল তৈরি করুন:
# 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-এ একটি মেরামতের কাজ চালায়।
- সব Cassandra নোডে ১ ও ২ নম্বর ধাপ আবার করুন।