אוטומציה של תהליך יצירת האסימונים

מוצג המסמך של Apigee Edge.
עוברים אל מסמכי תיעוד של Apigee X.
מידע

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

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

מידע על משתמשים במחשב

Apigee Edge תומכת במשתמשי מכונות בארגון שלך שתומך ב-SAML. משתמשים במכונות משמשים אך ורק לאוטומציה, ולא ניתן לגשת אליהם ישירות.

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

שלבים לאוטומציה של תהליך יצירת האסימונים

כדי להפוך את תהליך יצירת האסימון לאוטומטי:

שלב תיאור
1 יצירת משתמש במחשב באזור הזהות של SAML
2 מקצים את התפקידים הנדרשים למשתמש במכונה בארגון Edge
3 קבלת אסימוני OAuth2 של המשתמשים במחשב

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

ניהול משתמשים במכונות לתחומי זהות של SAML

Apigee מספקת את ממשק שורת הפקודה (CLI) של ניהול משתמשים במכונה כדי ליצור ולנהל חשבונות משתמשים במכונות. השלבים לשימוש ב-CLI לניהול משתמשים במכונה מתוארים בקטעים הבאים.

שימוש ב-CLI

כדי להשתמש ב-CLI לניהול משתמשים במכונה, קודם צריך להוריד את הקובץ הבא ולהסיר אותו: usermgmt.tar.gz(1)

הפורמט לשליחת קריאה ל-CLI הוא:

usermgmt_platform [command] [flags]

בטבלה הבאה מופיע סיכום של הפלטפורמות הנתמכות והפקודה המתאימה להפעלת ה-CLI של ניהול משתמשים במכונה. (קובצי ההפעלה ממוקמים בספרייה usermgmt).

פלטפורמה 32-ביט 64-ביט
Linux usermgmt_linux_386 usermgmt_linux_amd64
Mac usermgmt_darwin_386 usermgmt_darwin_amd64
Windows usermgmt_windows_386 usermgmt_windows_amd64

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

פקודה מידע נוסף
create יצירת משתמש במחשב באזור זהות
delete מחיקת משתמש במחשב באזור זהות
help קבלת עזרה בשימוש ב-CLI
list הצגת רשימה של כל המשתמשים במכונה באזור זהות
reset איפוס הסיסמה של משתמש במחשב באזור זהות

אפשר גם להעביר אחד מהדגלים הבאים כדי להציג עזרה בפקודה שצוינה: -h או --help

כניסה ל-CLI

בפעם הראשונה שתפעילו את ה-CLI בפרק זמן של 24 שעות, תתבקשו להזין את פרטי הכניסה לחשבון שלכם ב-zoneadmin.

Enter your Apigee credentials
Username: zoneadmin-username
Password: zoneadmin-password
If your user is opted with MFA, enter MFA code. Otherwise press enter to skip.
MFA: mfa-code_or_enter_to_skip

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

קבלת עזרה בשימוש ב-CLI

להציג את פרטי השימוש ב-CLI באמצעות הפקודה usermgmt_platform help. במאמר שימוש ב-CLI מופיעה רשימת הפלטפורמות הנתמכות.

usermgmt_platform help

מוצגים פרטי העזרה הבאים:

A command-line interface (CLI) to manage machine user accounts to automate
Apigee identity zone management. Use the CLI to create, list, delete,
and reset the password for machine users.

Usage:
  usermgmt [flags]
  usermgmt [command]

Available Commands:
  create  Creates a machine users in an identity zone.
  delete  Deletes a machine users in an identity zone.
  help    Help about any command
  list    Lists the machine users in an identity zone.
  reset   Resets the password for a machine user in an identity zone.

Flags:
  -h, --help               help for usermgmt

Use "usermgmt [command] --help" for more information about a command.

להציג עזרה לגבי פקודה ספציפית על ידי העברת הפקודה וגם את הדגל -h או --help בשורת הפקודה.

לדוגמה, כדי לקבל עזרה בפקודה להצגת הרשימה:

usermgmt_platform list -h

מוצגים פרטי העזרה הבאים:

Lists the machine users in an identity zone.

Usage:
  usermgmt list [flags]

Flags:
  -h, --help   help for list

יצירת משתמש במחשב באזור זהות

יוצרים משתמש במכונה באזור זהות באמצעות הפקודה usermgmt_platform create. במאמר שימוש ב-CLI מופיעה רשימת הפלטפורמות הנתמכות.

  1. מזינים את הפקודה הבאה:
    usermgmt_platform create

    תוצג רשימה של אזורי הזיהוי:

    myzone1
    myzone2
  2. מזינים את השם של האזור בהנחיה:
    Enter a zone name: myzone1
  3. מזינים שם משתמש בשביל המשתמש במחשב:
    Create a Machine User
    Username: machineuser1@mycompany.com
  4. מזינים את הסיסמה של המשתמש במחשב. מזינים שוב את הסיסמה כשמוצגת בקשה לעשות זאת.
    Password: password
    Re-enter password: password 

    המשתמש נוצר.

    Created machine user machineuser1@mycompany.com

הצגת רשימה של כל המשתמשים במחשב באזור זהות

הצגת רשימה של כל המשתמשים במחשב באזור זהות באמצעות הפקודה usermgmt_platform list. במאמר שימוש ב-CLI מופיעה רשימת הפלטפורמות הנתמכות.

  1. מזינים את הפקודה הבאה:
    usermgmt_platform list
    תוצג רשימה של אזורי הזיהוי:
    myzone1
    myzone2
  2. מזינים את השם של האזור בהנחיה:
    Enter a zone name: myzone1

    הרשימה של המשתמשים במחשב באזור הזהות מוצגת:

    Machine users in the zone:
    machineuser1@mycompany.com
        

איפוס הסיסמה של משתמש במחשב באזור זהות

מאפסים את הסיסמה של משתמש במכונה באזור זהות באמצעות הפקודה usermgmt_platform reset. במאמר שימוש ב-CLI מופיעה רשימת הפלטפורמות הנתמכות.

  1. מזינים את הפקודה הבאה:
    usermgmt_platform reset

    תוצג רשימה של אזורי הזיהוי:

    myzone1
    myzone2
  2. מזינים את השם של האזור בהנחיה:
    Enter a zone name: myzone1
  3. הזן את שם המשתמש של המשתמש במחשב שעבורו ברצונך לאפס את הסיסמה:
    Reset User Password
    Enter the username for the machine user
    Username: machineuser1@mycompany.com
  4. מזינים סיסמה חדשה למשתמש במחשב. מזינים שוב את הסיסמה כשמוצגת בקשה לעשות זאת.
    Enter the new password: password
    Re-enter password: password

    הסיסמה מתאפסת.

    Reset password for machine user machineuser1@mycompany.com

מחיקת משתמש במחשב באזור זהות

מוחקים משתמש במכונה באזור זהות באמצעות הפקודה usermgmt_platform delete. במאמר שימוש ב-CLI מופיעה רשימת הפלטפורמות הנתמכות.

  1. מזינים את הפקודה הבאה:
    usermgmt_platform delete
    תוצג רשימה של אזורי הזיהוי:
    myzone1
    myzone2
  2. מזינים את השם של האזור בהנחיה:
    Enter a zone name: myzone1
  3. מזינים את שם המשתמש של המשתמש במכונה שרוצים למחוק:
    Delete User
    Enter the username for the machine user
    Username: machineuser1@mycompany.com 

    המשתמש במחשב נמחק.

    Deleted user machineuser1@mycompany.com

מקצים את התפקידים הנדרשים למשתמש במכונה בארגון Edge.

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

קבלת אסימוני OAuth2 של המשתמש במחשב

אפשר להפוך את תהליך יצירת האסימונים לאוטומטי ולטפל בשמירת אסימונים במטמון עבור משתמשי המכונה acurl(1) ו-get_token(1), כפי שמתואר ב- OAuth2 למשתמשים במכונות ולמשתמשי מכונות באזורי SAML.

כדי לקבל את אסימוני ה-OAuth2 של המשתמש במחשב באופן ידני באמצעות curl:

  1. שימוש בכלי הקידוד המועדף של כתובות URL לקידוד שם המשתמש והסיסמה של המשתמש במחשב.

    אזהרה: השתמשו בכלי פנימי לקידוד כתובות URL כדי לוודא שלא ייחשפו פרטי הכניסה של המשתמש במכונה.

  2. יוצרים את הגישה הראשונית ואת אסימוני הרענון באמצעות קריאה לנקודת הקצה של אסימון SAML, בדוגמה הבאה:
    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 \
      https://zoneName.login.apigee.com/oauth/token -s \
      -d 'grant_type=password&username=machineusername&password=machineuserpassword'

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

  3. מעבירים את אסימון הגישה לקריאה ל-Edge management API ככותרת הנושא:
    curl -H "Authorization: Bearer ACCESS_TOKEN" \
      https://api.enterprise.apigee.com/v1/organizations/orgName
  4. כשפג התוקף של אסימון הגישה, אפשר לרענן אותו על ידי שליחת אסימון הרענון אל SAML היא נקודת הקצה של האסימון, כמו בדוגמה הבאה:
    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 \
      https://zoneName.login.apigee.com/oauth/token \
      -d 'grant_type=refresh_token&refresh_token=REFRESH_TOKEN'

(1) זכויות יוצרים 2023 Google LLC
הכלים usermgmt, acurl ו-get_token זמינים כ'תוכנה' מתחת בהסכם שחל על השימוש שלך ב-Google Cloud Platform, כולל בשירות תנאים ספציפיים זמינים בכתובת https://cloud.google.com/terms/service-terms.