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

Edge for Private Cloud גרסה 4.17.09

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

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

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

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

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

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

    • 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. for-API מסוג for
    {שם_שם_מפתח=שם_המשתמש




    edge_sso_IP_DNS בשיחה תודפס אסימוני הגישה והרענון על המסך. לשמור את האסימונים לשימוש במועד מאוחר יותר.
  2. מעבירים את אסימון הגישה אל קריאה ל-Edge Management API בתור הכותרת של 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 ZWRnZWNcma2plization: Basic ZWRnZWNcmsa



    edge_sso_IP_DNS

איך יוצרים משתמש במכונה באמצעות Edge Management API

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

  1. משתמשים בפקודה c-URL הבאה כדי לקבל אסימון עבור המשתמש sso_admin, שם המשתמש של חשבון האדמין ב-apigee-sso:
    > curl "http://edge_sso_IP_DNS:9099/oauth/token" -i -X POST /
    -H 'Accept: application/json' / -H 'Accept: application/json' / -H





    edge_sso_IP_DNS

    הפקודה הזו מציגה אסימון שנדרש כדי לבצע את הקריאה הבאה.
  2. " "שם המשתמש: "שם_name", " @שם_המשתמש, " .password_name: ." @שם_המשתמש מסוג true, " " "שם_ @שם_הנכון", "you_password_ads: " @שם_ האבטחה: " "שם_name", "event_password:"





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