כברירת מחדל, Cassandra מותקנת בלי אימות. כלומר, כל מי שיש לו גישה לשרת Cassandra יכול לשלוח שאילתות למסד הנתונים של Cassandra בלי אימות. אפשר להפעיל את האימות אחרי שמתקינים את Edge, או כחלק מתהליך ההתקנה.
אם אתם מחליטים להפעיל אימות ב-Cassandra בלי לספק פרטי כניסה משלכם, המערכת משתמשת בפרטי הכניסה הבאים כברירת מחדל:
- username = 'cassandra'
- password = 'cassandra'
אתם יכולים להשתמש בחשבון המשתמש הזה, להגדיר סיסמה אחרת לחשבון המשתמש הזה או ליצור משתמש חדש ב-Cassandra. להוסיף, להסיר ולשנות משתמשים באמצעות הצהרות CREATE/ALTER/DROP USER של Cassandra.
מידע נוסף זמין במאמר פקודות מעטפת של Cassandra SQL.
הפעלת אימות Cassandra במהלך ההתקנה
אפשר להפעיל את האימות של Cassandra בזמן ההתקנה. עם זאת, למרות שאפשר להפעיל אימות כשמתקינים את Cassandra, תמיד צריך להשתמש בשם המשתמש ובסיסמה שמוגדרים כברירת מחדל ב-Cassandra (‘cassandra’:’cassandra’) במהלך ההתקנה.
אם אתם רוצים להשתמש בפרטי כניסה ל-Cassandra שהם לא ברירת המחדל, אתם צריכים להפעיל מחדש את האימות של Cassandra אחרי ההתקנה, לפי השלבים שמפורטים
כאן.
כדי להפעיל את האימות של Cassandra במהלך התקנה חדשה של Cassandra, צריך לכלול את המאפיינים הבאים בקובץ התצורה של כל הצמתים של Cassandra:
CASS_AUTH=y CASS_USERNAME=cassandra CASS_PASSWORD=cassandra
במהלך ההתקנה, Cassandra תוגדר עם אימות מופעל ועם פרטי כניסה של cassandra:cassandra כברירת מחדל.
אחרי שההתקנה הראשונית מסתיימת, אפשר לבצע את הפעולות הבאות:
- יוצרים משתמש חלופי שישמש לאימות של Cassandra, לפי ההליך שמתואר כאן.
- משנים את הסיסמה של משתמש ברירת המחדל של Cassandra לפי השלבים שמפורטים כאן.
- מתקינים רכיבי Edge שמשתמשים ב-Cassandra כדי להשתמש בפרטי הכניסה שהגדרתם למעלה.
רכיבי Edge שמתחברים ל-Cassandra
רכיבי Edge הבאים ניגשים ל-Cassandra:
- שרת ניהול
- מעבדי בקשות
- נתבים
- שרתי Qpid
- שרתי Postgres
התקנת רכיבי Edge כשמופעל אימות Cassandra
אם האימות של Cassandra מופעל כשמתקינים את רכיבי Edge האלה בפעם הראשונה, צריך לספק את ההגדרות הבאות בקובץ התצורה השקט:
CASS_AUTH=Y CASS_USERNAME=<valid username in Cassandra> CASS_PASSWORD=<password for the above username>
אפשר לשנות את פרטי הכניסה של Cassandra אחרי שמתקינים את Cassandra. עם זאת, אם כבר התקנתם את שרת הניהול, מעבדי הבקשות, הנתבים, שרתי Qpid או שרתי Postgres, אתם צריכים גם לעדכן את הרכיבים האלה כדי להשתמש בפרטי הכניסה החדשים, כפי שמתואר בקטע הבא.
עדכון רכיבי Edge שמתחברים ל-Cassandra
כדי לעדכן את כל רכיבי Edge שמתקשרים עם Cassandra באמצעות פרטי הכניסה החדשים, צריך לבצע את הפעולות הבאות. שימו לב שצריך לבצע את השלב הזה לפני שמעדכנים בפועל את פרטי הכניסה של Cassandra:
- בצומת Management Server, מריצים את הפקודה הבאה:
/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בפקודה שלמעלה בשם השירות המתאים. לדוגמה, כשמבצעים את השלב לשירות Router, משתמשים בפקודה הבאה:/opt/apigee/apigee-service/bin/apigee-service edge-router store_cassandra_credentials -u cassandra -p cassandra
הפעלת אימות Cassandra אחרי ההתקנה
בקטעים הבאים מוסבר איך להפעיל את האימות של Cassandra אחרי ההתקנה.
הפעלת אימות של Cassandra בהגדרה של מרכז נתונים יחיד
בהגדרה של Apigee שמבוססת על מרכז נתונים אחד וכבר מותקן בה Cassandra, אתם יכולים:
- מפעילים את האימות של Cassandra בפעם הראשונה, באמצעות משתמש ברירת המחדל של Cassandra (
cassandra:cassandra) או על ידי יצירת משתמש-על חדש לגמרי. כדי לעשות את זה, פועלים לפי השלבים הבאים:- פועלים לפי השלבים שמפורטים בקטע הפעלת אימות Cassandra בפעם הראשונה.
- מעדכנים את רכיבי Edge שמתחברים ל-Cassandra עם שם המשתמש והסיסמה של Cassandra.
- שינוי הסיסמה של משתמש קיים ב-Cassandra.
אם הפעלתם את האימות של Cassandra באמצעות פרטי הכניסה שמוגדרים כברירת מחדל (
cassandra:cassandra), אתם יכולים לשנות את הסיסמה לפי השלבים הבאים:- משנים את הסיסמה של משתמש Cassandra.
- מעדכנים את רכיבי Edge שמתחברים ל-Cassandra עם שם המשתמש והסיסמה של Cassandra.
הערה: המשתמש Cassandra הוא משתמש מיוחד ב-Cassandra. אימות באמצעות המשתמש הזה דורש עקביות של QUORUM. מידע נוסף זמין במאמר מידע על רמות העקביות של Cassandra.
הפעלת אימות Cassandra כשיש כמה מרכזי נתונים
כשמרחיבים את מרכזי הנתונים, פועלים לפי השלבים באחד מהתרחישים הבאים, בהתאם להגדרה שלכם.
תרחיש 1: במרכז הנתונים הקיים מופעל אימות של Cassandra
אם האימות של Cassandra כבר מופעל במרכז נתונים קיים עם פרטי כניסה שמוגדרים כברירת מחדל (
cassandra:cassandra), פועלים לפי השלבים הבאים:- מגדירים מרכז נתונים חדש עם פרטי הכניסה שמוגדרים כברירת מחדל ל-Cassandra (Cassandra:Cassandra) ועם CASS_AUTH=y. מידע נוסף זמין במאמר הפעלה ראשונה של אימות Cassandra.
- מתקינים את רכיבי Edge במרכז הנתונים החדש באמצעות פרטי הכניסה שמוגדרים כברירת מחדל ב-Cassandra.
אם האימות של Cassandra כבר מופעל במרכז נתונים קיים עם פרטי כניסה שאינם ברירת מחדל, צריך לבצע את השלבים הבאים:
- מגדירים מרכז נתונים חדש עם פרטי הכניסה של Cassandra:Cassandra כברירת מחדל ו-CASS_AUTH=y. מידע נוסף זמין במאמר הפעלה ראשונה של אימות Cassandra.
- כדי להשתמש שוב בפרטי הכניסה ממרכז נתונים קיים (אם במרכז הקיים נעשה שימוש בפרטי כניסה שאינם ברירת המחדל), פועלים לפי השלבים שמפורטים בקטע הפעלת אימות Cassandra בפעם הראשונה.
- מתקינים רכיבי Edge במרכז הנתונים החדש באמצעות פרטי כניסה ל-Cassandra שהם לא ברירת המחדל.
תרחיש 2: במרכז הנתונים הקיים לא מופעל אימות של Cassandra
אם האימות של Cassandra לא מופעל, מבצעים את השלבים הבאים:
- מגדירים מרכז נתונים חדש בלי אימות של Cassandra.
- פועלים לפי השלבים שמפורטים בקטע הפעלת אימות Cassandra בפעם הראשונה כדי להפעיל את אימות Cassandra בכל האשכול (לאחר ההרחבה).
- מעדכנים את רכיבי Edge שמתחברים ל-Cassandra לפי השלבים שמפורטים כאן.
הפעלת אימות Cassandra בפעם הראשונה
כדי להפעיל את האימות של 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 exist, 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.
- חוזרים על שלבים 1 ו-2 בכל צומתי Cassandra, אחד אחרי השני.
שינוי פרטי הכניסה של Cassandra אחרי ההתקנה של Cassandra
כדי לשנות את פרטי הכניסה של Cassandra אחרי ההתקנה:
- מתחברים לצומת Cassandra כלשהו באמצעות הכלי
cqlshופרטי הכניסה שמוגדרים כברירת מחדל. צריך לשנות את הסיסמה רק בצומת אחד, והיא תועבר לכל צומתי Cassandra בטבעת:/opt/apigee/apigee-cassandra/bin/cqlsh cassIP 9042 -u cassandra -p cassandra
כאשר:
- cassIP היא כתובת ה-IP של צומת Cassandra.
- 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, עיינו במאמר איפוס סיסמאות Edge כדי לראות איך לעדכן את הרכיבים האלה כך שישתמשו בסיסמה החדשה.