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

Edge for Private Cloud גרסה 4.17.09

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

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

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

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

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

משתמש המכונה נוצר ומאוחסן במאגר הנתונים של Edge, ולא בספק הזהויות של SAML. לכן, אתם לא אחראים לתחזוקה של משתמש המכונה באמצעות ממשק המשתמש של Edge ו-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
    '

    כדי לבצע הרשאה, מעבירים פרטי כניסה שמורים של לקוח OAuth2 בכותרת Authorization. הקריאה מדפיסה את אסימוני הגישה וטוקן הרענון במסך. שומרים את האסימונים לשימוש מאוחר יותר.
  2. מעבירים את טוקן הגישה לקריאה ל-API לניהול של Edge בתור הכותרת Bearer:
    > 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'


    כדי לבצע הרשאה, מעבירים פרטי כניסה שמורים של לקוח OAuth2 בכותרת Authorization.

יצירת משתמש מכונה באמצעות Edge management 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, מוסיפים את כתובת האימייל של המשתמש המכונה לארגונים שלכם ומקצים למשתמש המכונה את התפקיד הנדרש. מידע נוסף זמין במאמר הוספת משתמשים גלובליים.