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

Edge for Private Cloud v. 4.17.01

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

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

  • username = 'cassandra'
  • password = 'cassandra'

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

מידע נוסף זמין בכתובת http://www.datastax.com/documentation/cql/3.0/cql/cql_reference/cqlCommandsTOC.html.

הפעלת אימות Cassandra במהלך ההתקנה

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

הערה: יש להשתמש בתהליך הזה בזמן התקנת Cassandra באמצעות האפשרויות '-p c',‏ '-p ds',‏ '-p sa',‏ '-p aio',‏ '-p asa' ו-'-p ebp'.

כדי להפעיל את האימות של Cassandra בזמן ההתקנה, צריך לכלול את המאפיין CASS_AUTH בקובץ התצורה של כל צמתים של Cassandra:

CASS_AUTH=y # The default value is n.

רכיבי Edge הבאים ניגשים ל-Cassandra:

  • שרת ניהול
  • מעבדי הודעות
  • נתבים
  • שרתי Qpid
  • שרתי Postgres
  • BaaS Stack

לכן, כשמתקינים את הרכיבים האלו, צריך להגדיר את המאפיינים הבאים בקובץ התצורה כדי לציין את פרטי הכניסה של Cassandra:

CASS_USERNAME=cassandra 
CASS_PASSWORD=cassandra

אפשר לשנות את פרטי הכניסה ל-Cassandra אחרי שתתקינו את Cassandra. עם זאת, אם כבר התקנתם את שרת הניהול, מעבדי ההודעות, הנתב, שרתי Qpid, שרתי Postgres או את BaaS Stack, תצטרכו לעדכן גם את הרכיבים האלה כדי להשתמש בפרטי הכניסה החדשים.

כדי לשנות את פרטי הכניסה ל-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> כדי לעדכן את הסיסמה:
    cqlsh> ALTER USER cassandra WITH password 'NEW_PASSWORD';
  3. יוצאים מכלי cqlsh:
    יציאה cqlsh
  4. אם עדיין לא התקנתם את שרת הניהול, מעבדי הודעות, נתבים, שרתי Qpid, שרתי Postgres או BaaS Stack, עליכם להגדיר את המאפיינים הבאים בקובץ התצורה ואז להתקין את הרכיבים האלו:
    CASS_USERNAME=cassandra
    CASS_password=NEW_password
  5. אם כבר התקנתם את שרת הניהול, מעבדי ההודעות, הנתב, שרתי Qpid, שרתי Postgres או את BaaS Stack, תוכלו לעיין במאמר איפוס סיסמאות של Edge כדי לעדכן את הרכיבים האלה כך שישתמשו בסיסמה החדשה.

הפעלת אימות Cassandra אחרי ההתקנה

כדי להפעיל את האימות:

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

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

  1. בצומת של שרת הניהול, מריצים את הפקודה הבאה:
    > /opt/apigee/apigee-service/bin/apigee-service edge-management-server store_cassandra_credentials -u CASS_USERNAME -p CASS_PASSWORD

    אופציונלי: אפשר להעביר לפקודה קובץ שמכיל את שם המשתמש והסיסמה החדשים:
    > apigee-service edge-management-server store_cassandra_credentials -f configFile

    בקובץ configFile צריך לכלול את הפרטים הבאים:
    CASS_USERNAME=cassandra
    CASS_PASSWORD=CASS_PASSWROD


    הפקודה הזו מפעילה מחדש את שרת הניהול באופן אוטומטי.
  2. חוזרים על שלב 1 ב:
    • כל מעבדי ההודעות
    • כל הנתבים
    • כל שרתי ה-Qpid (קצה-qpid-server)
    • שרתי Postgres‏ (edge-postgres-server)
  3. בצומת BaaS Stack לגרסה 4.16.05.04 ואילך:
    1. מריצים את הפקודה הבאה כדי ליצור סיסמה מוצפנת:
      > /opt/apigee/apigee-service/bin/apigee-service baas-usergrid secure_password

      הפקודה הזו מבקשת להזין סיסמה בפורמט טקסט פשוט ומחזירה את הסיסמה המוצפנת בפורמט:
      SECURE:ae1b6dedbf6b26aaa
    2. מגדירים את האסימונים הבאים בקובץ /opt/apigee/customer/application/usergrid.properties. אם הקובץ לא קיים, יוצרים אותו:
      usergrid-deployment_cassandra.username=cassandra
      usergrid-deployment_cassandra.password=SECURE:ae1b6dedbf6b26aaab8bee815a910737c1c15b55f3505c2 הדוגמה הזו של usergrid-deployment_cassandra.password=SECURE:ae1b6dedbf6b26aaab8bee815a910737c1c15b55f3505c2

      אם שיניתם את שם המשתמש, צריך להגדיר את הערך של usergrid-deployment_cassandra.username בהתאם.

      חשוב לכלול את הקידומת SECURE: בסיסמה. אחרת, הערך יפורש על ידי BaaS Stack כערך ללא הצפנה.

      הערה: לכל צומת ב-BaaS Stack יש מפתח ייחודי משלו להצפנת הסיסמה. לכן, צריך ליצור את הערך המוצפן בנפרד בכל צומת של BaaS Stack.
    3. משנים את הבעלות על הקובץ usergrid.properties למשתמש 'apigee':
      > chown apigee:apigee /opt/apigee/customer/application/usergrid.properties
    4. מגדירים את צומת ה-Stack:
      > /opt/apigee/apigee-service/bin/apigee-service baas-usergrid configure
    5. מפעילים מחדש את סטאק BaaS:
      > /opt/apigee/apigee-service/bin/apigee-service baas-usergrid restart
    6. חוזרים על השלבים האלה לכל הצמתים (nodes) של BaaS Stack.

כדי להפעיל את האימות ב-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 ב-ring:
    /opt/apigee/apigee-cassandra/bin/cqlsh cassIP 9042 -u cassandra -p cassandra

    איפה

    • cassIP היא כתובת ה-IP של צומת Cassandra.
    • 9042 הוא נמל קסנדרה.
    • משתמש ברירת המחדל הוא 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 repair system_auth