איפוס הסיסמאות של Edge

אחרי השלמת ההתקנה, תוכלו לאפס את הסיסמאות הבאות:

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

איפוס הסיסמה של OpenLDAP

איפוס הסיסמה ל-OpenLDAP משתנה בהתאם להגדרה. בהתאם להגדרות שקבעת ב-Edge, אפשר להתקין את OpenLDAP בתור:

  • מופע יחיד של OpenLDAP מותקן בצומת שרת הניהול. לדוגמה, בתצורה של 2 צמתים, 5 צמתים או 9 צמתים.
  • מספר מכונות OpenLDAP שהותקנו בצמתים של שרת הניהול, שהוגדרו באמצעות שכפול OpenLDAP. לדוגמה, בתצורת Edge עם 12 צמתים.
  • כמה מכונות OpenLDAP שהותקנו בצמתים שלהן, שהוגדרו באמצעות שכפול OpenLDAP. לדוגמה, בתצורת Edge עם 13 צמתים.

במופע יחיד של OpenLDAP שמותקן בשרת הניהול, מבצעים את הפעולות הבאות:

  1. בצומת של שרת הניהול, מריצים את הפקודה הבאה כדי ליצור את הסיסמה החדשה של OpenLDAP:
    /opt/apigee/apigee‑service/bin/apigee‑service apigee‑openldap \ 
      change‑ldap‑password ‑o OLD_PASSWORD ‑n NEW_PASSWORD
  2. מריצים את הפקודה הבאה כדי לאחסן את הסיסמה החדשה לגישה דרך שרת הניהול:
    /opt/apigee/apigee‑service/bin/apigee‑service edge‑management‑server \ 
      store_ldap_credentials ‑p NEW_PASSWORD

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

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

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

איפוס הסיסמה של אדמין המערכת

איפוס הסיסמה של מנהל המערכת מחייב לאפס את הסיסמה בשני מקומות:

  • שרת ניהול
  • UI

כדי לאפס את הסיסמה של אדמין המערכת:

  1. עורכים את קובץ התצורה השקט שבו השתמשתם כדי להתקין את ממשק המשתמש של Edge כדי להגדיר את המאפיינים הבאים:
    APIGEE_ADMINPW=NEW_PASSWORD
    SMTPHOST=smtp.gmail.com
    SMTPPORT=465
    SMTPUSER=foo@gmail.com
    SMTPPASSWORD=bar
    SMTPSSL=y
    SMTPMAILFROM="My Company <myco@company.com>"

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

  2. בצומת ממשק המשתמש, מפסיקים את ממשק המשתמש של Edge:
    /opt/apigee/apigee-service/bin/apigee-service edge-ui stop
  3. השתמש בכלי העזר apigee-setup כדי לאפס את הסיסמה בממשק המשתמש של Edge מקובץ התצורה:
    /opt/apigee/apigee-setup/bin/setup.sh -p ui -f configFile
  4. (רק אם TLS מופעל בממשק המשתמש) הפעל מחדש את ה-TLS בממשק המשתמש של Edge כפי שמתואר בהגדרת TLS עבור ממשק המשתמש לניהול.
  5. בשרת הניהול, יוצרים קובץ XML חדש. בקובץ הזה, מגדירים את מזהה המשתמש ל-"admin" ומגדירים את הסיסמה, השם הפרטי, שם המשפחה וכתובת האימייל בפורמט הבא:
    <User id="admin">
      <Password><![CDATA[password]]></Password>
      <FirstName>first_name</FirstName>
      <LastName>last_name</LastName>
      <EmailId>email_address</EmailId>
    </User>
  6. בשרת הניהול, מריצים את הפקודה הבאה:
    curl -u "admin_email_address:admin_password" -H \
    "Content-Type: application/xml" -H "Accept: application/json" -X POST \
    "http://localhost:8080/v1/users/admin_email_address" -d @your_data_file
    

    your_data_file הוא הקובץ שיצרתם בשלב הקודם.

    Edge מעדכנת את סיסמת האדמין בשרת הניהול.

  7. מוחקים את קובץ ה-XML שיצרתם. אין לאחסן סיסמאות באופן קבוע בטקסט לא מוצפן.

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

איפוס סיסמת המשתמש בארגון

כדי לאפס את הסיסמה של משתמש בארגון, צריך להשתמש בכלי השירות apigee-servce כדי להפעיל את apigee-setup, כמו בדוגמה הבאה:

/opt/apigee/apigee-service/bin/apigee-service apigee-setup reset_user_password
  [-h]
  [-u USER_EMAIL]
  [-p USER_PWD]
  [-a ADMIN_EMAIL]
  [-P APIGEE_ADMINPW]
  [-f configFile]

למשל:

/opt/apigee/apigee‑service/bin/apigee‑service apigee‑setup reset_user_password 
  ‑u user@myCo.com ‑p Foo12345 ‑a admin@myCo.com ‑P adminPword
cp ~/Documents/tmp/hybrid_root/apigeectl_beta2_a00ae58_linux_64/README.md 
  ~/Documents/utilities/README.md

למטה מוצג קובץ תצורה לדוגמה שבו ניתן להשתמש עם האפשרות " -f":

USER_NAME=user@myCo.com
USER_PWD="Foo12345"
APIGEE_ADMINPW=ADMIN_PASSWORD

אפשר גם להשתמש ב-Update user API כדי לשנות את הסיסמה של המשתמש.

כללים לסיסמאות משתמשים ב-SysAdmin ובארגון

בקטע הזה אפשר לאכוף את הרמה הרצויה של אורך וחוזק הסיסמה עבור המשתמשים בניהול ה-API. ההגדרות משתמשות בסדרה של ביטויים רגולריים שהוגדרו מראש (עם מספרים ייחודיים) כדי לבדוק את תוכן הסיסמה (כמו אותיות רישיות, קטנות, מספרים ותווים מיוחדים). כותבים את ההגדרות האלה בקובץ /opt/apigee/customer/application/management-server.properties. אם הקובץ לא קיים, יוצרים אותו.

לאחר העריכה של management-server.properties, יש להפעיל מחדש את שרת הניהול:

/opt/apigee/apigee-service/bin/apigee-service edge-management-server restart

לאחר מכן אפשר להגדיר דירוגים של חוזק הסיסמה על ידי קיבוץ שילובים שונים של ביטויים רגולריים. לדוגמה, אפשר לקבוע שסיסמה שיש בה לפחות אות גדולה אחת ואות קטנה אחת מקבלת דירוג חוזק של 3, אבל סיסמה שיש בה לפחות אות קטנה אחת ומספר אחד מקבלת דירוג גבוה יותר של 4.

מאפיין (property) תיאור
conf_security_password.validation.minimum.password.length=8
conf_security_password.validation.default.rating=2
conf_security_password.validation.minimum.rating.required=3

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

הערה: הערך של password. validation.default.rating=2 נמוך מהדירוג המינימלי הנדרש. כלומר, אם הסיסמה שהזנתם לא תואמת לכללים שהגדרתם, הסיסמה מסווגת כ-2 ולכן היא לא חוקית (פחות מהדירוג המינימלי 3).

בהמשך מופיעים ביטויים רגולריים שמזהים מאפייני סיסמה. חשוב לזכור שכל אחד מהם ממוספר. לדוגמה, password.validation.regex.5=... הוא ביטוי מספר 5. משתמשים במספרים האלה בקטע מאוחר יותר בקובץ כדי להגדיר שילובים שונים שלפיהם נקבע את חוזק הסיסמה הכולל.

conf_security_password.validation.regex.1=^(.)\\1+$

1: כל התווים חוזרים

conf_security_password.validation.regex.2=^.*[a-z]+.*$

2: לפחות אות קטנה אחת

conf_security_password.validation.regex.3=^.*[A-Z]+.*$

3: לפחות אות גדולה אחת

conf_security_password.validation.regex.4=^.*[0-9]+.*$

4: ספרה אחת לפחות

conf_security_password.validation.regex.5=^.*[^a-zA-z0-9]+.*$

5: לפחות תו מיוחד אחד (לא כולל קו תחתון _)

conf_security_password.validation.regex.6=^.*[_]+.*$

6: קו תחתון אחד לפחות

conf_security_password.validation.regex.7=^.*[a-z]{2,}.*$

7: יותר באות קטנה אחת

conf_security_password.validation.regex.8=^.*[A-Z]{2,}.*$

8: יותר מאות גדולה אחת

conf_security_password.validation.regex.9=^.*[0-9]{2,}.*$

9: יותר מספרה אחת

conf_security_password.validation.regex.10=^.*[^a-zA-z0-9]{2,}.*$

10: יותר מתו מיוחד אחד (לא כולל קו תחתון)

conf_security_password.validation.regex.11=^.*[_]{2,}.*$

11: יותר מקו תחתון אחד

הכללים הבאים קובעים את חוזק הסיסמה על סמך תוכן הסיסמה. כל כלל כולל ביטוי רגולרי אחד או יותר מהקטע הקודם ומקצה לו חוזק מספרי. כדי לקבוע אם הסיסמה תקפה או לא, מוצגת השוואה בין החוזק המספרי של הסיסמה לבין conf_security_password. validation.minimum.rating.rating.rating.rate. בחלק העליון של הקובץ .

conf_security_password.validation.rule.1=1,AND,0
conf_security_password.validation.rule.2=2,3,4,AND,4
conf_security_password.validation.rule.3=2,9,AND,4
conf_security_password.validation.rule.4=3,9,AND,4
conf_security_password.validation.rule.5=5,6,OR,4
conf_security_password.validation.rule.6=3,2,AND,3
conf_security_password.validation.rule.7=2,9,AND,3
conf_security_password.validation.rule.8=3,9,AND,3

כל כלל ממוספר. לדוגמה, password.validation.rule.3=... הוא כלל מספר 3.

כל כלל משתמש בפורמט הבא (מימין לסימן השוויון):

regex-index-list,[AND|OR],rating

regex-index-list הוא רשימת הביטויים הרגולריים (לפי מספר מהקטע הקודם), יחד עם אופרטור AND|OR (כלומר, שימו לב לכל הביטויים המפורטים או לכולם).

rating הוא הדירוג המספרי של העוצמה שניתן לכל כלל.

לדוגמה, המשמעות של כלל 5 היא שכל סיסמה עם לפחות תו מיוחד אחד או קו תחתון אחד מקבלת דירוג חוזק של 4. כאשר password.validation.minimum.rating.required=3 מופיע בחלק העליון של הקובץ, תקפה סיסמה עם דירוג של 4.

conf_security_rbac.password.validation.enabled=true

יש להגדיר את אימות הסיסמה של בקרת גישה מבוססת-תפקידים ל-False כשכניסה יחידה (SSO) מופעלת. ברירת המחדל היא True.

איפוס הסיסמה של Cassandra

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

מידע על הפעלת האימות של Cassandra זמין במאמר הפעלת אימות של Cassandra.

כדי לאפס את הסיסמה של Cassandra, צריך:

  • הגדרת הסיסמה לכל צומת של Cassandra, והיא תשודר לכל צומתי Cassandra בטבעת
  • יש לעדכן את הסיסמה החדשה בכל צומת: שרת הניהול, מעבדי הודעות, נתבים, שרתי Qpid ושרתי Postgres

מידע נוסף זמין במאמר פקודות CQL.

כדי לאפס את הסיסמה של Cassandra:

  1. מתחברים לכל צומת של Cassandra באמצעות הכלי cqlsh ופרטי הכניסה שמוגדרים כברירת מחדל. צריך לשנות רק את הסיסמה בצומת Cassandra אחת, והיא תשודר לכל צומתי Cassandra בטבעת:
    /opt/apigee/apigee-cassandra/bin/cqlsh cassIP 9042 -u cassandra -p 'cassandra'

    כאשר:

    • cassIP היא כתובת ה-IP של הצומת של Cassandra.
    • 9042 הוא נמל קסנדרה.
    • משתמש ברירת המחדל הוא cassandra.
    • הסיסמה שמוגדרת כברירת מחדל היא 'cassandra'. אם שינית את הסיסמה בעבר, עליך להשתמש בסיסמה הנוכחית. אם הסיסמה מכילה תווים מיוחדים, צריך להקיף אותה במירכאות יחידות.
  2. כדי לעדכן את הסיסמה, מריצים את הפקודה הבאה בתור הבקשה של cqlsh>:
    ALTER USER cassandra WITH PASSWORD 'NEW_PASSWORD';

    אם הסיסמה החדשה מכילה תו גרש יחיד, יש לסמן אותה בתו בריחה (escape) לפניה בתו גרש יחיד.

  3. יוצאים מהכלי cqlsh:
    exit
  4. בצומת של שרת הניהול, מריצים את הפקודה הבאה:
    /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=CASS_USERNAME
    CASS_PASSWORD='CASS_PASSWROD'

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

  5. חוזרים על שלב 4:
    • כל מעבדי ההודעות
    • כל הנתבים
    • כל שרתי Qpid (edge-qpid-server)
    • שרתי Postgres (edge-postgres-server)

הסיסמה של Cassandra שונתה.

איפוס הסיסמה של PostgreSQL

כברירת מחדל, במסד הנתונים של PostgreSQL מוגדרים שני משתמשים: postgres ו-apigee. לשני המשתמשים יש סיסמת ברירת מחדל של postgres. כדי לשנות את סיסמת ברירת המחדל, מבצעים את הפעולות הבאות.

שינוי הסיסמה בכל הצמתים הראשיים של Postgres. אם יש לך שני שרתי Postgres שהוגדרו במצב המתנה/מאסטר, עליך לשנות את הסיסמה רק בצומת הראשי. למידע נוסף, אפשר לעיין במאמר הגדרת רפליקציית המתנה של הורה ל-Postgres .

  1. בצומת Master Postgres, משנים את הספריות ל-/opt/apigee/apigee-postgresql/pgsql/bin.
  2. מגדירים את סיסמת המשתמש של postgres ב-PostgreSQL:
    1. מתחברים למסד הנתונים של PostgreSQL באמצעות הפקודה:
      psql -h localhost -d apigee -U postgres
    2. כשתוצג הבקשה, יש להזין את סיסמת המשתמש הקיימת של postgres בתור postgres.
    3. בשורת הפקודה של PostgreSQL, מזינים את הפקודה הבאה כדי לשנות את סיסמת ברירת המחדל:
      ALTER USER postgres WITH PASSWORD 'new_password';

      לאחר ההצלחה, PostgreSQL מגיב עם הפרטים הבאים:

      ALTER ROLE
    4. יוצאים ממסד הנתונים של PostgreSQL באמצעות הפקודה הבאה:
      \q
  3. מגדירים את סיסמת המשתמש של apigee ב-PostgreSQL:
    1. מתחברים למסד הנתונים של PostgreSQL באמצעות הפקודה:
      psql -h localhost -d apigee -U apigee
    2. כשמופיעה בקשה, מזינים את סיסמת המשתמש של apigee בתור postgres.
    3. בשורת הפקודה של PostgreSQL, מזינים את הפקודה הבאה כדי לשנות את סיסמת ברירת המחדל:
      ALTER USER apigee WITH PASSWORD 'new_password';
    4. יוצאים ממסד הנתונים של PostgreSQL באמצעות הפקודה:
      \q

    אפשר להגדיר את אותו ערך או ערכים שונים בסיסמאות של המשתמשים ב-postgres וב-apigee.

  4. הגדרה של APIGEE_HOME:
    export APIGEE_HOME=/opt/apigee/edge-postgres-server
  5. הצפנת הסיסמה החדשה:
    sh /opt/apigee/edge-analytics/utils/scripts/utilities/passwordgen.sh new_password

    הפקודה הזו מחזירה סיסמה מוצפנת. הסיסמה המוצפנת מתחילה אחרי התו ":" ולא כוללת את ":". לדוגמה, הסיסמה המוצפנת עבור "apigee1234" היא:

    Encrypted string:WheaR8U4OeMEM11erxA3Cw==
  6. מעדכנים את הצומת של שרת הניהול בסיסמאות המוצפנות החדשות למשתמשים ב-postgres וב-apigee.
    1. בשרת הניהול, משנים את הספרייה ל-/opt/apigee/customer/application.
    2. עורכים את הקובץ management-server.properties כדי להגדיר את המאפיינים הבאים. אם הקובץ לא קיים, יוצרים אותו.
    3. מוודאים שהקובץ נמצא בבעלות משתמש אחד (apigee):
      chown apigee:apigee management-server.properties
  7. עדכן את כל הצמתים של שרת Postgres ו-Qpid בסיסמה המוצפנת החדשה.
    1. בשרת Postgres או בצומת שרת ה-Qpid, משנים את הספרייה הבאה:
      /opt/apigee/customer/application
    2. פותחים את הקבצים הבאים כדי לערוך אותם:
      • postgres-server.properties
      • qpid-server.properties

      אם הקבצים האלה לא קיימים, יוצרים אותם.

    3. מוסיפים את המאפיינים הבאים לקבצים:
      • conf_pg-agent_password=newEncryptedPasswordForPostgresUser
      • conf_pg-ingest_password=newEncryptedPasswordForPostgresUser
      • conf_query-service_pgDefaultPwd=newEncryptedPasswordForPostgresUser
      • conf_query-service_dwDefaultPwd=newEncryptedPasswordForPostgresUser
      • conf_analytics_aries.pg.password=newEncryptedPasswordForPostgresUser
    4. מוודאים שהקבצים בבעלות משתמש אחד (apigee):
      chown apigee:apigee postgres-server.properties
      chown apigee:apigee qpid-server.properties
  8. מעדכנים את רכיב ה-SSO (אם SSO מופעל):
    1. יש להתחבר לצומת שבו הרכיב apigee-sso פועל או להתחבר אליו. הוא נקרא גם שרת SSO.

      בהתקנות AIO או ב-3 צמתים, הצומת הזה הוא אותו הצומת של שרת הניהול.

      אם יש לך כמה צמתים שמריצים את הרכיב apigee-sso, עליך לבצע את השלבים האלה בכל צומת.

    2. פותחים את הקובץ הבא כדי לערוך אותו:
      /opt/apigee/customer/application/sso.properties 

      אם הקובץ לא קיים, יוצרים אותו.

    3. מוסיפים את השורה הבאה לקובץ:
      conf_uaa_database_password=new_password_in_plain_text

      למשל:

      conf_uaa_database_password=apigee1234
    4. מריצים את הפקודה הבאה כדי להחיל את שינויי התצורה על הרכיב apigee-sso:
      /opt/apigee/apigee-service/bin/apigee-service apigee-sso configure
    5. חוזרים על השלבים האלה לכל שרת ל-SSO.
  9. מפעילים מחדש את הרכיבים הבאים לפי הסדר הבא:
    1. מסד נתונים PostgreSQL:
      /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql restart
    2. שרת Qpid:
      /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server restart
    3. שרת Postgres:
      /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart
    4. שרת הניהול:
      /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
    5. שרת SSO:
      /opt/apigee/apigee-service/bin/apigee-service apigee-sso restart