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

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

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

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

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

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

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

רכיבי קצה שמתחברים אל 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:

  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 characters.

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

  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 לאחר ההתקנה

    הקטעים הבאים מסבירים כיצד להפעיל את אימות Cassandra לאחר ההתקנה.

    הפעלת אימות של Cassandra בהגדרה יחידה של מרכז נתונים

    אם יש לכם הגדרה אחת של Apigee במרכז נתונים ש-Cassandra מותקנת בה, ניתן לבצע את הפעולות הבאות:

    הערה: המשתמש 'Cassandra' הוא משתמש מיוחד ב-Cassandra. אימות באמצעות המשתמש הזה מחייב עקביות ב-QUORUM. למידע נוסף, ראו מידע על רמות העקביות של Cassandra.

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

    כשמרחיבים את מרכז הנתונים, צריך לפעול לפי השלבים באחד מהתרחישים הבאים, בהתאם להגדרה שלכם.

    תרחיש 1: האימות של Cassandra מופעל במרכז הנתונים הקיים

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

    1. הגדרת מרכז נתונים חדש עם פרטי הכניסה של Cassandra:Cassandra ו-CASS_AUTH=y שמוגדרים כברירת מחדל. למידע נוסף, ראו הפעלת אימות של Cassandra בפעם הראשונה.
    2. מתקינים את רכיבי Edge במרכז הנתונים החדש באמצעות פרטי הכניסה של Cassandra כברירת מחדל.

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

    1. הגדרת מרכז נתונים חדש עם פרטי הכניסה של Cassandra:Cassandra כברירת מחדל ו-CASS_AUTH=y. למידע נוסף, ראו הפעלת אימות של Cassandra בפעם הראשונה.
    2. בצע את השלבים הפעלת אימות Cassandra בפעם הראשונה כדי להשתמש שוב בפרטי הכניסה ממרכז נתונים קיים (אם החשבון הקיים משתמש בפרטי כניסה שלא מוגדרים כברירת מחדל).
    3. מתקינים את רכיבי Edge במרכז הנתונים החדש באמצעות פרטי הכניסה של Cassandra שלא מוגדרים כברירת מחדל.

    תרחיש 2: אימות Cassandra לא הופעל במרכז הנתונים הקיים

    אם אימות cassandra לא מופעל, יש לבצע את השלבים הבאים:

    1. הגדרת מרכז נתונים חדש בלי אימות של Cassandra.
    2. פועלים לפי השלבים המפורטים בקטע הפעלת אימות של Cassandra בפעם הראשונה כדי להפעיל את האימות של Cassandra בכל האשכול (הרחבת פרסום).
    3. מעדכנים רכיבי Edge שמתחברים אל Cassandra לפי השלבים שמפורטים כאן.

    הפעלת אימות של Cassandra בפעם הראשונה

    בצעו את התהליך הבא כדי להפעיל אימות של 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 # 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.
    2. מתחברים לצומת 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.
    3. חוזרים על שלבים 1 ו-2 בכל צומתי Cassandra, אחד בכל פעם.

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

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