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

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

אם תחליטו להפעיל אימות ב-Cassandra, המערכת תשתמש בברירת המחדל הבאה פרטי כניסה:

  • שם משתמש = 'cassandra'
  • password = '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. מתחברים לכל צומת של Cassandra באמצעות הכלי cqlsh וברירת המחדל פרטי הכניסה. צריך לשנות את הסיסמה רק בצומת אחד, והיא תשודר לכולם צמתים של 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, מגדירים את המאפיינים הבאים ב קובץ config ולאחר מכן מתקינים את הרכיבים האלה:
    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. חוזרים על שלב 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. מתחברים לצומת Cassandra הראשון.
  2. מריצים את הפקודה הבאה:
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra
      enable_cassandra_authentication -e y

    הפקודה הזו מפעילה את האימות ומפעילים מחדש את Cassandra.

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

    איפה

    • cassIP היא כתובת ה-IP של צומת Cassandra.
    • 9042 הוא נמל קסנדרה.
    • משתמש ברירת המחדל הוא 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.