כברירת מחדל, Cassandra מתקינה ללא אימות. כלומר, כל מי שיש לו גישה לשרת של Cassandra יכול לאמת את מסד הנתונים של Cassandra ללא אימות. אפשר להפעיל את האימות אחרי שמתקינים את Edge או כחלק מתהליך ההתקנה.
אם תחליטו להפעיל אימות ב-Cassandra בלי לספק פרטי כניסה משלכם, ייעשה שימוש בפרטי הכניסה הבאים שמוגדרים כברירת מחדל:
- username = 'cassandra'
- password = 'cassandra'
אפשר להשתמש בחשבון המשתמש הזה, להגדיר סיסמה שונה לחשבון המשתמש הזה או ליצור משתמש חדש ב-Cassandra. אפשר להוסיף, להסיר ולשנות משתמשים באמצעות ההצהרות של CREATE/ALTER/DROP USER
בקסנדרה.
מידע נוסף זמין במאמר פקודות מעטפת SQL של SQL.
הפעלת אימות של Cassandra במהלך ההתקנה
אפשר להפעיל אימות של Cassandra בזמן ההתקנה. עם זאת, למרות שאפשר להפעיל את האימות במהלך התקנת Cassandra, עליך תמיד להשתמש בשם המשתמש ובסיסמה שמוגדרים כברירת מחדל בקסנדרה (‘cassandra’:’cassandra’
).
אם אתם רוצים להשתמש בפרטי הכניסה הנכונים ב-Kassandra, עליכם להפעיל מחדש את האימות של Cassandra אחרי ההתקנה. לשם כך, עליכם לפעול לפי השלבים שמפורטים
כאן.
אם אתם רוצים להפעיל אימות של Cassandra במהלך התקנה חדשה של Cassandra, עליכם לכלול את המאפיינים שלמטה בקובץ התצורה של כל הצמתים של Cassandra:
CASS_AUTH=y CASS_USERNAME=cassandra CASS_PASSWORD=cassandra
לאחר מכן ההתקנה תגדיר את Cassandra עם אימות מופעל ועם פרטי כניסה שמוגדרים כברירת מחדל ב-cassandra:cassandra
.
לאחר השלמת ההתקנה הראשונית, ניתן לבצע אחד או יותר מהצעדים הבאים:
- יוצרים משתמש חלופי שישמש לאימות בקסנדרה על ידי ביצוע ההליך כאן.
- אתם יכולים לשנות את הסיסמה של משתמש ברירת המחדל ב-Cassandra, על ידי ביצוע השלבים המפורטים כאן.
- מתקינים את הרכיבים של Edge שמשתמשים ב-Cassandra כדי להשתמש בפרטי הכניסה שהגדרתם למעלה.
רכיבי קצה שמתחברים לקסנדרה
הרכיבים הבאים של Edge ניגשים לקסנדרה:
- שרת ניהול
- מעבדי הודעות
- נתבים
- שרתי Qpid
- שרתי Postgres
התקנת רכיבי Edge כשאימות של Cassandra מופעל
אם האפשרות 'אימות קסנדרה' מופעלת בפעם הראשונה כשמתקינים את הרכיבים האלה של Edge, צריך לקבוע את ההגדרות הבאות בקובץ התצורה השקטה:
CASS_AUTH=Y CASS_USERNAME=<valid username in Cassandra> CASS_PASSWORD=<password for the above username>
תוכלו לשנות את פרטי הכניסה של Cassandra אחרי התקנת Cassandra. עם זאת, אם כבר התקנתם את שרתי הניהול, מעבדי ההודעות, הנתבים, שרתי ה-Qpid או שרתי Postgres, תצטרכו גם לעדכן את הרכיבים האלה כדי להשתמש בפרטי הכניסה החדשים, כפי שמתואר בקטע הבא.
עדכון הרכיבים של Edge שמתחברים לקסנדרה
תוכלו לעדכן את כל רכיבי Edge שמתקשרים עם Cassandra עם פרטי הכניסה החדשים. שימו לב שעליכם לבצע את השלב הזה לפני שתעדכנו את פרטי הכניסה של Cassandra:
- בצומת 'שרת הניהול', מריצים את הפקודה הבאה:
/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 characters.
הפקודה מפעילה מחדש באופן אוטומטי את שרת הניהול.
- חוזרים על שלב 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 אחרי ההתקנה.
הפעלה של אימות קסנדרה בהגדרה של מרכז נתונים יחיד
בהגדרה של Apigee המבוססת על מרכז נתונים שכבר מותקנת בה Cassandra, אפשר:
- הפעלה של אימות קסנדרה בפעם הראשונה, באמצעות משתמש ברירת המחדל של Cassandra (
cassandra:cassandra
) או על ידי יצירת משתמש-על חדש לגמרי. כך עושים זאת:- פועלים לפי השלבים שמפורטים במאמר אימות קסנדרה בפעם הראשונה.
- מעדכנים את הרכיבים של Edge שמתחברים אל Cassandra באמצעות שם המשתמש והסיסמה של Cassandra.
- שינוי הסיסמה של משתמש קיים בקסנדרה.
אם הפעלתם אימות של Cassandra באמצעות פרטי הכניסה המוגדרים כברירת מחדל ב-Cassandra (
cassandra:cassandra
), תוכלו לשנות את הסיסמה באופן הבא:- יש לשנות את הסיסמה למשתמשת Cassandra.
- מעדכנים את הרכיבים של Edge שמתחברים אל Cassandra באמצעות שם המשתמש והסיסמה של Cassandra.
הערה: המשתמש 'קסנדרה' הוא משתמש מיוחד בקסנדרה. אימות באמצעות המשתמש הזה מחייב עקביות ב-QUORUM. מידע נוסף זמין במאמר מידע על רמות העקביות של Cassandra.
הפעלה של אימות קסנדרה כשיש כמה מרכזי נתונים
כשמרחיבים את מרכז הנתונים, פועלים לפי השלבים באחד מהתרחישים הבאים, בהתאם להגדרה שלכם.
תרחיש 1: במרכז הנתונים הקיים הופעל אימות קסנדרה
אם אימות קסנדרה כבר מופעל במרכז נתונים קיים עם פרטי כניסה של
cassandra:cassandra
המוגדרים כברירת מחדל, יש לפעול לפי השלבים הבאים:- הגדרת מרכז נתונים חדש עם פרטי הכניסה Cassandra:Cassandra כברירת מחדל ו-CASS_AUTH=y. למידע נוסף, ראו הפעלה של אימות קסנדרה.
- התקנת הרכיבים של Edge במרכז הנתונים החדש באמצעות פרטי הכניסה של Cassandra המוגדרים כברירת מחדל.
אם אימות קסנדרה כבר מופעל במרכז נתונים קיים עם פרטי כניסה שאינם ברירת מחדל, יש לפעול לפי השלבים הבאים:
- הגדרת מרכז נתונים חדש עם פרטי ברירת המחדל של Cassandra:Cassandra ו-CASS_AUTH=y. למידע נוסף, ראו הפעלה של אימות קסנדרה.
- צריך לפעול לפי השלבים הבאים: הפעלה מחדש של האימות ב-Cassandra, כדי לעשות שימוש חוזר בפרטי הכניסה ממרכז נתונים קיים (אם יש פרטי כניסה שלא מוגדרים כברירת המחדל).
- התקנת הרכיבים של Edge במרכז הנתונים החדש באמצעות פרטי כניסה של Cassandra שאינם מוגדרים כברירת המחדל.
תרחיש 2: במרכז הנתונים הקיים לא הופעל אימות קסנדרה
אם אימות קסנדרה לא מופעל, עליכם לבצע את השלבים הבאים:
- הגדרת מרכז נתונים חדש ללא אימות Cassandra.
- פועלים לפי ההוראות להפעלה הראשונה של אימות קסנדרה כדי להפעיל אימות של Cassandra באשכול (הרחבת פוסט).
- כדי לעדכן רכיבים ב-Edge שמתחברים ל-Cassandra, פועלים לפי השלבים המפורטים כאן.
הפעלה של אימות קסנדרה בפעם הראשונה
כדי להפעיל אימות קסנדרה בפעם הראשונה, או כדי ליצור שם משתמש וסיסמה חדשים ל-Cassandra:
- יוצרים קובץ תצורה שקט עם התוכן שמוצג למטה:
# 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 exists, this user would be created as a SUPERUSER CASS_USERNAME=cassandra # Default value is cassandra # Cassandra Password. If CASS_USERNAME does not exist, create SUPERUSER with this as password CASS_PASSWORD=cassandra # Default value is cassandra # 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 change details of the default cassandra user(‘cassandra’) CASS_EXISTING_USERNAME=cassandra # The default username is cassandra # Password of an existing C* user. Only needed if you have disabled or change password of the default cassandra user(‘cassandra’) CASS_EXISTING_PASSWORD=cassandra # The default password is cassandra # Cassandra port CASS_PORT=9042 # The default port is 9042.
- מתחברים לצומת Cassandra הראשון ומבצעים את הפקודה הבאה:
apigee-service apigee-cassandra enable_cassandra_authentication -f CONFIG
אתם יכולים להעביר את המאפיינים כארגומנטים של פקודות לסקריפט, כמו בדוגמה הבאה:
CASS_AUTH=y HOSTIP=$(hostname -i) CASS_PORT=9042 CASS_EXISTING_USERNAME=cassandra CASS_EXISTING_PASSWORD=cassandra CASS_USERNAME=cassandra CASS_PASSWORD=cassandra 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 ומפעילה מחדש את Cassandra.
- בפרטי כניסה שאינם ברירת המחדל, הפקודה גם משנה את גורם השכפול, יוצרת משתמש-על ומבצעת תיקון ב-system_auth keyspace.
- חוזרים על שלבים 1 ו-2 בכל צומתי קסנדרה בנפרד.
שינוי פרטי הכניסה של Cassandra לאחר ההתקנה של Cassandra
כדי לשנות את פרטי הכניסה של Cassandra לאחר התקנת Cassandra:
- מתחברים לכל צומת Cassandra אחד באמצעות הכלי
cqlsh
ופרטי הכניסה שמוגדרים כברירת מחדל. יש לשנות את הסיסמה רק בצומת אחד, והיא תשודר לכל צומתי קסנדרה בטבעת:/opt/apigee/apigee-cassandra/bin/cqlsh cassIP 9042 -u cassandra -p cassandra
כאשר:
- cassIP היא כתובת ה-IP של צומת קסנדרה.
- 9042 היא יציאת Cassandra המוגדרת כברירת מחדל.
- משתמש ברירת המחדל הוא
cassandra
. - סיסמת ברירת המחדל היא
cassandra
. אם שינית את הסיסמה בעבר, עליך להשתמש בסיסמה הנוכחית. אם הסיסמה מכילה תווים מיוחדים, עטפו אותה במירכאות בודדות.
- מריצים את הפקודה הבאה בשורת הפקודה
cqlsh>
כדי לעדכן את הסיסמה:ALTER USER cassandra WITH PASSWORD 'NEW_PASSWORD';
- יוצאים מהכלי
cqlsh
, כמו בדוגמה הבאה:exit
- אם עדיין לא התקנת את שרת הניהול, מעבדי ההודעות, הנתבים, שרתי ה-Qpid או שרתי Postgres, עליך להגדיר את המאפיינים הבאים בקובץ התצורה ואז להתקין את הרכיבים האלה:
CASS_USERNAME=cassandra CASS_PASSWORD=NEW_PASSWORD
- אם כבר התקנתם את שרת הניהול, את מעבדי ההודעות, את הנתבים, את שרתי ה-Qpid או את שרתי Postgres, קראו את המאמר איפוס סיסמאות קצה ובדקו איך לעדכן את הרכיבים האלה כדי להשתמש בסיסמה החדשה.