שימוש ב-SAML עם משימות אוטומטיות

Edge for Private Cloud גרסה 4.18.05

כשמשתמשים ב-SAML עם ה-API של Edge, התהליך שבו משתמשים כדי לקבל גישת OAuth2 אסימוני רענון בטענת הנכונות (assertion) של SAML נקראת התהליך של קוד הגישה. באמצעות תהליך הסיסמה, להשתמש בדפדפן כדי לקבל קוד גישה חד-פעמי, שבו תשתמש כדי לקבל אסימוני OAuth2.

עם זאת, סביבת הפיתוח עשויה לתמוך באוטומציה במשימות פיתוח נפוצות, כמו אוטומציה של בדיקות או אינטגרציה רציפה (CI)/פריסה רציפה (CD) (CI/CD). כדי להפוך את התהליך לאוטומטי כאשר SAML מופעל, נדרשת דרך לקבל ולרענן אסימוני OAuth2 ללא שצריך להעתיק/להדביק קוד גישה מדפדפן.

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

יצירת משתמש במכונה

שימוש בapigee-ssoadminapi.sh ליצירת משתמש במכונה לארגון SAML. ראו שימוש apigee-ssoadminapi.sh לקבלת מידע נוסף. אפשר ליצור משתמש יחיד במחשב שישמש את כל או ליצור משתמש מחשב נפרד לכל ארגון.

המשתמש במכונה נוצר ומאוחסן במאגר הנתונים של Edge, ולא בזהות ה-SAML שלך ספק. לכן אינך אחראי לתחזוקת המשתמש במחשב באמצעות Ui ו-Edge management API.

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

כדי ליצור משתמש במחשב:

  1. משתמשים בפקודה apigee-ssoadminapi.sh הבאה כדי ליצור את המשתמש במכונה:
    apigee-ssoadminapi.sh saml machineuser add --admin SSO_ADMIN_NAME \
      --secret SSO_ADMIN_SECRET --host edge_sso_IP_or_DNS \
      -u machine_user_email -p machine_user_password

    כאשר:

    • SSO_ADMIN_NAME הוא שם המשתמש של האדמין שהוגדר על ידי נכס אחד (SSO_ADMIN_NAME) ב- קובץ התצורה ששימש להגדרת מודול ה-SSO של Edge. ברירת המחדל היא ssoadmin
    • SSO_ADMIN_SECRET היא סיסמת האדמין כפי שצוינה על ידי המאפיין SSO_ADMIN_SECRET בקובץ התצורה.
    • בדוגמה הזו, אפשר להשמיט את הערכים של --port וגם --ssl כי המודול apigee-sso משתמש בברירת המחדל של 9099 עבור --port ו-http עבור --ssl. אם לא תשתמש בברירות המחדל האלה, ציינו אותן לפי הצורך.

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

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

להשתמש ב-Edge API כדי לקבל ולרענן אסימוני OAuth2 על ידי העברת במקום קוד גישה.

כדי לקבל אסימוני OAuth2 למשתמש במחשב:

  1. כדי ליצור את אסימוני הגישה והרענון הראשוניים צריך להשתמש בקריאה הבאה ל-API:
    curl -H "Content-Type: application/x-www-form-urlencoded;charset=utf-8" \
      -H "accept: application/json;charset=utf-8" \
      -H "Authorization: Basic ZWRnZWNsaTplZGdlY2xpc2VjcmV0" -X POST \
      http://edge_sso_IP_DNS:9099/oauth/token -s \
      -d 'grant_type=password&username=m_user_email&password=m_user_password'

    שומרים את האסימונים לשימוש מאוחר יותר.

  2. מעבירים את אסימון הגישה לקריאה ל-Edge management API ככותרת הנושא:
    curl -H "Authorization: Bearer access_token" \
      http://ms_IP_DNS:8080/v1/organizations/orgName

    כאשר orgName הוא שם הארגון שמכיל את המשתמש במחשב.

  3. כדי לרענן את אסימון הגישה מאוחר יותר, צריך להשתמש בקריאה הבאה שכוללת את הרענון אסימון:
    curl -H "Content-Type:application/x-www-form-urlencoded;charset=utf-8" \
      -H "Accept: application/json;charset=utf-8" \
      -H "Authorization: Basic ZWRnZWNsaTplZGdlY2xpc2VjcmV0" -X POST \
      http://edge_sso_IP_DNS:9099/oauth/token \
      -d 'grant_type=refresh_token&refresh_token=refreshToken'

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

אפשר ליצור משתמש במחשב באמצעות Edge management API במקום הכלי apigee-ssoadminapi.sh.

כדי ליצור משתמש במחשב:

  1. משתמשים בפקודה curl הבאה כדי לקבל אסימון למשתמש ssoadmin, שם המשתמש של חשבון האדמין עבור apigee-sso:
    curl "http://edge_sso_IP_DNS:9099/oauth/token" -i -X POST \
      -H 'Accept: application/json' / -H 'Content-Type: application/x-www-form-urlencoded' \
      -d "response_type=token" -d "grant_type=client_credentials" \
      --data-urlencode "client_secret=SSO_ADMIN_SECRET" \
      --data-urlencode "client_id=ssoadmin"

    כאשר SSO_ADMIN_SECRET הוא סיסמת האדמין שהגדרתם כשהתקנתם apigee-sso כפי שצוין על ידי המאפיין SSO_ADMIN_SECRET ברכיב קובץ תצורה.

    בפקודה הזו מוצג אסימון שתצטרכו לבצע את הקריאה הבאה.

  2. משתמשים בפקודה curl הבאה כדי ליצור את המשתמש במכונה ולהעביר את האסימון שהתקבלו בשלב הקודם:
    curl "http://edge_sso_IP_DNS:9099/Users" -i -X POST \
      -H "Accept: application/json" -H "Content-Type: application/json" \
      -d '{"userName" : "machine_user_email", "name" :
        {"formatted":"DevOps", "familyName" : "last_name", "givenName" :
        "first_name"}, "emails" : [ {"value" :
        "machine_user_email", "primary" : true } ], "active" : true,
        "verified" : true, "password" : "machine_user_password" }' \
      -H "Authorization: Bearer token"

    יהיה צורך בסיסמה של המשתמש במכונה בשלבים מאוחרים יותר.

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