فعال کردن اصالت‌سنجی Cassandra

به‌طور پیش‌فرض، Cassandra بدون فعال بودن احراز هویت نصب می‌شود. این یعنی هر کسی می‌تواند به Cassandra دسترسی داشته باشد. می‌توانید اصالت‌سنجی را پس‌از نصب Edge یا به‌عنوان بخشی از فرایند نصب فعال کنید.

اگر تصمیم بگیرید اصالت‌سنجی را در Cassandra فعال کنید، از اطلاعات اعتباری پیش‌فرض زیر استفاده می‌کند:

  • username = 'cassandra'
  • گذرواژه = 'cassandra'

می‌توانید از این حساب استفاده کنید، گذرواژه دیگری برای این حساب تنظیم کنید، یا کاربر Cassandra جدیدی ایجاد کنید. بااستفاده از دستورات Cassandra CREATE/ALTER/DROP USER کاربران را اضافه، حذف، و اصلاح کنید.

برای اطلاعات بیشتر، فرمان‌های پوسته Cassandra SQL را ببینید.

فعال کردن اصالت‌سنجی Cassandra درطول نصب

می‌توانید اصالت‌سنجی Cassandra را در زمان نصب فعال کنید. بااین‌حال، اگرچه می‌توانید هنگام نصب Cassandra اصالت‌سنجی را فعال کنید، نمی‌توانید نام کاربری و گذرواژه پیش‌فرض را تغییر دهید. پس‌از تکمیل نصب Cassandra، باید آن مرحله را به‌صورت دستی انجام دهید.

برای فعال کردن اصالت‌سنجی Cassandra در زمان نصب، ویژگی CASS_AUTH را در فایل پیکربندی برای همه گره‌های Cassandra اضافه کنید:

CASS_AUTH=y # The default value is n.

عناصر Edge زیر به Cassandra دسترسی دارند:

  • سرور مدیریت
  • پردازنده‌های پیام
  • رهیاب
  • سرورهای Qpid
  • سرورهای Postgres

بنابراین، هنگام نصب این عناصر، باید ویژگی‌های زیر را در فایل پیکربندی تنظیم کنید تا اعتبارنامه‌های Cassandra را مشخص کنید:

CASS_USERNAME=cassandra
CASS_PASSWORD=cassandra

پس‌از نصب Cassandra می‌توانید اطلاعات اعتباری Cassandra را تغییر دهید. بااین‌حال، اگر قبلاً «سرور مدیریت»، «پردازشگرهای پیام»، «مسیریاب‌ها»، سرورهای Qpid، یا سرورهای Postgres را نصب کرده‌اید، باید این عناصر را نیز به‌روزرسانی کنید تا از اطلاعات اعتباری جدید استفاده کنید.

برای تغییر دادن اطلاعات اعتباری Cassandra پس‌از نصب Cassandra:

  1. بااستفاده از ابزار cqlsh و اعتبارنامه‌های پیش‌فرض، به سیستم یکی از گره‌های Cassandra وارد شوید. فقط باید گذرواژه را در یک گره تغییر دهید و این گذرواژه به همه گره‌های Cassandra در حلقه پخش خواهد شد:
    /opt/apigee/apigee-cassandra/bin/cqlsh cassIP 9042 -u cassandra -p cassandra

    مکان:

    1. ‫cassIP نشانی IP گره Cassandra است.
    2. ‫9042 درگاه پیش‌فرض Cassandra است.
    3. کاربر پیش‌فرض cassandra است.
    4. گذرواژه پیش‌فرض cassandra است. اگر قبلاً گذرواژه را تغییر داده‌اید، از گذرواژه فعلی استفاده کنید. اگر گذرواژه حاوی نویسه‌های خاص است، آن را در گیومه‌های تکی بگذارید.
  2. برای به‌روزرسانی گذرواژه، فرمان زیر را در پیام‌واره cqlsh> اجرا کنید:
    ALTER USER cassandra WITH PASSWORD 'NEW_PASSWORD';
  3. همان‌طور که در مثال زیر نشان داده شده است، از ابزار cqlsh خارج شوید:
    exit
  4. اگر هنوز «سرور مدیریت»، «پردازشگرهای پیام»، «مسیریاب‌ها»، سرورهای Qpid، یا سرورهای Postgres را نصب نکرده‌اید، ویژگی‌های زیر را در فایل پیکربندی تنظیم کنید و سپس این مؤلفه‌ها را نصب کنید:
    CASS_USERNAME=cassandra
    CASS_PASSWORD=NEW_PASSWORD
  5. اگر قبلاً «سرور مدیریت»، «پردازشگرهای پیام»، «مسیریاب‌ها»، سرورهای Qpid، یا سرورهای Postgres را نصب کرده‌اید، برای اطلاع از رویه به‌روزرسانی این عناصر برای استفاده از گذرواژه جدید، بازنشانی گذرواژه‌های Edge را ببینید.

فعال کردن اصالت‌سنجی Cassandra پس‌از نصب

برای فعال کردن اصالت‌سنجی:

  • همه عناصر Edge را که به Cassandra متصل می‌شوند با نام کاربری و گذرواژه Cassandra به‌روز کنید.
  • در همه گره‌های Cassandra، اصالت‌سنجی را فعال کنید.
  • نام کاربری و گذرواژه Cassandra را در هریک از گره‌ها تنظیم کنید. فقط باید اطلاعات اعتباری را در یک گره Cassandra تغییر دهید و این اطلاعات به همه گره‌های 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. برای هریک از سرویس‌های زیر، «مرحله ۱» را تکرار کنید:
    • همه پردازنده‌های پیام
    • همه رهیاب‌ها
    • همه سرورهای 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 و تنظیم نام کاربری و گذرواژه استفاده کنید:

  1. به سیستم اولین گره Cassandra وارد شوید.
  2. فرمان زیر را اجرا کنید:
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra
      enable_cassandra_authentication -e y

    این فرمان اصالت‌سنجی را فعال می‌کند و Cassandra را بازراه‌اندازی می‌کند.

  3. مراحل ۱ و ۲ را در همه گره‌های Cassandra تکرار کنید.
  4. بااستفاده از ابزار cqlsh و اعتبارنامه‌های پیش‌فرض، به سیستم یکی از گره‌های Cassandra وارد شوید. فقط باید گذرواژه را در یک گره Cassandra تغییر دهید و این گذرواژه به همه گره‌های Cassandra در حلقه پخش خواهد شد:
    /opt/apigee/apigee-cassandra/bin/cqlsh cassIP 9042 -u cassandra -p cassandra

    مکان

    • ‫cassIP نشانی IP گره Cassandra است.
    • ‫9042 درگاه Cassandra است.
    • کاربر پیش‌فرض cassandra است.
    • گذرواژه پیش‌فرض cassandra است. اگر قبلاً گذرواژه را تغییر داده‌اید، از گذرواژه فعلی استفاده کنید.
  5. فرمان زیر را در پیام‌واره cqlsh> اجرا کنید تا گذرواژه به‌روز شود:
    ALTER USER cassandra WITH PASSWORD 'NEW_PASSWORD';
  6. فرمان زیر را در پیام‌واره cqlsh> اجرا کنید تا مطمئن شوید فضای کلید همیشه دردسترس است.

    برای یک مرکز داده:

    ALTER KEYSPACE system_auth WITH replication = {'class': 'NetworkTopologyStrategy', 'dc-1': '3'};

    برای دو مرکز داده:

    ALTER KEYSPACE system_auth WITH replication = {'class': 'NetworkTopologyStrategy', 'dc-1': '3', 'dc-2': '3'};
  7. خارج شدن از ابزار cqlsh:
    exit
  8. nodetool repair را اجرا کنید تا مطمئن شوید که تغییر به همه گره‌های Cassandra منتقل شده است، همان‌طور که مثال زیر نشان می‌دهد:
    /opt/apigee/apigee-cassandra/bin/nodetool [-u username -pw 'password'] repair system_auth

    فقط درصورتی باید نام کاربری و گذرواژه‌تان را ارسال کنید که اصالت‌سنجی JMX را برای Cassandra فعال کرده باشید.