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

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

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

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

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

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

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

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

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

    אם מגדירים את Apigee במרכז נתונים יחיד שכבר מותקנת בו 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, מגדירים את המאפיינים הבאים ב קובץ config ולאחר מכן מתקינים את הרכיבים האלה:
      CASS_USERNAME=cassandra
      CASS_PASSWORD=NEW_PASSWORD
    5. אם כבר התקנתם את שרת הניהול, הודעה מעבדים, נתבים, שרתי Qpid או שרתי Postgres. במאמר איפוס סיסמאות Edge מוסבר איך לבצע את העדכון. רכיבים כדי להשתמש בסיסמה החדשה.