כרגע מוצג התיעוד של Apigee Edge.
כניסה למסמכי התיעוד של
Apigee X. מידע
סקירה כללית
המדריך הזה כולל הוראות מפורטות להפעלה ולהפעלה של מכונה של Edge Microgateway.
אחרי ביצוע השלבים המפורטים כאן, תהיה לך התקנה תקינה ופעילה של Edge Microgateway שיכולה לעבד בקשות API. כדי לבדוק את ההגדרה, מבצעים קריאות מאובטחות ל-API דרך Edge Microgateway ליעד הקצה העורפי. בנוסף, נלמד איך להוסיף אל Microgateway פלאגין של מעצר חדירה.
המדריך מחולק לחלקים הבאים:
- דרישה מוקדמת: התקנת Edge Microgateway
- חלק 1: הגדרת Edge Microgateway
- חלק 2: יצירת ישויות ב-Apigee Edge
- חלק 3: Operate Edge Microgateway
- חלק 4: Secure Edge Microgateway
- חלק 5: הוספת הפלאגין של Spike Arrest
- חלק 6: הצגת נתוני Analytics ב-Apigee Edge
דרישה מוקדמת: התקנת Edge Microgateway
פועלים לפי ההוראות במאמר התקנת Edge Microgateway. לאחר השלמת ההתקנה, תהיו מוכנים לבצע את השלבים המפורטים במדריך זה.
בסיום ההתקנה, ממשיכים לסעיף הבא, "חלק 1: הגדרת Edge Microgateway".
חלק 1: הגדרת Microgateway של Edge
בחלק הזה צריך להשתמש בפקודה של ממשק שורת הפקודה (CLI) כדי להגדיר את Edge Microgateway לתקשורת עם Apigee Edge. אם משתמשים ב-Apigee Edge Cloud, צריך לפעול לפי שלבי ההגדרה של Cloud Apigee Edge. בענן הפרטי של Apigee, יש לפעול לפי השלבים לענן הפרטי של Apigee Edge.
השלבים להגדרת ענן Apigee Edge
כדי להשתמש ב-Edge Microgateway עם Apigee Edge Cloud:
- אם עדיין לא עשית זאת, עליך להפעיל את Edge Microgateway (צריך לבצע את השלב הזה רק פעם אחת):
edgemicro init
- (אופציונלי) עזרה להדפסה עבור הפקודה edgemicro configuration:
edgemicro configure -h
- מפעילים את הפקודה הבאה כדי להגדיר את Edge Microgateway:
edgemicro configure -o [org] -e [env] -u [username]
כאשר:
org
זהו שם הארגון שלך ב-Edge (עליך להיות מנהל מערכת ארגוני).env
הוא סביבה בארגון שלכם (למשל test או prod).username
היא כתובת האימייל שמשויכת לחשבון Apigee שלך.
דוגמה
edgemicro configure -o docs -e test -u jdoe@example.com
פלט
./edgemicro configure -o docs -e test -u jdoe@apigee.com password: current nodejs version is v6.1.0 current edgemicro version is 2.2.3-beta password: file doesn't exist, setting up Give me a minute or two... this can take a while... App edgemicro-auth deployed. creating vault adding private_key adding public_key configuring host edgemicroservices-us-east-1.apigee.net for region us-east-1 saving configuration information to: /Home/.edgemicro/wwitman-test-config.yaml vault info: -----BEGIN CERTIFICATE----- MIICpDCCAYwCCQCaDpaTttaDANBgkqhkiG9w0BAQsFADAUMRIwEAYDVQQDEwls b2NhbGhvc3QwHhcNMTYxAxMjA0NzIyWhcNMTYxMTAyMjA0NzIyWjAUMRIwEAYD VQQDEwlsb2NhbGhvcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDA YbtbsFe50GgBrI8QTih5yzxxxvCfdubGrLWmovwwCCFthno3u8lS54ekOL9jQu JTJsocJfNhZxvnXifDsCk5Muwx87Z/D0BYLw9ZhM8TMyA2MCkXgC6RfKT69IdJ jT3X+3D0s+apr3lACsDhgOfaeQfeHAm1SSwH/VemaJqdImGkQMtM8uscMDwG6k vBbCSNS+hh6ZH1m3tAkcKXqvj/E1hbrHNTWr+uiYFRByUzeo1I607daQD4Lxid il4Ng3hr3LC1gEzvobWgVyhQ2ovYB57T886H7dGghTnOUxLm2y/TwmQya+44SL JSsDwauArMF38cRKZZ7VAgMBAAEwDQYJKoZIhvcNAQELBQADEBAHwwu+gOn8Tq jKOYBTXtOX11HPMTxmyvZ/I57R4roE7Z/lXg/DXwbiFpFG2uamXNKq7yTDJH2i iiqdERZOGfv7TJMjRlxEnfVHoCV7UKguKq4zeeAEU2x55yFwpWNrarx0kMXRwI v3WgGfo2bimFQrCjDCNIkDKmYYt4SXIF5zUJmBWPCaK9aJoQb7ARXQO9s2zoOI XZ5bCUDbehQZ+6LyqC0hgDXiIZYy7R0j93yCbQgoHaHUMEprJEEjE24SHdsWBO nxGZxB20JLq5AHTm8lbZp7XtvbU0jVpxyrBo2/olFnmpvBVOq9eIp042IVD7nT J4rPejdK6C4= -----END CERTIFICATE----- The following credentials are required to start edge micro key: e88ec9d5da17cd88ca338d532b7c7a8c4f43ddd3da139d95955ab345af30352d secret: d7f64854eb6889d06b809dd7c161dba5eeba4a2657277fd819921bf992221a8f edgemicro configuration complete!
השלבים להגדרת ענן פרטי ב-Apigee
כדי להשתמש ב-Edge Microgateway עם Apigee Private Cloud:
- הדפסה של פרטי עזרה עבור הפקודה edgemicro Private configuration. ניתן להדפיס עזרה באופן זה לכל פקודה או אפשרות פקודה של Edge Microgateway CLI.
edgemicro private configure -h
- מריצים את הפקודה הבאה. לשם כך נדרש מידע רגיל על חשבון הענן הפרטי של Apigee Edge: שם הארגון, שם הסביבה, שם המשתמש (כתובת האימייל), הסיסמה, כתובת ה-IP של שרת הניהול וכתובת ה-IP של הנתב. כדי להשתמש בפקודה הזו, צריך להיות אדמין ארגוני ב-Edge:
edgemicro private configure -o [org] -e [env] -u [username] -r [runtime_url] -m [mgmt_url] -v [virtual_host]
כאשר:
org
זהו שם הארגון שלך ב-Edge (עליך להיות מנהל חשבון ארגוני).- הסביבה
env
היא בארגון שלכם (למשל, test או prod). runtime_url
היא כתובת ה-URL בזמן הריצה של המכונה של הענן הפרטי.mgmt_url
היא כתובת ה-URL של שרת הניהול של מופע הענן הפרטי שלכם.username
היא כתובת האימייל שמשויכת לחשבון Apigee שלך.-
virtual_host
היא רשימה של שמות מארחים וירטואליים שמופרדים בפסיקים. ערכי ברירת המחדל הםdefault,secure
דוגמה
edgemicro private configure -o docs -e test -u jdoe@example.com -r http://192.162.52.106:9001 -m http://192.162.52.106:8080 -v default
לחלופין, אם יש לכם כינוי מארח וירטואלי של myorg-test.mycompany.com
, תצטרכו להשתמש בפקודה כזו:
edgemicro private configure -o docs -e test -u jdoe@example.com -r myorg-test.mycompany.com -m http://192.162.52.106:8080 -v default
פלט
delete cache config checking for previously deployed proxies configuring edgemicro internal proxy deploying edgemicro internal proxy deploying edgemicro-auth app copy auth app into tmp dir copy config into tmp deer Give me a minute or two... this can take a while... App edgemicro-auth added to your org. Now adding resources. checking org for existing vault creating vault adding private_key adding public_key configuring host http://192.168.52.106:9001 for region dc-1 saving configuration information to: /Users/ApigeeCorporation/.edgemicro/jdoe-test-config.yaml vault info: -----BEGIN CERTIFICATE----- MIICpDCCAYwCCQDpIvWlpaZJGDANBgkqhkiG9w0BAQFADAUMRIwEAYDVQQDEwls b2NhbGhvc3QwHhcNMTYwNDA3MTcxNTM5WhcNMTYwND4MTcxNTM5WjAUMRIwEAYD VQQDEwlsb2NhbGhvc3QwggEiMA0GCSqGSIb3DQEBAUAA4IBDwAwggEKAoIBAQD3 OAQ+kf5FH0S0yuj05ITqUODuUJspBPberRMbqOZYHcFswhB0Yvg6JKWxKWBDP9o Xl96dtgH7xPFRqIU0zI452jkMQ1fPz2mSaGwik245yfBku7olooXKRKTRKOUoXa q3Hld/RPxGSsWtiyyYtKex7tuFdq0Knm1EhowdTRGIgjNvudeYMka/XPRXuykhd xIDxWj4rdX+4GPx9qT2eTQC5nOAC7XHVL7ys4KqsAiv28vw10u400KstFFS8Qho 7FaE0bOKLolKKadKyA60ha1XIw/uSTD6ZQFWQ+XM3OaRbXePWXnSZioSxXcZT7L hMUKbsRXw/TCvRB51LgNAgMBAAEwDQYJKoZIhvcNAQELBQADgEBAOuR1OmE/W6j gRAarJB5EQuTEpI/9Zpg5c5RAGjzLhkazsycn7pal+IymUjCV7D0oIxTVuTM8ZZ 57kR5hF/C1ZypDN9i+KGP2ovX8WOCCXYtIQECgZPB/L/7/k7BDuKN4vFBvWUe3X s2oyjnVWy+ASqsW8gHfj8ekhe22bP240Oqkbyg9SZP9ol1tvJX6+M0thYwcTwAd ft929Icey/MOTQC0jB2qm0gnIx/7KInFXfS5KoFRJoGrWDeckr3RdBo2LhnPaeZ 1gPYIqphZ3HfisF5KlBXoR8oT/Ilym/nq5COlv+3L4tMIk18F7BQZB60SRazifz pFkIxepyr/0= -----END CERTIFICATE----- The following credentials are required to start edge micro key: a3f8f3dfe39158fc3c50b274f0af2234246e0d5f6ea4dd09389b645147151ba3 secret: 3e9904802fb3c0e8ca408128a11119cf13546d54dac30ace944c097a726a1263 edgemicro configuration complete!
אימות ההתקנה
מריצים את הפקודה הזו כדי לאמת את ההתקנה. אם לא מדווחות שגיאות, הכול מוגדר כמו שצריך ואפשר להפעיל את המיקרו-שער של Edge בהצלחה.
edgemicro verify -o [org] -e [env] -k [key] -s [secret]
כאשר:
org
זהו שם הארגון שלך ב-Edge (עליך להיות מנהל מערכת ארגוני).env
הוא סביבה בארגון שלכם (למשל test או prod).key
הוא המפתח שהוחזר קודם לכן על ידי פקודת ההגדרה.secret
הוא המפתח שהוחזר קודם לכן על ידי פקודת ההגדרה.
דוגמה
edgemicro verify -o docs -e test -k 93b01fd21d86331459ae52f664ae9aeb13eb94767ce40a4f621d172cdfb7e8e6 -s c8c755be97cf56c21f8b0556d7132afbd03625bbd85dc34ebfefae4f23fbcb3c
מידע על ההגדרות האישיות
כל ההגדרות שהיו עד כה מאפשרות ל-Edge Microgateway לאתחל את עצמו ל-Apigee Edge. אחרי שפעולת האתחול מופעלת, Edge Microgateway מאחזר מטען ייעודי של פרטי תצורה נוספים מ-Apigee Edge.
למה משמשים פרטי ההגדרה האלה? כפי שנגלה בחלק הבא של המדריך, כש-Edge Microgateway יתחיל לפעול, הוא צריך לקבל רשימה של שרתי proxy מיוחדים של Edge Microgateway API מ-Apigee Edge. בחלק הבא במדריך הזה תיצרו שרת proxy מבוסס-Microgateway. Edge Microgateway מגביל את הלקוחות לקריאה רק לממשקי ה-API שחזיתם שרתי ה-proxy האלה של ממשקי API שתומכים ב-Microgateway, והלקוחות יידרשו (כברירת מחדל) להציג אסימון אבטחה תקף לכל קריאה. למידע נוסף על שרתי ה-proxy האלה, קראו את המאמר "מה צריך לדעת על שרתי proxy שתומכים ב-Edge Microgateway">בסקירה הכללית של Edge Microgateway.
כמנהלי חשבון ארגוני של Edge, כדאי לדעת שאפשר להוסיף שרתי proxy שתומכים ב-Edge Microgateway למוצרי Edge, בדיוק כמו כל שרת proxy אחר. באמצעות מוצרים ואפליקציות למפתחים, אפשר ליצור אסימוני אבטחה ספציפיים ללקוח כדי לשלוט בגישה לממשקי API שנקראים דרך Edge Microgateway. שוב, הדפוסים שמעורבים זהים לעבודה עם כל שרת proxy של API, מוצרים ואפליקציות למפתחים ב-Apigee Edge. כדי לקרוא על מוצרים, כדאי להתחיל בקריאת המאמר מהו מוצר API? במסמכי התיעוד של Edge.
בשלב הבא נסביר איך ליצור שרתי proxy שתומכים ב-Edge Microgateway, ולאחר מכן נתחיל את Edge Microgateway ונבדוק את ההגדרה.
חלק 2: יצירת ישויות ב-Apigee Edge
בחלק הזה תיצור את הישויות הבאות ב-Edge:
- א שרת proxy מבוסס-microgateway – זהו שרת proxy מיוחד ש-Edge Microgateway יכול לגלות במהלך ההפעלה. לשרתי proxy שתומכים ב-Microgateway יש
מוסכמת מתן שמות שלפיה צריך לפעול: השם חייב להיות
עם
edgemicro_
. לדוגמהedgemicro_hello
אוedgemicro_userinfo
. כש-Edge Microgateway מופעל, הוא מאחזר מ-Edge רשימה של שרתי proxy המותאמים למיקרו-שערים מאותו ארגון וסביבה של Edge שציינת כשהפעלת את Edge Microgateway.
לכל שרת proxy התומך ב-Microgateway, Edge Microgatway מאחזר את כתובת ה-URL של היעד של שרת ה-proxy ואת הנתיב הבסיסי שלו. שרתי proxy שתומכים ב-Microgateway גם מספקים דרך נוחה לשייך נתוני ניתוח שנוצרו על ידי Edge Microgateway עם שרת proxy בפלטפורמת Edge. מאחר שה-Microgateway מטפל בקריאות ל-API, הוא דוחף את נתוני הניתוח באופן אסינכרוני ל-Edge. נתוני Analytics יופיעו בממשק המשתמש של Edge Analytics מתחת לשמות של שרת ה-proxy המודעים למיקרו-שער, כמו בכל שרת proxy אחר.
- מוצר, מפתח ואפליקציה למפתחים – Edge Microgateway משתמש במוצרים, במפתחים ובאפליקציות למפתחים כדי להפעיל אסימון גישה ל-OAuth2 או אבטחת מפתח API. כש-Edge Microgateway מופעל, הוא מוריד את כל הגדרות המוצר מארגון Apigee Edge שלך. המידע הזה משמש לאימות קריאות ל-API שמתבצעות דרך Edge Microgateway באמצעות מפתחות API או אסימוני גישה מסוג OAuth2.
מידע נוסף: כדאי גם לקרוא את המאמר 'מה צריך לדעת על שרתי proxy המבוססים על Edge Microgateway' בסקירה הכללית על Edge Microgateway.
1. יצירת שרת proxy ל-Edge Microgateway-aware API ב-Edge
- עליך להתחבר לארגון שלך ב-Apigee Edge.
- לוחצים על החלפה לגרסה הקלאסית כדי לעבור לממשק המשתמש הקלאסי של Edge.
- בתפריט העליון, בוחרים באפשרות APIs > API Proxies (ממשקי API).
- בדף API proxy, לוחצים על + API Proxy.
- באשף בניית שרת Proxy, בוחרים באפשרות הפוך שרת proxy (הנפוץ ביותר).
- לוחצים על הבא.
- בדף 'פרטים' באשף, הגדר באופן הבא. הקפידו למלא את הערכים באשף בדיוק כפי שמוצג:
- שם שרת Proxy: edgemicro_hello
- נתיב בסיס של שרת Proxy: /hello
- ממשק API קיים: http://mocktarget.apigee.net/
- לוחצים על הבא.
- בדף 'אבטחה' באשף, בוחרים עבר (ללא).
- לוחצים על הבא.
- בדף 'מארחים וירטואליים' באשף, מאשרים את הגדרות ברירת המחדל.
- לוחצים על הבא.
- בדף Build באשף, סקור את הגדרות שרת ה-proxy. חשוב לוודא שסביבת test נבחרה.
- לוחצים על יצירה ופריסה.
2. יצירת מוצר
יוצרים מוצר שמכיל שני שרתי proxy:
- שרת ה-proxy התומך ב-microgateway: edgemicro_hello
- שרת ה-proxy לאימות שהותקן על ידי Edge Microgateway: edgemicro-auth.
- בממשק המשתמש של Edge (הגרסה הקלאסית), עוברים אל פרסום > מוצרים.
- בדף המוצרים, לוחצים על + מוצר. ממלאים את דף פרטי המוצר באופן הבא:
- שם: EdgeMicroTestProduct
- שם לתצוגה: EdgeMicrotestProduct
- סביבה: בדיקה וייצור
- גישה:ציבורית
- סוג אישור מפתח: אוטומטי
-
מקורות מידע:
- שרת proxy ל-API: בוחרים באפשרות edgemicro_hello
- גרסה: 1
- נתיב המשאב: /**
- לוחצים על ייבוא משאב.
- בקטע 'משאבים', לוחצים על +API Proxy.
- בחירה של edgemicro-auth
- לוחצים על שמירה.
3. (אופציונלי) יוצרים מפתח לבדיקה
במדריך הזה, אפשר להשתמש בכל מפתח קיים בשלב הבא, יצירת אפליקציה למפתחים. אבל אם רוצים, אפשר ליצור מפתח לבדיקה עכשיו:
- עוברים אל פרסום > מפתחים.
- בדף המוצרים, לוחצים על + מפתח.
- מלאו את תיבת הדו-שיח כדי ליצור מפתח לבדיקה.
4. איך יוצרים אפליקציה למפתחים
פרטי הכניסה של הלקוח באפליקציה הזו ישמשו אותך כדי לבצע קריאות מאובטחות ל-API דרך Edge Microgateway:
- עוברים אל פרסום > אפליקציות למפתחים.
- בדף 'אפליקציות למפתחים', לוחצים על + אפליקציה למפתחים.
- ממלאים את הדף של האפליקציה למפתחים באופן הבא:
- שם: EdgeMicrotestApp
- שם לתצוגה: EdgeMicrotestApp
- מפתח:אם יצרתם מפתח לבדיקה, בוחרים בו. לחלופין, אפשר להשתמש בכל מפתח קיים לצורך המדריך הזה.
-
פרטי כניסה:
- בוחרים באפשרות 'תאריך תפוגה:' אף פעם.
- לוחצים על + Product (+ מוצר) ובוחרים באפשרות EdgeMicroTestProduct (המוצר שנוצר כרגע)
- לוחצים על שמירה.
- חזרת לדף רשימת האפליקציות למפתחים.
- בוחרים את האפליקציה שיצרתם כרגע, EdgeMicroTestApp.
- לוחצים על Show (הצגה) לצד Consumer Key (מפתח הצרכן) ו- Consumer Secret (סוד צרכן).
חלק 3: הפעלת מיקרו-שער של Edge
עכשיו, אחרי שהגדרת את Edge Microgateway ולפחות שרת proxy אחד התומך ב-Edge Microgateway ב-Edge, זה הזמן להפעיל את Edge Microgateway. שרת ה-HTTP של Edge Microgateway יפעל במחשב המקומי שלך ויבצעו קריאות ל-API ישירות לשרת הזה.
1. הפעלת Edge Microgateway
משתמשים בפקודה edgemicro start כדי להפעיל את Edge Microgateway.
- חשוב לוודא שיש לכם את המפתחות שהוחזרו קודם כשהרצתם את הפקודה edgemicro configuration. הפלט הזה נראה בערך כך:
You need key and secret while starting edgemicro instance key: da4778e7c240a5d4585fc559eaba5083328828ac9f3a7f583e8b73e secret: 3aad7439708b4aeb38ee08e87189921ad00e6fc1ba8a8ae9f929ee2
- (אופציונלי) הדפסה של פרטי עזרה עבור הפקודה
edgemicro start
.
edgemicro start -h
- כדי להפעיל את Edge Microgateway, מריצים את הפקודה הבאה:
edgemicro start -o [org] -e [env] -k [key] -s [secret]
כאשר:
org
זהו שם הארגון שלך ב-Edge (עליך להיות מנהל מערכת ארגוני).env
הוא סביבה בארגון שלכם (למשל test או prod).key
הוא המפתח שהוחזר קודם לכן על ידי פקודת ההגדרה.secret
הוא המפתח שהוחזר קודם לכן על ידי פקודת התצורה.
דוגמה
edgemicro start -o docs -e test -k 701e70e718ce6dc1880616b3c39177d64a88754d615c7a4e1f78b6181d000723 -s 05c14356e42d136b83dd135cf8a18531ff52d7299134677e30ef4e34ab0cc824
פלט
פקודת ההתחלה מאחזרת הרבה פרטי תצורה מ-Apigee Edge (שגוללים לתוך חלון הטרמינל). בפלט תופיע רשימה של שרתי proxy ומוצרים שהתגלו באמצעות ה-microgateway. בסוף הפלט אמור להופיע משהו כזה:
... PROCESS PID : 9757 installed plugin from analytics installed plugin from oauth eb725020-a2b0-11e6-8a52-6de156e3a6e2 edge micro listening on port 8000 installed plugin from analytics installed plugin from oauth installed plugin from analytics installed plugin from oauth installed plugin from analytics installed plugin from oauth eb77ce60-a2b0-11e6-8a88-b96278c0c198 edge micro listening on port 8000 eb78b8c0-a2b0-11e6-bf36-717b986c91fe edge micro listening on port 8000 eb77f570-a2b0-11e6-883e-472b9104351e edge micro listening on port 8000
מה קרה?
בודקים את הטרמינל שבו הפעלתם את הפקודה edgemicro config. כשגוללים למעלה בפלט הסטנדרטי, אפשר לראות שהפקודה מאחזרת מטען ייעודי של פרטי התצורה של Edge Microgateway מ-Apigee Edge. פרטים כאלה כוללים:
- המפתח הציבורי שיצרנו ואחסן בעבר בכספת של Apigee.
- ייצוג JSON של כל שרתי ה-proxy המתאימים ל-Edge Microgateway שקיימים בארגון או בסביבה. לכל שרתי ה-proxy שהשם שלהם הוא הקידומת edgemicro_.
- ייצוג JSON של כל מוצרי ה-API שקיימים בארגון או בסביבה.
באמצעות המידע הזה, Edge Microgateway יודע אילו שרתי proxy ונתיבי proxy הוא מורשה לעבד. היא משתמשת בפרטי המוצר כדי לאכוף את האבטחה (בדיוק כמו כל שרת proxy של API ב-Apigee Edge, שבו למפתחות אפליקציות למפתחים יש שיוך למוצרים). בקרוב נבצע את השלבים לאבטחת Edge Microgateway.
2. בדיקת Microgateway
כש-Edge Microgateway פועל, אפשר להפעיל את שרת ה-proxy. המערכת הורידה את התצורה של שרת ה-proxy edgemicro_hello מ-Edge כשהפעלת את Edge Microgateway. חשוב לזכור, הנתיב הבסיסי של ה-proxy הוא /hello.
כדי לבדוק את Edge Microgateway, אנחנו מתחילים מהנתיב הבסיסי ומוסיפים את נתיב המשאב /echo. חשוב לשים לב שכל מה שמופיע אחרי הנתיב הבסיסי (כולל הפרמטרים של השאילתה) מועבר ליעד הקצה העורפי:
curl -i http://localhost:8000/hello/echo {"error":"missing_authorization","error_description":"Missing Authorization header"}
השגיאה מתרחשת כי לא שלחתם מפתח API או אסימון גישה חוקיים עם הבקשה. כברירת מחדל, Edge Microgateway מחייב מפתח API או אסימון גישה בכל קריאה ל-API. בשלב הבא של המדריך, נאבטח את ה-API הזה באופן תקין ונראה לך איך לקבל אסימון גישה תקף ולכלול אותו בבקשה.
4. הפסקת המיקרו-גייטוויי של Edge
- בחלון טרמינל נפרד, לוחצים על
cd
לאותה ספרייה שבה הפעלת את Edge Microgateway. - מזינים את פקודת העצירה:
edgemicro stop
חלק 4: מיקרו-שער מאובטח
אפשר לאבטח קריאות ל-API שמתבצעות דרך Edge Microgateway באמצעות מפתח API או אסימון גישה.
קריאות ל-API מאובטח עם אסימון גישה מסוג OAuth2
אם רוצים לאמת קריאות ל-API באמצעות אסימון גישה מסוג OAuth2, יש לפעול לפי השלבים הבאים:
1. משיגים את המפתחות הנדרשים
- בממשק המשתמש של Edge, עוברים לאפליקציה למפתחים שיצרתם קודם, כמו שמתואר בחלק 2: יצירת ישויות ב-Apigee Edge. שם האפליקציה היה EdgeMicroTestApp.
- בדף האפליקציה למפתחים, מציגים את מפתח הצרכן ואת סוד הצרכן, ומעתיקים אותם. הערכים האלה נדרשים כדי לקבל אסימון גישה בשלב הבא.
2. קבלת אסימון גישה
יש שתי דרכים לקבל אסימון גישה. נציג לך את שתי השיטות.
שימוש ב-CLI לקבלת אסימון גישה
השיטה הראשונה היא נוחה, שמתאימה לדפוס שבו השתמשנו לאורך המדריך. השיטה השנייה בדרך כלל שימושית יותר למפתחי אפליקציות של לקוחות שצריכים לבקש אסימונים. נקודת הקצה של האסימון בפועל מוטמעת בשרת ה-proxy של edgemicro-auth שנפרס כשהגדרתם את Edge Microgateway.
- (אופציונלי) מעיינים בעזרה לגבי הפקודה token get:
edgemicro token get -h
- יוצרים את האסימון תוך החלפה של ערכי מפתח הצרכן וסוד הצרכן מהאפליקציה
למפתחים שיצרתם ב-Apigee Edge, בפרמטרים -i ו--i:
edgemicro token get -o [org] -e [env] -i [consumer_key] -s [consumer_secret]
כאשר:
org
זהו שם הארגון שלך ב-Edge (עליך להיות מנהל מערכת ארגוני).env
הוא סביבה בארגון שלכם (למשל test או prod).consumer_id
הוא מזהה הצרכן באפליקציה למפתחים שיצרת בעבר.consumer_secret
הוא סוד הצרכן באפליקציה למפתחים שיצרת בעבר.
דוגמה
edgemicro token get -o docs -e test -i G0IAeU864EtBo99NvUbn6Z4CBwVcS2 -s uzHTbwNWvoSmOy
פלט (דוגמה)
current nodejs version is v4.4.4 { token: 'eyJ0eXAiOiJKV1QiLCJhbGciSUzI1NiJ9.eyJhcHBsaWNhdGl vbl9uYW1lIjoiNWNiMGY0tOWMzOC00YmJjLWIzNzEtZGMxZTQzOGYxZGMxI iwiY2xpZW50X2lkIjoiNVVdBWEdvSU9lbzYwYWV3OTRQN0c1TUFaRTNhSnA iLCJzY29wZXMiOltdLCJhcGlfcHJvjdF9saXN0IjpbIkVkZ2VNaWNyb1Rlc 3RQcm9kdWN0IlmlhdCI6MTQ3ODIwODMzMiwiZXhwIjoxNDc4MjEwMTMxfQ. v3Q8Rs0W9FO_XpERwIAMMXhjGamRmmmWgrAy1wJv0-99oajx5ASI5qjNubM nCF14xxwlVXHcz1VfedA8Nx7Ih145zhWWuPKL9muzhXXnVBRFeBMeeLqJk4 QQ7Bhst7xH_68nJSTE20Egu95DHOCUemfrepDFH0VggY4BmzvwLkBNfz_te E_YqwKZbpGOLMdKK1vMk0fk0x19SieIMS_aJYeOAklrzUhnFxWJFrsAWsax NLx_BbQcZzYfK1JSDUrhRNVBuPHMnGjNA_oHw2J4qa6Hsp62PfchG-DIW_t -0BFnYf3rYXmqyNORqFrOMdl4VxqQ' }
(אופציונלי) שימוש ב-API לקבלת אסימון
אם אתם רגילים להפעיל שרתי proxy של Edge באמצעות curl או באמצעות לקוח HTTP אחר, כדאי לדעת שאתם יכולים לקרוא לנקודת הקצה של האסימון ישירות, במקום להשתמש בפקודה edgemicro. הנה דוגמה ל-curl. פשוט מחליפים את שמות הארגון והסביבה בכתובת ה-URL, ומעבירים את הערכים של 'מפתח הצרכן:סוד הצרכן' שמופרדים בנקודתיים בכותרת Basic Authentication:
curl -i -X POST --user [client_id]:[client_secret] "http://[org]-[env].apigee.net/edgemicro-auth/token" -d '{"grant_type": "client_credentials"}' -H "Content-Type: application/json"
כאשר:
org
זהו שם הארגון שלך ב-Edge (עליך להיות מנהל מערכת ארגוני).env
הוא סביבה בארגון שלכם (למשל test או prod).client_id
הוא מזהה הצרכן באפליקציה למפתחים שיצרת בעבר.client_secret
הוא סוד הצרכן באפליקציה למפתחים שיצרת בעבר.
פלט (דוגמה)
הפקודה, גם אם השתמשתם בפקודת ה-CLI edgemicro וגם אם קראתם אותה לנקודת הקצה באמצעות curl, היא מחזירה אסימון גישה חתום שאפשר להשתמש בו כדי לבצע קריאות ללקוח. משהו כזה:
MIICpDCCAYwCCQDpIvWlpaZJGDANBgkqhkiG9w0BAQFADAUMRIwEAYDVQQDEwls b2NhbGhvc3QwHhcNMTYwNDA3MTcxNTM5WhcNMTYwND4MTcxNTM5WjAUMRIwEAYD VQQDEwlsb2NhbGhvc3QwggEiMA0GCSqGSIb3DQEBAUAA4IBDwAwggEKAoIBAQD3 OAQ+kf5FH0S0yuj05ITqUODuUJspBPberRMbqOZYHcFswhB0Yvg6JKWxKWBDP9o Xl96dtgH7xPFRqIU0zI452jkMQ1fPz2mSaGwik245yfBku7olooXKRKTRKOUoXa q3Hld/RPxGSsWtiyyYtKex7tuFdq0Knm1EhowdTRGIgjNvudeYMka/XPRXuykhd xIDxWj4rdX+4GPx9qT2eTQC5nOAC7XHVL7ys4KqsAiv28vw10u400KstFFS8Qho 7FaE0bOKLolKKadKyA60ha1XIw/uSTD6ZQFWQ+XM3OaRbXePWXnSZioSxXcZT7L hMUKbsRXw/TCvRB51LgNAgMBAAEwDQYJKoZIhvcNAQELBQADgEBAOuR1OmE/W6j gRAarJB5EQuTEpI/9Zpg5c5RAGjzLhkazsycn7pal+IymUjCV7D0oIxTVuTM8ZZ 57kR5hF/C1ZypDN9i+KGP2ovX8WOCCXYtIQECgZPB/L/7/k7BDuKN4vFBvWUe3X s2oyjnVWy+ASqsW8gHfj8ekhe22bP240Oqkbyg9SZP9ol1tvJX6+M0thYwcTwAd ft929Icey/MOTQC0jB2qm0gnIx/7KInFXfS5KoFRJoGrWDeckr3RdBo2LhnPaeZ 1gPYIqphZ3HfisF5KlBXoR8oT/Ilym/nq5COlv+3L4tMIk18F7BQZB60SRazifz pFkIxepyr/0=
3. בדיקת ההגדרות ב-Edge Microgateway
- פותחים את הקובץ ~
/.edgemicro/org-env-config.yaml.
אפשר גם לקרוא את הקטע "Where is Edge Microgateway installed" בקטע Installing Edge Microgateway. - יש לוודא שהמאפיינים של יישומי הפלאגין ל-OAuth מוגדרים כ-false. הם
לא נכונים כברירת מחדל, אבל כדאי לבדוק אותם שוב:
oauth: allowNoAuthorization: false allowInvalidAuthorization: false
- כמו כן, בקובץ
org-env-config.yaml
, צריך לוודא שהפלאגין oauth נוסף לרכיבplugins:sequence
, באופן הבא:plugins: dir: ../plugins sequence: - oauth
- אם מבצעים שינויים בקובץ, צריך לטעון מחדש את השינויים למכונה של Edge Microgateway. הפקודה הזו מגדירה מחדש את Edge Microgateway עם
אפס השבתה:
edgemicro reload -o [org] -e [env] -k [key] -s [secret]
כאשר:
org
זהו שם הארגון שלך ב-Edge (עליך להיות מנהל מערכת ארגוני).env
הוא סביבה בארגון שלכם (למשל test או prod).key
הוא המפתח שהוחזר קודם לכן על ידי פקודת ההגדרה.secret
הוא המפתח שהוחזר קודם לכן על ידי פקודת התצורה.
דוגמה
edgemicro reload -o docs -e test -k 701e70ee718ce6dc188016b3c39177d64a88754d615c74e1f78b6181d
4. קריאה מאובטחת ל-API
כשאסימון הגישה זמין, עכשיו אפשר לבצע את הקריאה ל-API באופן מאובטח. לדוגמה:
curl -i -H "Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJhcHBsaWNhdGlvbl 9uYW1lIjoiYmU2YmZjYjAtMWQ0Ni00Y2IxLWFiNGQtZTMxNzRlNTAyMDZkIiwiY2xpZW50X2lkIjoiOGxTTTVIRHdyM VhIT1ZwbmhURExhYW9FVG5STVpwWk0iLCJzY29wZXMiOltdLCJhcGlfcHJvZHVjdF9saXN0IjpbIk1pY3JvZ2F0ZXdh eVRlQcm9kdWN0Il0sImCI6MTQzNTM0NzY5MiwiZXhwIjoxNDM1MzQ5NDkxfQ.PN30Y6uK1W1f2ONPEsBDB_BT31c6 IsjWGfwpz-p6Vak8r767tAT4mQAjuBpQYv7_IU4DxSrnxXQ_q536QYCP4p4YKfBvyqbnW0Rb2CsPFziy_n8HIczsWO s0p4czcK63SjONaUpxV9DbfGVJ_-WrSdqrqJB5syorD2YYJPSfrCcgKm-LpJc6HCylElFDW8dHuwApaWcGRSV3l5Wx 4A8Rr-WhTIxDTX7TxkrfI4THgXAo37p3au3_7DPB_Gla5dWTzV4j93xLbXPUbwTHzpaUCFzmPnVuYM44FW5KgvBrV0 64RgPmIFUxSqBWGQU7Z1w2qFmWuaDljrMDoLEreI2g" http://localhost:8000/hello/echo
ה-API מחזיר כותרות ומידע אחר משרת מדומה.
אבטחת ה-API באמצעות מפתח API
אם רוצים להשתמש במפתח API להרשאה, פועלים לפי השלבים הבאים:
1. מורידים את מפתח ה-API
- בממשק המשתמש של Edge, עוברים לאפליקציה למפתחים שיצרתם קודם, כמו שמתואר בחלק 2: יצירת ישויות ב-Apigee Edge. שם האפליקציה היה EdgeMicroTestApp.
- מציגים את מפתח הצרכן בדף האפליקציה למפתחים ומעתיקים אותו. הערך הזה הוא מפתח ה-API. המפתח הזה ישמש אתכם לביצוע קריאות מאומתות ל-API.
2. בדיקת ההגדרות ב-Edge Microgateway
- פותחים את הקובץ ~
/.edgemicro/org-env-config.yaml.
אפשר גם לקרוא את הקטע "Where is Edge Microgateway installed" בקטע Installing Edge Microgateway. - יש לוודא שהמאפיינים של יישומי הפלאגין ל-OAuth מוגדרים כ-false. הם
לא נכונים כברירת מחדל, אבל כדאי לבדוק אותם שוב:
oauth: allowNoAuthorization: false allowInvalidAuthorization: false
- כמו כן, בקובץ
org-env-config.yaml
, צריך לוודא שהפלאגין oauth נוסף לרכיבplugins:sequence
, באופן הבא:plugins: dir: ../plugins sequence: - oauth
- אם מבצעים שינויים בקובץ, צריך לטעון מחדש את השינויים למכונה של Edge Microgateway. הפקודה הזו מגדירה מחדש את Edge Microgateway עם
אפס השבתה:
edgemicro reload -o [org] -e [env] -k [key] -s [secret]
כאשר:
org
זהו שם הארגון שלך ב-Edge (עליך להיות מנהל מערכת ארגוני).env
הוא סביבה בארגון שלכם (למשל test או prod).key
הוא המפתח שהוחזר קודם לכן על ידי פקודת ההגדרה.secret
הוא המפתח שהוחזר קודם לכן על ידי פקודת התצורה.
דוגמה
edgemicro reload -o docs -e test -k 701e70ee718ce6dc188016b3c39177d64a88754d615c74e1f78b6181d
3. קריאה מאובטחת ל-API באמצעות מפתח API
מפעילים את ה-API עם הכותרת x-api-key באופן הבא. ערך מפתח הצרכן שהעתקת מהאפליקציה למפתחים הוא מפתח ה-API. כברירת מחדל, Edge Microgateway מצפה להעביר את המפתח בכותרת שנקראת x-api-key, בצורה הזו:
curl -i http://localhost:8000/hello/echo -H "x-api-key: [apikey]"
כאשר:
apikey
הוא ערך מפתח הצרכן שנלקח מ-EdgeMicroTestApp.
לדוגמה:
curl -i http://localhost:8000/hello/echo -H 'x-api-key: XsU1R4zGXz2ERxa0ilYQ5szwuljr5bB'
עכשיו יש לך גישה מלאה ומאובטחת ל-Edge Microgateway. בחלק הבא של המדריך נבחן יישומי פלאגין שמוסיפים פונקציונליות ל-Edge Microgateway.
Part 5: הוספת פלאגין של Spike Arrest
בחלק הזה, נוסיף למכונה של Edge Microgateway תכונה להגבלת קצב שנקראת 'מעצר שיא'.
מהם יישומי פלאגין?
פלאגין הוא מודול של Node.js שמוסיף פונקציונליות ל-Edge Microgateway. המודולים של יישומי הפלאגין פועלים לפי תבנית עקבית והם מאוחסנים במיקום שידוע ל-Edge Microgateway, וכך מאפשרים למיקרו-שער לגלות ולטעון אותם באופן אוטומטי. ניתן לקרוא מידע נוסף על יישומי פלאגין בקטע שימוש ביישומי פלאגין.
הוספת הפלאגין של מעצר סף
מעצורי תנועה מגן מפני עומסי תנועה. הוא מווסת את מספר הבקשות שמעובדות במכונה של Edge Microgateway.
ב-Edge Microgateway, מיושם מעצר שיא כמודול פלאגין. כדי להפעיל אותה, צריך להוסיף אותה לקובץ התצורה של Edge Microgateway.
- פותחים את הקובץ ~
/.edgemicro/org-env-config.yaml.
אפשר גם לקרוא את הקטע "Where is Edge Microgateway installed" בקטע Installing Edge Microgateway. - מוסיפים את הרכיב הבא. אפשר להוסיף אותו בכל מקום בקובץ.
spikearrest: timeUnit: minute allow: 10 buffersize: 0
- צריך להוסיף
spikearrest
לרכיבedgemicro:sequence
, כמו שמוצג בהמשך. מאפיין הגדרת הרצף מורה ל-Edge Microgateway את סדר ההפעלה של המודולים של הפלאגין.edgemicro: home: ../gateway port: 8000 max_connections: -1 max_connections_hard: -1 logging: level: info dir: /var/tmp stats_log_interval: 60 plugins: dir: ../plugins sequence: - spikearrest - oauth
- שומרים את קובץ התצורה.
- טוענים מחדש את Edge Microgateway באמצעות הפקודה reload. צריך להריץ את הפקודה הזו מהספרייה שבה הפעלתם את Edge Microgateway.
edgemicro reload -o [org] -e [env] -k [key] -s [secret]
כאשר:
org
זהו שם הארגון שלך ב-Edge (עליך להיות מנהל מערכת ארגוני).env
הוא סביבה בארגון שלכם (למשל test או prod).key
הוא המפתח שהוחזר קודם לכן על ידי פקודת ההגדרה.secret
הוא המפתח שהוחזר קודם לכן על ידי פקודת התצורה.
דוגמה
edgemicro reload -o docs -e test -k 701e70ee718ce6dc188016b3c39177d64a88754d615c74e1f78b6181d
- מנסים להפעיל את ה-API כמה פעמים ברצף מהיר. אחרי הקריאה השנייה, Edge Microgateway מחזיר את השגיאה הזו:
{"message":"SpikeArrest engaged","status":503}
הסיבה לכך היא העלייה החדה במעצר כדי להפחית את מספר השיחות שניתן לבצע בפרק הזמן שצוין. במקרה הזה, אפשר לבצע 10 שיחות בדקה, או אחת בכל 6 שניות.
למידע נוסף, ראה "איך פועל מעצר מוביל?" בשימוש ביישומי פלאגין.
קרדיט נוסף: הוספת הפלאגין של המכסה
אפשר להוסיף יישומי פלאגין אחרים, כמו פלאגין המכסה, לפי אותה דפוס ששימש להגדרת מעצר חדות. כמו במקרה של מעצר חדות, פלאגין המכסה נכלל בכל התקנה של Edge Microgateway. המכסה מציינת את מספר הודעות הבקשות שאפליקציה מורשית לשלוח ל-API בפרק זמן מוגדר (בדקות או שעות).
מידע נוסף על מכסות זמין במאמר 'שימוש בפלאגין המכסה' במאמר בנושא שימוש ביישומי פלאגין.
חלק 6: הצגת ניתוח נתונים ב-Apigee Edge
עכשיו יש לנו מכונה של Edge Microgateway שמתפקדת באופן מלא. בואו נראה מה קורה! כברירת מחדל, המודול של הפלאגין של Analytics נוסף ל-Edge Micro. המודול הזה מעביר בחשאי את נתוני הניתוח מ-Edge Micro ל-Apigee Edge, שבו הם נשלפים על ידי מערכת Edge Analytics. כדאי לראות:
- עליך להתחבר לארגון שלך ב-Apigee Edge.
- בוחרים באפשרות Analytics > ביצועי שרת proxy.
- בלוח הבקרה של ביצועי ה-Proxy, בוחרים את edgemicro_hello שרת ה-proxy.
- התרשים מציג מידע על דפוסי התנועה של שרת ה-proxy, כמו התנועה הכוללת, זמן התגובה הממוצע, זמן היעד הממוצע ועוד.
מידע נוסף על לוחות הבקרה של Edge Analytics זמין בדף הבית של מרכזי הבקרה של Analytics במסמכי התיעוד של Edge. מידע נוסף על יישומי פלאגין זמין במאמר שימוש ביישומי פלאגין.