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

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

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

  • שם משתמש = 'cassandra'
  • password = 'cassandra'

תוכל להשתמש בחשבון הזה, להגדיר סיסמה אחרת לחשבון הזה או ליצור משתמש חדש ב-Cassandra. אפשר להוסיף, להסיר ולשנות משתמשים באמצעות ההצהרות של CREATE/ALTER/DROP USER Cassandra.

למידע נוסף, ראו פקודות מעטפת SQL של Cassandra.

הפעלת אימות של 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, עליכם להגדיר את המאפיינים הבאים בקובץ התצורה ואז להתקין את הרכיבים האלה:
    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 (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 ולהגדיר את שם המשתמש והסיסמה:

  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.
    • סיסמת ברירת המחדל היא 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.