بهطور پیشفرض، Cassandra نصب میکند بدون اینکه احراز هویت فعال باشد. یعنی هر کسی می تواند به کاساندرا دسترسی داشته باشد. می توانید احراز هویت را پس از نصب Edge یا به عنوان بخشی از فرآیند نصب فعال کنید.
احتیاط: Apigee توصیه میکند که از یک کاربر غیر پیشفرض Cassandra (کاربری غیر از cassandra ) برای فعال کردن احراز هویت Cassandra برای استفاده در تولید استفاده کنید. به فعال کردن نصب پس از احراز هویت Cassandra مراجعه کنید . استفاده از کاربر پیشفرض Cassandra ( cassandra ) مستلزم حفظ یکنواختی حد نصاب در سراسر خوشه است. این بدان معنی است که برای احراز هویت موفقیت آمیز یک پرس و جو کاساندرا، نیاز به حد نصابی از گره ها در سراسر خوشه برای فعال بودن دارد. اگر یک مرکز داده کاساندرا از کار بیفتد، ممکن است نصابی از گرهها برای احراز هویت موفقیتآمیز درخواست در مرکز داده فعال در دسترس نباشد. برای جلوگیری از این مشکل، از یک کاربر غیر پیش فرض Cassandra استفاده کنید.
با استفاده از عبارات Cassandra CREATE
/ ALTER
/ DROP ROLES
می توانید نقش ها را اضافه، حذف و تغییر دهید. برای اطلاعات بیشتر به ادامه مطلب مراجعه کنید:
برخی ملاحظات کلی لحظه ای که احراز هویت Cassandra را فعال می کنید، یک cassandra فوق کاربر پیش فرض (با رمز عبور cassandra ) به طور خودکار توسط Cassandra ایجاد می شود. این یک کاربر فوق العاده شناخته شده است و شما نباید از این کاربر برای نیازهای تولید خود استفاده کنید. علاوه بر این، احراز هویت از طریق این کاربر فوقالعاده مستلزم هماهنگی در حد نصاب است. بنابراین، همه اتصالات به کاساندرا احراز هویت از طریق این کاربر مستلزم سازگاری دقیقتری است که در نتیجه عملکرد کندتر و تحمل خطا کمتری دارد. یک گردش کار معمولی شامل فعال کردن احراز هویت در Cassandra در حین ارسال یک نام کاربری و رمز عبور سفارشی از طریق فایل پیکربندی است. این کاربر و رمز عبور سفارشی را ایجاد می کند که می توانید با خیال راحت از آنها برای نیازهای خود استفاده کنید، و احراز هویت از طریق چنین کاربرانی محدودیت های حد نصابی ندارد. به یاد داشته باشید که حتی اگر ممکن است یک کاربر سفارشی ایجاد شده باشد، Cassandra همچنان کاربر پیشفرض cassandra را ایجاد میکند و خوشه Cassandra شما از طریق کاربر فوقالعاده قابل دسترسی است. معمولاً باید از دستور ALTER ROLE برای تغییر رمز عبور این کاربر cassandra به چیزی غیر از cassandra پیشفرض پس از اینکه احراز هویت Cassandra با موفقیت در سراسر صفحه در Apigee فعال شد، استفاده کنید. این رمز عبور را برای مراجعات بعدی یادداشت کنید. شما نباید رمز عبور نقشی را که اجزای edge-* برای احراز هویت استفاده میکنند تغییر دهید، زیرا بلافاصله باعث اختلال در سرویس میشود. در عوض، باید یک کاربر کاملاً جدید ایجاد کنید، اجزای edge-* را برای استفاده از کاربر جدید تغییر دهید، و پس از تکمیل، کاربر قدیمی را با استفاده از دستور DROP ROLE رها کنید. برای تغییر نقشی که اجزای edge-* برای احراز هویت Cassandra استفاده میکنند، این مراحل را دنبال کنید: مراحل موجود در بخش با عنوان Enable Authentication را برای ایجاد یک کاربر جدید دنبال کنید. توجه داشته باشید که اگر احراز هویت قبلاً در خوشه شما فعال شده است و رمز عبور کاربر cassandra را تغییر داده اید، باید ترکیب نام کاربری/رمز عبور یک کاربر موجود را از طریق CASS_EXISTING_USERNAME
و CASS_EXISTING_PASSWORD
ارسال کنید. پس از تکمیل، از طریق cqlsh تأیید کنید که میتوانید از طریق کاربر قدیمی و جدید به Cassandra متصل شوید. با دنبال کردن دستورالعملهای موجود در بهروزرسانی اجزای لبه که به کاساندرا متصل میشوند، به همه مؤلفههای edge-* اشاره کنید تا از کاربر تازه ایجادشده برای اتصال به Cassandra استفاده کنید. در نهایت، زمانی که همه اجزا از کاربر جدید برای برقراری ارتباط با کاساندرا استفاده می کنند، می توانید با استفاده از دستور DROP ROLE
کاربر قدیمی را رها کنید. توجه داشته باشید که نقش پیشفرض casandra نباید حذف شود. میتوانید نقشهای ایجاد شده سفارشی را که توسط مؤلفههای edge-* برای برقراری ارتباط با کاساندرا استفاده نمیشوند، رها کنید. به یاد داشته باشید که نام کاربری و رمز عبور کاربردی Cassandra را در فایل پیکربندی که برای نصب یا ارتقای اجزای Edge استفاده میکنید، بهروزرسانی کنید. این امر هرگونه اختلال در حین عملیات لبه را از بین می برد یا به حداقل می رساند. در حین نصب، احراز هویت Cassandra را فعال کنید شما می توانید احراز هویت Cassandra را در زمان نصب فعال کنید.
توجه: هنگام نصب Cassandra با استفاده از گزینه های "-pc"، "-p ds"، "-p sa"، "-p aio"، "-p asa" و "-p ebp" از این روش استفاده کنید. برای فعال کردن احراز هویت 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'
) استفاده کنید، Apigee توصیه میکند نام کاربری و رمز عبور دیگری را برای استفاده در تولید انتخاب کنید. پس از نصب کاساندرا می توانید اعتبارات کاساندرا را تغییر دهید. با این حال، اگر قبلاً سرور مدیریت، پردازشگرهای پیام، روترها، سرورهای Qpid یا سرورهای Postgres را نصب کردهاید، باید آن مؤلفهها را نیز بهروزرسانی کنید تا از اعتبارنامههای جدید استفاده کنید.
برای تغییر اعتبار Cassandra پس از نصب Cassandra:
با استفاده از ابزار cqlsh
و اعتبار پیش فرض وارد هر گره Cassandra شوید. شما فقط باید رمز عبور را در یک گره تغییر دهید و به تمام گره های Cassandra در حلقه پخش می شود:
/opt/apigee/apigee-cassandra/bin/cqlsh cassIP 9042 -u cassandra_username -p cassandra_password کجا:
cassIP آدرس IP گره Cassandra است. 9042 پورت پیش فرض کاساندرا است. دستور زیر را در اعلان cqlsh> برای به روز رسانی رمز عبور اجرا کنید:
ALTER ROLE <username> WITH PASSWORD=''; همانطور که مثال زیر نشان می دهد از ابزار cqlsh
خارج شوید:
exit اگر هنوز سرور مدیریت، پردازشگرهای پیام، روترها، سرورهای Qpid یا سرورهای Postgres را نصب نکردهاید ، ویژگیهای زیر را در فایل پیکربندی تنظیم کنید و سپس آن مؤلفهها را نصب کنید:
CASS_USERNAME=cassandra_username
CASS_PASSWORD=new_cassandra_password اگر قبلاً سرور مدیریت، پردازشگرهای پیام، روترها، سرورهای Qpid، یا سرورهای Postgres را نصب کردهاید ، برای فرآیند بهروزرسانی آن مؤلفهها برای استفاده از رمز عبور جدید ، «بازنشانی رمزهای عبور لبه» را ببینید. نصب پست احراز هویت Cassandra را فعال کنید برای فعال کردن احراز هویت پس از نصب:
اجزای Edge را که به Cassandra متصل می شوند به روز کنید از روش زیر برای به روز رسانی تمام اجزای Edge که با کاساندرا در ارتباط هستند با اعتبار جدید استفاده کنید. توجه داشته باشید که این مرحله را قبل از بهروزرسانی اعتبار کاساندرا انجام دهید:
در گره مدیریت سرور، دستور زیر را اجرا کنید:
/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
را در دستور بالا با نام سرویس مناسب جایگزین کنید. به عنوان مثال، هنگامی که مرحله را برای یک سرویس روتر اجرا می کنید، از دستور زیر استفاده کنید:
/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 یادداشت ها:
برای اعتبار پیشفرض کاساندرا، دستور بالا احراز هویت کاساندرا را فعال میکند و کاساندرا را دوباره راهاندازی میکند. برای اعتبارنامههای غیرپیشفرض، این دستور همچنین ضریب تکرار را تغییر میدهد، یک ابرکاربر ایجاد میکند و یک تعمیر را روی system_auth keyspace
اجرا میکند. مراحل 1 و 2 را در تمام گره های کاساندرا تکرار کنید.