ডিফল্ট হিসেবে, যাচাইকরণ চালু না করেই 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 নোডে ১ ও ২ নম্বর ধাপ আবার করুন।