הפעלת אימות קסנדרה

כברירת מחדל, Cassandra מתקינה ללא אימות מופעל. המשמעות היא שכל אחד יכול לגשת קסנדרה. אפשר להפעיל את האימות אחרי שמתקינים את Edge או כחלק מההתקנה תהליך האימות.

אפשר להוסיף, להסיר ולשנות משתמשים באמצעות CREATE/ALTER/DROP USER Cassandra הצהרות. למידע נוסף, ראו פקודות מעטפת SQL של קסנדרה.

הפעלת אימות Cassandra במהלך התקנה

אפשר להפעיל אימות של Cassandra בזמן ההתקנה.

כדי להפעיל אימות של 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. אבל אם יש לך כבר התקינו את שרת הניהול, מעבדי הודעות, נתבים, שרתי Qpid או Postgres יש לעדכן את הרכיבים האלו גם כדי שישתמשו בפרטי הכניסה החדשים.

כדי לשנות את פרטי הכניסה של Cassandra אחרי התקנת Cassandra:

  1. מתחברים לכל צומת של Cassandra באמצעות הכלי cqlsh וברירת המחדל פרטי הכניסה. צריך לשנות את הסיסמה רק בצומת אחד, והיא תשודר לכולם צמתים של Cassandra בתוך הטבעת:
    /opt/apigee/apigee-cassandra/bin/cqlsh cassIP 9042 -u cassandra_username -p cassandra_password

    כאשר:

    1. cassIP היא כתובת ה-IP של צומת Cassandra.
    2. 9042 הוא יציאת ברירת המחדל של Cassandra.
  2. כדי לעדכן את הסיסמה, מריצים את הפקודה הבאה בהודעה של cqlsh>:
    ALTER USER cassandra_username/var> WITH PASSWORD 'new_cassandra_password';
  3. יוצאים מהכלי cqlsh, כפי שאפשר לראות בדוגמה הבאה:
    exit
  4. אם עדיין לא התקנתם את שרת הניהול, מעבדי ההודעות, נתבים, שרתי Qpid או שרתי Postgres, מגדירים את המאפיינים הבאים ב קובץ config ולאחר מכן מתקינים את הרכיבים האלה:
    CASS_USERNAME=cassandra_username
    CASS_PASSWORD=new_cassandra_password
  5. אם כבר התקנתם את שרת הניהול, הודעה מעבדים, נתבים, שרתי Qpid או שרתי Postgres. במאמר איפוס סיסמאות Edge מוסבר איך לבצע את העדכון. רכיבים כדי להשתמש בסיסמה החדשה.

הפעלת פוסט האימות של Cassandra התקנה

כדי להפעיל אימות לאחר התקנה:

עדכון רכיבי Edge שמתחברים ל-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. חוזרים על שלב 1 לכל אחד מהשירותים הבאים:
    • כל מעבדי ההודעות
    • כל הנתבים
    • כל שרתי ה-Qpid (קצה-qpid-server)
    • שרתי Postgres (end-postgres-server)

    כשחוזרים על שלב 1 עבור כל שירות, מחליפים את edge-management-server בקטע שלמעלה עם שם השירות המתאים. לדוגמה, כשמריצים את השלב עבור בשירות נתב, משתמשים בפקודה הבאה:

    /opt/apigee/apigee-service/bin/apigee-service edge-router
      store_cassandra_credentials -u cassandra -p cassandra

הפעלת האימות

מבצעים את התהליך הבא כדי להפעיל אימות של Cassandra ולהגדיר את שם המשתמש סיסמה:

  1. יוצרים קובץ תצורה שקט עם התוכן שמוצג בהמשך:
    # 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.
  2. מתחברים לצומת הראשון של 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 והפעלה מחדש קסנדרה.
    • עבור פרטי כניסה שאינם ברירות המחדל, הפקודה גם משנה את גורם הרפליקציה, ויוצרת משתמש-על ומבצע תיקון בתאריך system_auth keyspace.
  3. חוזרים על שלבים 1 ו-2 בכל הצמתים של Cassandra.