שימוש בכלי אדמין ובממשקי API של Edge אחרי הפעלת מודול SSO ב-Apigee

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

  • יצירת ארגונים וסביבות
  • הוספה והסרה של רכיבי Edge
  • הרצת פקודות apigee-adminapi.sh

עם זאת, אחרי שמפעילים את ה-SSO ב-Edge, בדרך כלל משביתים את האימות הבסיסי כדי שהדרך היחידה לאימות תהיה באמצעות ה-IDP של OIDC/SAML. לכן, צריך לוודא שהוספתם את חשבון מנהל המערכת ל-IDP, או שיצרתם משתמש מכונה מקומי לאוטומציה.

שליחת קריאות לממשקי API לניהול של Edge כאדמין במערכת

בהרבה קריאות ל-Edge API צריך להעביר את פרטי הכניסה של האדמין במערכת. במאמר שימוש ב-SAML עם Edge management API מוסבר איך לקבל ולרענן טוקנים באמצעות הכלי get_token כשמבצעים קריאות ל-API של Edge management.

שימוש בכלי apigee-adminapi.sh עם מודול SSO ב-Apigee

משתמשים בכלי apigee-adminapi.sh כדי לבצע את אותן משימות הגדרה של Edge שמבצעים באמצעות קריאות ל-Edge management API. היתרון של הכלי apigee-adminapi.sh הוא שהוא:

  • ממשק שורת פקודה פשוט
  • השלמת פקודות אוטומטיות באמצעות מקש Tab
  • מספק עזרה ונתוני שימוש
  • יכול להציג את הקריאה המתאימה ל-API אם מחליטים לנסות את ה-API

אחרי שמפעילים את ה-SSO ב-Apigee, יש שתי דרכים עיקריות להעביר את פרטי הכניסה לכלי apigee-adminapi.sh, בהתאם לסוג המשתמש: אדמין אנושי או סקריפט אוטומטי.

כדי לראות את כל האפשרויות של פקודת apigee-adminapi.sh, כולל האפשרויות לציון פרטי הכניסה ל-SSO, משתמשים באפשרות -h של הפקודה. לדוגמה:

apigee-adminapi.sh orgs list -h

העברת טוקן למוכ"ז (לאדמינים אנושיים)

מכיוון שמודול SSO ב-Apigee המודרני לא תומך בתהליך ההעתקה וההדבקה הקודם של /passcode, אדמינים אנושיים צריכים להשתמש בכלי get_token כדי להשלים את תהליך קוד המכשיר של OAuth 2.0, ואז להעביר את הטוקן שנוצר לסקריפט.

קודם כל, מקבלים טוקן:

/opt/apigee/apigee-openldap/bin/get_token -u adminEmail

ואז משתמשים בטוקן כשמפעילים את הפקודה:

apigee-adminapi.sh orgs list --sso-url http://edge_sso_IP_DNS:9099 --oauth-flow passcode \
  --admin adminEmail --oauth-token token_string

כאשר:

  • oauth-flow מציין את passcode (זה מאותת לסקריפט הקודם שסופק אסימון).
  • ‫oauth-token מכיל את מחרוזת ה-JWT הגולמית שהתקבלה מ-get_token.

העברת סיסמה (למשתמשי מכונה בלבד)

אם אתם מבצעים פריסות תשתית באופן אוטומטי, אתם יכולים להעביר את פרטי הכניסה ישירות באמצעות התהליך password_grant. עם זאת, אם הפדרציה של SAML/OIDC מופעלת, משתמשי צל אנושיים נחסמים מהתחברות באמצעות סיסמה כדי למנוע עקיפה של MFA. קודם צריך להקצות משתמש מכונה מפורש ב-OpenLDAP.

apigee-adminapi.sh orgs list --sso-url http://edge_sso_IP_DNS:9099 --oauth-flow password_grant \
  --admin machineUserEmail --oauth-password machineUserPassword

כאשר:

  • האפשרות sso-url מציינת את כתובת ה-URL של ה-SSO ב-Apigee. אם שיניתם את היציאה או הפרוטוקול מ-9099 ו-HTTP, צריך לשנות אותם.
  • ‫oauth-flow מציין את password_grant.
  • ‫machineUserEmail היא כתובת האימייל של המשתמש המכונה האוטומטי.
  • ‫oauth-password מציין את הסיסמה של המשתמש במכונה.

שימוש בכלי שירות של Edge עם מודול SSO ב-Apigee

הרבה כלי עזר של Edge דורשים פרטי כניסה של אדמין, למשל:

  • apigee-provision משמש ליצירת ארגונים, סביבות ומארחים וירטואליים
  • ‫setup.sh משמש להוספת צמתים למערכת קיימת
  • כל כלי אחר שבו צריך לציין את פרטי הכניסה של מנהל המערכת בקובץ תצורה

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

ADMIN_EMAIL="adminEmail"
APIGEE_ADMINPW="adminPWord"

אחרי שמפעילים את ה-SSO ב-Apigee, צריך להשתמש במאפיינים שונים כדי לציין את פרטי הכניסה של מנהל המערכת.

שימוש בטוקן למוכ"ז (לאדמינים שהם בני אדם)

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

ADMIN_EMAIL="adminEmail"
SSO_LOGIN_URL="http://edge_sso_IP_DNS:9099"
OAUTH_FLOW="passcode"
OAUTH_BEARER_TOKEN="token_string"

כאשר:

  • OAUTH_FLOW מציין את passcode (כדי לציין שסופק אסימון).
  • ‫OAUTH_BEARER_TOKEN מכיל את מחרוזת ה-JWT הגולמית שהתקבלה מ-get_token.

שימוש בסיסמה (למשתמשי מכונה בלבד)

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

ADMIN_EMAIL="machineUserEmail"
SSO_LOGIN_URL="http://edge_sso_IP_DNS:9099"
OAUTH_FLOW="password_grant"
OAUTH_ADMIN_PASSWORD="machineUserPassword"

כאשר:

  • ‫SSO_LOGIN_URL מציין את כתובת ה-URL של ה-SSO ב-Apigee.
  • ‫OAUTH_FLOW מציין את password_grant.
  • ‫OAUTH_ADMIN_PASSWORD מציין את הסיסמה של המשתמש במכונה.