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

כרגע מוצג התיעוד של Apigee Edge.
כניסה למסמכי התיעוד של Apigee X.
מידע

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

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

מידע על משתמשים במכונות

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

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

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

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

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

סרטון: צפו בסרטון קצר כדי ללמוד איך להפוך גישה אוטומטית לממשקי 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 אפס. שימוש ב-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 בתור הכותרת של Bearer:
    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.