אתם צופים במסמכי התיעוד של Apigee Edge.
כדאי לעיין במסמכי התיעוד של Apigee X. מידע
כשמשתמשים ב-SAML עם Edge API, התהליך שבו מקבלים גישה ל-OAuth2 וטוקנים לרענון מתוך הצהרת ה-SAML נקרא תהליך קוד הגישה. בתהליך קוד הגישה, משתמשים בדפדפן כדי לקבל קוד גישה חד-פעמי, ואז משתמשים בו כדי לקבל אסימונים מסוג OAuth2.
עם זאת, יכול להיות שהסביבה שלכם תתמוך באוטומציה של משימות פיתוח נפוצות, כמו אוטומציה של בדיקות או אינטגרציה רציפה/פריסה רציפה (CI/CD). כדי להפוך את המשימות האלה לאוטומטיות כש-SAML מופעל, צריך דרך להשיג ולרענן טוקנים של OAuth2 בלי להעתיק ולהדביק קוד גישה מדפדפן.
מידע על משתמשים במכשירים
Apigee Edge תומך במשתמשים שהם מכונות בארגון שמופעל בו SAML. משתמשים במכונה משמשים אך ורק לאוטומציה, ואף אדם לא ניגש אליהם ישירות.
משתמש מכונה יכול לקבל טוקנים של OAuth2 בלי לציין קוד גישה. המשמעות היא שאתם יכולים להשתמש ב-Edge API כדי להפוך את התהליך של קבלת אסימוני OAuth2 ורענון שלהם לאוטומטי לחלוטין.
איך יוצרים אוטומציה של תהליך יצירת הטוקן
כדי להפוך את תהליך יצירת האסימון לאוטומטי:
| שלב | תיאור |
|---|---|
| 1 | יצירת משתמש מכונה באזור הזהויות של SAML |
| 2 | הקצאת התפקידים הנדרשים למשתמש המכונה בארגון Edge |
| 3 | קבלת טוקנים של OAuth2 של משתמשי המכונה |
סרטון: סרטון קצר שמסביר איך להפוך את הגישה לממשקי Apigee Edge API לאוטומטית באמצעות פרטי כניסה של משתמש מכונה.
ניהול משתמשי מכונה באזורי זהויות של 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. כאן אפשר לעיין ברשימת הפלטפורמות הנתמכות.
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 בשורת הפקודה.
לדוגמה, כדי לקבל עזרה לגבי הפקודה list:
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. כאן אפשר לעיין ברשימת הפלטפורמות הנתמכות.
- מזינים את הפקודה הבאה:
usermgmt_platform createתוצג רשימה של אזורי זהויות:
myzone1 myzone2 - מזינים את שם האזור בהנחיה:
Enter a zone name: myzone1 - מזינים שם משתמש למשתמש המכונה:
Create a Machine User Username: machineuser1@mycompany.com - מזינים סיסמה למשתמש המכונה. מזינים שוב את הסיסמה כשמוצגת בקשה לעשות זאת.
Password: password Re-enter password: passwordהמשתמש נוצר.
Created machine user machineuser1@mycompany.com
רשימה של כל המשתמשים במכונה באזור זהות
כדי לראות רשימה של כל המשתמשים במכונה באזור זהות, משתמשים בפקודה usermgmt_platform list. כאן אפשר לעיין ברשימת הפלטפורמות הנתמכות.
- מזינים את הפקודה הבאה:
תוצג רשימה של אזורי הזהויות:usermgmt_platform listmyzone1 myzone2 - מזינים את שם האזור בהנחיה:
Enter a zone name: myzone1מוצגת רשימת משתמשי המכונה באזור הזהות:
Machine users in the zone: machineuser1@mycompany.com
איך מאפסים את הסיסמה של משתמש מכונה באזור זהויות
כדי לאפס את הסיסמה של משתמש מכונה באזור זהויות, משתמשים בפקודה usermgmt_platform reset. כאן אפשר לעיין ברשימת הפלטפורמות הנתמכות.
- מזינים את הפקודה הבאה:
usermgmt_platform resetתוצג רשימה של אזורי זהויות:
myzone1 myzone2 - מזינים את שם האזור בהנחיה:
Enter a zone name: myzone1 - מזינים את שם המשתמש של המשתמש המכונה שרוצים לאפס את הסיסמה שלו:
Reset User Password Enter the username for the machine user Username: machineuser1@mycompany.com - מזינים סיסמה חדשה למשתמש המכונה. מזינים שוב את הסיסמה כשמוצגת בקשה לעשות זאת.
Enter the new password: password Re-enter password: passwordהסיסמה מאופסת.
Reset password for machine user machineuser1@mycompany.com
מחיקת משתמש מכונה באזור זהויות
כדי למחוק משתמש מכונה באזור זהויות, משתמשים בפקודה usermgmt_platform delete. כאן אפשר לעיין ברשימת הפלטפורמות הנתמכות.
- מזינים את הפקודה הבאה:
תוצג רשימה של אזורי הזהויות:usermgmt_platform deletemyzone1 myzone2 - מזינים את שם האזור בהנחיה:
Enter a zone name: myzone1 - מזינים את שם המשתמש של המשתמש במכונה שרוצים למחוק:
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:
- משתמשים בכלי המועדף לקידוד כתובות URL כדי לקודד את שם המשתמש והסיסמה של המשתמש במכונה.
אזהרה: כדי לוודא שפרטי הכניסה של המשתמש במכונה לא ייחשפו, צריך להשתמש בכלי
פנימי לקידוד כתובות URL. - כדי ליצור את אסימוני הגישה והרענון הראשוניים, קוראים לנקודת הקצה של אסימון 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. - מעבירים את טוקן הגישה לקריאה ל-API של ניהול Edge ככותרת Bearer:
curl -H "Authorization: Bearer ACCESS_TOKEN" \ https://api.enterprise.apigee.com/v1/organizations/orgName
- כשפג תוקף אסימון הגישה, אפשר לרענן אותו על ידי שליחת אסימון הרענון לנקודת הקצה של אסימון 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.