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

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

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

איפוס הסיסמה ב-OpenLDAP

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

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

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

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

בהגדרת רפליקציה של OpenLDAP שבה OpenLDAP נמצא בצומת שונה מ-Management Server, צריך קודם לשנות את הסיסמה בשני הצמתים של OpenLDAP, ואז בשני הצמתים של Management Server.

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

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

  • שרת ניהול
  • ממשק משתמש

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

  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

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

כללי סיסמאות למשתמשים בארגון ולמנהלי מערכת

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

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

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

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

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

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

צריך להגדיר את אימות הסיסמה של בקרת גישה המבוססת על תפקידים (RBAC) כ-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.
    • סיסמת ברירת המחדל היא "cassandra". אם שיניתם את הסיסמה בעבר, השתמשו בסיסמה הנוכחית. אם הסיסמה מכילה תווים מיוחדים, צריך להקיף אותה בגרש בודד.
  2. מריצים את הפקודה הבאה בשורת הפקודה של cqlsh> כדי לעדכן את הסיסמה:
    ALTER USER cassandra WITH PASSWORD 'NEW_PASSWORD';

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

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