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

Edge for Private Cloud نسخه ۴.۱۷.۰۹

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

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

  • username = 'cassandra'
  • password = 'cassandra'

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

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

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

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

توجه: هنگام نصب Cassandra بااستفاده از گزینه‌های «-p c»، «-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
  • پشته BaaS

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

CASS_USERNAME=cassandra 
CASS_PASSWORD=cassandra

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

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

  1. بااستفاده از ابزار cqlsh و اطلاعات کاربری پیش‌فرض، به سیستم یکی از گره‌های Cassandra وارد شوید. You only have to change the password on one node and it will be broadcast to all Cassandra nodes in the ring:
    > /opt/apigee/apigee-cassandra/bin/cqlsh cassIP 9042 -u cassandra -p cassandra
    Where:
    1. cassIP نشانی IP گره Cassandra است.
    2. 9042 درگاه پیش‌فرض Cassandra است.
    3. کاربر پیش‌فرض cassandra است.
    4. گذرواژه پیش‌فرض cassandra است. اگر قبلاً گذرواژه را تغییر داده‌اید، از گذرواژه فعلی استفاده کنید.
  2. فرمان زیر را به‌عنوان پیام‌واره cqlsh> برای به‌روزرسانی گذرواژه اجرا کنید:
    cqlsh> ALTER USER cassandra WITH PASSWORD 'NEW_PASSWORD';
  3. از ابزار cqlsh خارج شوید:
    cqlsh> exit
  4. اگر هنوز «سرور مدیریت»، «پردازشگرهای پیام»، «مسیریاب‌ها»، سرورهای Qpid، سرورهای Postgres، یا BaaS Stack را نصب نکرده‌اید، ویژگی‌های زیر را در فایل پیکربندی تنظیم کنید و سپس آن مؤلفه‌ها را نصب کنید:
    CASS_USERNAME=cassandra
    CASS_PASSWORD=NEW_PASSWORD
  5. اگر قبلاً «سرور مدیریت»، «پردازشگرهای پیام»، «مسیریاب‌ها»، سرورهای Qpid، سرورهای Postgres، یا BaaS Stack را نصب کرده‌اید، برای اطلاع از روش به‌روزرسانی این مؤلفه‌ها برای استفاده از گذرواژه جدید، به بازنشانی گذرواژه‌های 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 CASS_USERNAME -p CASS_PASSWORD

    درصورت تمایل، می‌توانید فایلی حاوی نام کاربری و گذرواژه جدید را به فرمان ارسال کنید:
    > apigee-service edge-management-server store_cassandra_credentials -f configFile

    که در آن configFile حاوی موارد زیر است:
    CASS_USERNAME=cassandra
    CASS_PASSWORD=CASS_PASSWROD


    این فرمان به‌طور خودکار «سرور مدیریت» را بازراه‌اندازی می‌کند.
  2. مرحله ۱ را در این دستگاه‌ها تکرار کنید:
    • همه پردازشگرهای پیام
    • همه رهیاب‌ها
    • همه سرورهای Qpid‏ (edge-qpid-server)
    • سرورهای Postgres‏ (edge-postgres-server)
  3. در گره پشته BaaS برای نسخه ۴.۱۶.۰۵.۰۴ و جدیدتر:
    1. Run the following command to generate an encrypted password:
      > /opt/apigee/apigee-service/bin/apigee-service baas-usergrid secure_password

      This command prompts you for the plain text password and returns the encrypted password in the form:
      SECURE:ae1b6dedbf6b26aaab8bee815a910737c1c15b55f3505c239e43bc09f8050
    2. نشان‌های زیر را در /opt/apigee/customer/application/usergrid.properties تنظیم کنید. If that file does not exist, create it:
      usergrid-deployment_cassandra.username=cassandra
      usergrid-deployment_cassandra.password=SECURE:ae1b6dedbf6b26aaab8bee815a910737c1c15b55f3505c239e43bc09f8050


      This example uses the default username for Cassandra. اگر نام کاربری را تغییر داده‌اید، مقدار usergrid-deployment_cassandra.username را مطابق با آن تنظیم کنید.

      مطمئن شوید که پیشوند «SECURE:» را در گذرواژه اضافه کرده‌اید. درغیراین‌صورت، BaaS Stack مقدار را به‌عنوان رمزگذاری‌نشده تفسیر می‌کند.

      توجه: هر گره BaaS Stack کلید منحصربه‌فرد خودش را دارد که برای رمزگذاری گذرواژه استفاده می‌شود. بنابراین، باید مقدار رمزگذاری‌شده را در هر گره «پشته BaaS» به‌طور جداگانه تولید کنید.
    3. مالکیت فایل usergrid.properties را به کاربر «apigee» تغییر دهید:
      > chown apigee:apigee /opt/apigee/customer/application/usergrid.properties
    4. گره «پشته» را پیکربندی کنید:
      > /opt/apigee/apigee-service/bin/apigee-service baas-usergrid configure
    5. پشته BaaS را بازراه‌اندازی کنید:
      > /opt/apigee/apigee-service/bin/apigee-service baas-usergrid restart
    6. این مراحل را برای همه گره‌های BaaS Stack تکرار کنید.

از روال زیر برای فعال کردن اصالت‌سنجی 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 repair system_auth