הגדרה והגדרה של Edge Microgateway

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

Edge Microgateway v. 3.1.x

סקירה כללית

אחרי השלמת השלבים במדריך ההגדרה הזה, תהיה התקנה תקינה ומוגדרת של Edge Microgateway שיכולה לעבד בקשות API. כדי לבדוק את ההגדרה, מבצעים קריאות מאובטחות ל-API דרך Edge Microgateway ליעד הקצה העורפי. בנוסף, נלמד איך להוסיף פלאגין של מעצר סף למיקרו-גייטוויי.

המדריך מחולק לחלקים הבאים:

דרישה מוקדמת: התקנת Edge Microgateway

פועלים לפי ההוראות במאמר התקנת Edge Microgateway. לאחר השלמת ההתקנה, תהיו מוכנים לבצע את השלבים המפורטים במדריך זה.

חלק 1: הגדרת Microgateway של Edge

בחלק הזה משתמשים בפקודה של ממשק שורת הפקודה (CLI) כדי להגדיר את Edge Microgateway לתקשורת עם Apigee Edge.

השלבים להגדרת ענן Apigee Edge

כדי להשתמש ב-Edge Microgateway עם Apigee Edge Cloud:

  1. מפעילים את Edge Microgateway (צריך לבצע את השלב הזה רק פעם אחת):
    edgemicro init
    
  2. קובץ תצורה בשם default.yaml נוסף לספריית הבית שלך בספריית משנה שנקראת .edgemicro. יש לבדוק עכשיו כדי לוודא שהקובץ קיים:
    ls ~/.edgemicro
    default.yaml
    

    הערה: במסמכים של Edge Microgateway, אנחנו משתמשים בספריית הבית באמצעות סימן הטילדה (~), שהוא קיצור דרך ל-UNIX. אם אתם משתמשים ב-Windows, אם מריצים מעטפת שלא תומכת בתו טילדה (~), צריך להחליף את המשתנה הסביבתי המתאים ב-~ בפקודות שמפנות לספריית הבית. לדוגמה: %USERPROFILE%/.edgemicro.

  3. לכל הפקודות ב-CLI יש פונקציית עזרה. עזרה להדפסה עבור הפקודה edgemicro configuration:
    edgemicro configure -h
    
  4. מפעילים את הפקודה הבאה כדי להגדיר את Edge Microgateway:
    edgemicro configure -o [org] -e [env] -u [username] 
    

    כאשר:

    • org: שם הארגון ב-Edge (צריך להיות אדמין ארגוני).
    • env: סביבה בארגון (למשל, test או prod).
    • username: כתובת האימייל שמשויכת לחשבון Apigee שלך.

      הערה: פקודת ההגדרה מאפשרת פרמטרים נוספים. לרשימה מלאה, ראו הגדרת Edge Microgateway עבור Apigee Edge Cloud.

דוגמה

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 v12.5.0
current edgemicro version is 3.1.0
password:
file doesn't exist, setting up
Give me a minute or two... this can take a while...
App edgemicro-auth deployed.
checking org for existing KVM
error checking for cert. Installing new cert.
creating KVM
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/docs-test-config.yaml

vault info:
 -----BEGIN CERTIFICATE-----
MIICpDCCAYwCCQCQ2mJZJGbPPTANBgkqhkiG9w0BAQsFADAUMRIwEAYDVQQDEwls
b2NhbGhvc3QwHhcNMTcwOTA3MjA0ODA4WhcNMTcwOTA4MjA0ODA4WjAUMRIwEAYD
VQQDEwlsb2NhbGhvc3QwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDw
yzmqi5CelqqtTr6IaFe1ssrMXEDnNtkBh95U6F5zHLsNQhJcyNUAO9um6FLMSqSd
fTztXfWUZzDgmbb6sfbx/9cqpvQ8TIjxyIz8xGM9H4legRQmsCQoYGkLjpPE5ZOa
wZrI5IaVm8LY6vbopPFwxgKOQ9bphx6k9Na055DmNyZAOTMD+4I0m/RdsrnZnYih
3DaFj1tXHKZI1jfAt/QOif5Nmk4+JckYwF+9HBysWUbbvj/gnBjVYF2Isb7q7oFD
lPGhwFoIebMqHMWD8lG7+9RJDO9dDV6f1g1/9waIrq1D+MoVXos9VMstNrPp0cKF
Ue+lAkct8tylH+2MosF7AgMBAAEwDQYJKoZIhvcNAQELBQADggEBAJMRdcQh3ayy
csVVT4TYwxV7MKWRfhDRz6X+MM9frB+Z7sI4+ZoZbXKOoZI2hSjmbdLpkNR/m9eJ
+1Uk0JKmpSY7Q+1rRrvcHsWNysGf4z+zDJXYECTrtSnXKBXtb9SJ8JAfoZOQD0lA
zmKuJjQMLTdiYMHOBR6ZWnaKaRvrQwGHcQrheJm4a90XgZF6jcRR8CPrBzkmsbCp
IU/Ux3E17wDGYPxjJs5otyQG8rN/88RGyaSeXK8rjKr9D4KFGJeasXBKmTG2afAr
yfBvS4h6s42FCOR/eLpmMllVoO9up71Fa3EtV+aK+FNNY9uMbgUHeLQE7z9nn06q
PTmvExZLkLQ=
-----END CERTIFICATE-----

The following credentials are required to start edge micro
  key: 27ee39567c75e4567a66236cbd4e86d1cc93df6481454301bd5fac4d3497fcbb
  secret: 4618b0008a6185d7327ebf53bee3c50282ccf45a3cceb1ed9828bfbcf1148b47
    

השלבים להגדרת ענן פרטי ב-Apigee

כדי להשתמש ב-Edge Microgateway עם Apigee Private Cloud:

  1. מפעילים את Edge Microgateway (צריך לבצע את השלב הזה רק פעם אחת):
    edgemicro init
    
  2. הדפסה של פרטי עזרה עבור הפקודה edgemicroprivate configuration. ניתן להדפיס עזרה בדרך זו לכל פקודה או אפשרות של פקודות CLI של Edge Microgateway.
    edgemicro private configure -h
    
  3. מריצים את הפקודה הבאה. לשם כך נדרש מידע רגיל על חשבון הענן הפרטי של 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 KVM
error checking for cert. Installing new cert.
creating KVM
adding private_key
adding public_key
configuring host http://192.168.52.106:9001 for region dc-1

saving configuration information to: $HOME/.edgemicro/jdoe-test-config.yaml
vault info: 
-----BEGIN CERTIFICATE----- 
MIICpDCCAYwCCQDpIvWlpaZJGDANBgkqhkiG9w0BAQFADAUMRIwEAYDVQQDEwls 
b2NhbGhvc3QwHhcNMTYwNDA3MTcxNTM5WhcNMTYwND4MTcxNTM5WjAUMRIwEAYD 
VQQDEwlsb2NhbGhvc3QwggEiMA0GCSqGSIb3DQEBAUAA4IBDwAwggEKAoIBAQD3 
OAQ+kf5FH0S0yuj05ITqUODuUJspBPberRMbqOZYHcFswhB0Yvg6JKWsKWBDP9o
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: a3f8f3dfe39158fc3c50b274f0af2234246e0d5f6ea4ad09389b645147151ba3
   secret: 3e9904802fb3c0e8ca408128a11119cf13546d54dac10ace944c097a726a1263

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 93b01fd21d86331459ae52f624ae9aeb13eb94767ce40a4f621d172cdfb7e8e6 -s c8c755be97cf56c21f8b0156d7132afbd03625bbd85dc34ebfefae4f23fbcb3c

מידע על ההגדרות האישיות

כל ההגדרות שהיו עד כה מאפשרות ל-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 לאימות מיקרו-גייטוויי – זהו שרת proxy מיוחד ש-Edge Microgateway יכול לגלות במהלך ההפעלה. לשרתי proxy שתומכים ב-Microgateway יש מוסכמת מתן שמות שלפיה צריך לפעול: השם חייב להיות עם edgemicro_. לדוגמה edgemicro_hello או edgemicro_userinfo. כש-Edge Microgateway מופעל, הוא מאחזר מ-Edge רשימה של שרתי proxy התומכים למיקרו-שערים מאותו ארגון וסביבה של Edge שציינת כשהפעלת את Edge Microgateway.

    לכל שרת proxy התומך ב-Microgateway, Edge Microgateway מאחזר את כתובת ה-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.

1. יצירת שרת proxy ל-Edge Microgateway-aware API ב-Edge

  1. עליך להתחבר לארגון שלך ב-Apigee Edge.
  2. בתפריט הניווט שבצד, בוחרים פיתוח > ממשקי proxy ל-API.
  3. לוחצים על + שרת Proxy. מופעל אשף בניית שרת proxy.
  4. בדף האשף הראשון, בוחרים באפשרות הפוך שרת proxy (הנפוץ ביותר).
  5. לוחצים על הבא.
  6. בדף 'פרטים' באשף, הגדר באופן הבא. הקפידו למלא את השדות באשף בדיוק כפי שמוצג:
    • שם שרת Proxy: edgemicro_hello
    • נתיב בסיס של שרת Proxy: /hello
    • ממשק API קיים: http://mocktarget.apigee.net/
  7. לוחצים על הבא.
  8. בדף 'אבטחה' באשף, בוחרים עבר (ללא).
  9. לוחצים על הבא.
  10. בדף 'מארחים וירטואליים' באשף, מאשרים את הגדרות ברירת המחדל.
  11. לוחצים על הבא.
  12. בדף Build באשף, סקור את הגדרות שרת ה-proxy. חשוב לוודא שסביבת test נבחרה.
  13. לוחצים על יצירה ופריסה.

2. יצירת מוצר

  1. בתפריט הניווט שבצד, בוחרים פרסום > מוצרי API.
  2. לוחצים על + מוצר API. מופיע דף פרטי המוצר.
  3. ממלאים את דף פרטי המוצר באופן הבא:
    • שם: EdgeMicroTestProduct
    • שם לתצוגה: EdgeMicrotestProduct
    • סביבה: בדיקה וייצור
    • גישה:ציבורית
    • סוג אישור מפתח: אוטומטי
  4. בקטע 'משאבים', לוחצים על +API Proxy (שרת proxy ל-API).
  5. בחירה של edgemicro-auth
  6. לוחצים שוב על +API Proxy.
  7. בוחרים באפשרות edgemicro_hello
  8. בוחרים באפשרות + משאב מותאם אישית
  9. מזינים /**
  10. בוחרים שוב באפשרות + משאב מותאם אישית.
  11. /
  12. לוחצים על שמירה.

3. (אופציונלי) יוצרים מפתח לבדיקה

במדריך הזה, אפשר להשתמש בכל מפתח קיים בשלב הבא, יצירת אפליקציה למפתחים. אבל אם רוצים, אפשר ליצור מפתח לבדיקה עכשיו:

  1. בתפריט הניווט שבצד, בוחרים פרסום > מפתחים.
  2. לוחצים על + מפתח.
  3. מלאו את תיבת הדו-שיח כדי ליצור מפתח לבדיקה.

4. איך יוצרים אפליקציה למפתחים

פרטי הכניסה של הלקוח באפליקציה הזו ישמשו אותך כדי לבצע קריאות מאובטחות ל-API דרך Edge Microgateway:

  1. בתפריט הניווט שבצד, בוחרים באפשרות פרסום > אפליקציות.
  2. לוחצים על + אפליקציה. מופיע הדף 'פרטי אפליקציה למפתחים'.
  3. ממלאים את הדף של האפליקציה למפתחים באופן הבא:
    1. שם: EdgeMicrotestApp
    2. שם לתצוגה: EdgeMicrotestApp
    3. מפתח:אם יצרתם מפתח לבדיקה, בוחרים בו. לחלופין, אפשר להשתמש בכל מפתח קיים לצורך המדריך.
    4. פרטי כניסה:
      1. בוחרים באפשרות 'תאריך תפוגה:' אף פעם.
      2. לוחצים על + מוצר ובוחרים באפשרות EdgeMicroTestProduct (המוצר שיצרתם כרגע)
  4. לוחצים על שמירה.
  5. חזרת לדף רשימת האפליקציות.
  6. בוחרים את האפליקציה שיצרתם כרגע, EdgeMicroTestApp.
  7. לוחצים על 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.

  1. חשוב לוודא שיש לכם את המפתחות שהוחזרו קודם כשהפעלתם את הפקודה edgemicro configuration. הפלט הזה נראה בערך כך:
    You need key and secret while starting edgemicro instance
    
    key: da4778e7c240a5d4585fc559eaba5083328828bc9f3a7f583e8b73e
    secret: 3aad7439708b4aeb38ee08e82189921ad00e6fc1ba8a8ae9f929ee2
    
  2. (אופציונלי) הדפסה של פרטי עזרה עבור הפקודה edgemicro start.
    edgemicro start -h
    
  3. כדי להפעיל את 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. בסוף הפלט אמור להופיע משהו כזה:

    ...
    
    current nodejs version is v12.5.0
    current edgemicro version is 3.1.0
    info: jwk_public_keys download from null returned 200 undefined
    info: jwt_public_key download from https://docs-test.apigee.net/edgemicro-auth/publicKey returned 200 OK
    info: products download from https://docs-test.apigee.net/edgemicro-auth/products returned 200 OK
    info: config download from https://edgemicroservices-us-east-1.apigee.net/edgemicro/bootstrap/organization/docs/environment/test returned 200 OK
    PROCESS PID : 17991
    
  4. בדיקת הסטטוס של המיקרו-שער בחלון טרמינל אחר, לוחצים על cd לאותה ספרייה שבה הפעלתם את Edge Micro ומזינים את הפקודה הבאה:
    edgemicro status
    current nodejs version is v12.5.0
    current edgemicro version is 3.1.0
    edgemicro is running with 8 workers
    

מה קרה?

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

  • המפתח הציבורי שיצרנו ואחסנו בעבר במפת ערכי מפתח מוצפנת (KVM).
  • ייצוג של כל שרתי ה-proxy המתאימים ל-Edge Microgateway שקיימים בארגון או בסביבה. לכל שרתי ה-proxy יש את הקידומת edgemicro_.
  • ייצוג של כל מוצרי ה-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

  1. בחלון טרמינל נפרד, לוחצים על cd אל אותה הספרייה שבה הפעלתם את Edge Microgateway.
  2. מזינים את פקודת העצירה:
    edgemicro stop
    

חלק 4: מיקרו-שער מאובטח

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

קריאות ל-API מאובטח עם אסימון גישה מסוג OAuth2

אם רוצים לאמת קריאות ל-API באמצעות אסימון גישה מסוג OAuth2, יש לפעול לפי השלבים הבאים:

1. משיגים את המפתחות הנדרשים

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

2. קבלת אסימון גישה

יש שתי דרכים לקבל אסימון גישה. נציג לך את שתי השיטות.

שימוש ב-CLI לקבלת אסימון גישה

השיטה הראשונה היא נוחה, לפי הדפוס שבו השתמשנו לאורך המדריך. השיטה השנייה בדרך כלל שימושית יותר למפתחי אפליקציות של לקוחות שצריכים לבקש אסימונים. נקודת הקצה של האסימון בפועל מוטמעת בשרת ה-proxy של edgemicro-auth שנפרס כשהגדרתם את Edge Microgateway.

  1. (אופציונלי) מעיינים בעזרה לגבי הפקודה token get:
    edgemicro token get -h
    
  2. יש ליצור את האסימון ולהחליף את הערכים של מפתח הצרכן וסוד הצרכן מהאפליקציה למפתחים שיצרת ב-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 v12.5.0
    { token: 'eyJ0eXAiOiJKV1QiLCJhbGciSUzI1NiJ9.eyJhcHBsaWNhdGl
    vbl9uYW1lIjoiNWNiMGY0tOWMzOC00YmJjLWIzNzEtZGMxZTQzOGYxZGMxI
    iwiY2xpZW50X2lkIjoiNVVdBWEdvSU9lbzYwYWV3OTRQN0c1TUFaRTNhSnA
    iLCJzY29wZXMiOltdLCJhcGlfcHJvjdF9saXN0IjpbIsVkZ2VNaWNyb1Rlc
    3RQcm9kdWN0IlmlhdCI6MTQ3ODIwODMzMiwiZXhwIjoxNDc4MjEwMTMxfQ.
    v3Q8Rs0W9FO_XpERwIAMMXhjGamRmmmWgrAy1wJv0-99oajx5ASI5qjNubM
    nCF14xxwlVXHcz1VfedA8Nx7Ih145zhWWuPKL9muzhXXnVBRFeBMeeLqJk4
    QQ7Bhst7xH_68nJSTE20Egu95DHOCUemfrepDFH0VggY4BmzvwLkBNfz_te
    E_YqwKZbpGOLMdKK1vMk0fk0x19SieIMS_aJYeOAklrzUhnFxWJFrsAWsax
    NLx_BbQcZzYfK1JSDUrhRNVBuPHMnGjNA_oHw2J4qa6Hsp62PfchG-DIW_t
    -0BFnYf3rYXmqyNORqFrOMdl4VxqQ' }
    

(אופציונלי) שימוש ב-API לקבלת אסימון

אם אתם רגילים להפעיל שרתי proxy של Edge באמצעות curl או באמצעות לקוח HTTP אחר, כדאי לדעת שאתם יכולים לקרוא לנקודת הקצה של האסימון באופן ישיר, במקום להשתמש בפקודה edgemicro ken. הנה דוגמה ל-curl. פשוט מחליפים את שמות הארגון והסביבה בכתובת ה-URL, ומעבירים את הערכים של 'מפתח הצרכן:סוד הצרכן' שמופרדים בנקודתיים בכותרת Basic Authentication:

curl -i -X POST "http://[org]-[env].apigee.net/edgemicro-auth/token" -d '{ "client_id": "your consumer key", "client_secret": "your consumer secret", "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+kf5FH0S0yuj05ITqUODuUJspBPberRMbqOZYHcFsnhB0Yvg6JKWxKWBDP9o
Xl96dtgH7xPFRqIU0zI452jkMQ1fPz2mSaGwik241yfBku7olooXKRKTRKOUoXa
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

  1. פותחים את הקובץ $HOME/.edgemicro/org-env-config.yaml. אם לא הצלחתם לאתר את הקובץ, כדאי לעיין בקטע איפה מותקן Edge Microgateway.
  2. יש לוודא שהמאפיינים של יישומי הפלאגין ל-OAuth מוגדרים כ-false. כברירת מחדל הן שקריות, אבל כדאי לבדוק שוב:
    oauth:
       allowNoAuthorization: false
       allowInvalidAuthorization: false
    
  3. כמו כן, בקובץ org-env-config.yaml, צריך לוודא שהפלאגין oauth נוסף לרכיב plugins:sequence, באופן הבא:
    plugins:
       dir: ../plugins
       sequence:
       - oauth
    
  4. אם מבצעים שינויים בקובץ, צריך לטעון מחדש את השינויים למכונה של 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.PL30Y6uK1W1f2ONPEsBDB_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

  1. בממשק המשתמש של Edge, עוברים לאפליקציה למפתחים שיצרתם קודם לכן. שם האפליקציה היה EdgeMicroTestApp.
  2. מציגים את מפתח הצרכן בדף האפליקציה למפתחים ומעתיקים אותו. הערך הזה הוא מפתח ה-API. המפתח הזה ישמש אתכם לביצוע קריאות מאומתות ל-API.

2. בדיקת ההגדרות ב-Edge Microgateway

  1. אם לא הצלחתם לאתר את הקובץ, פותחים את הקובץ $HOME/.edgemicro/org-env-config.yaml. אם לא מצאתם את הקובץ הזה, כדאי לעיין בקטע היכן מותקן Edge Microgateway.
  2. יש לוודא שהמאפיינים של יישומי הפלאגין ל-OAuth מוגדרים כ-false. הם שקריים כברירת מחדל, אבל אפשר לבדוק שוב אם רוצים:
    oauth:
       allowNoAuthorization: false
       allowInvalidAuthorization: false
    
  3. כמו כן, בקובץ org-env-config.yaml, צריך לוודא שהפלאגין oauth נוסף לרכיב plugins:sequence, באופן הבא:
    plugins:
       dir: ../plugins
       sequence:
       - oauth
        
    
  4. אם מבצעים שינויים בקובץ, צריך לטעון מחדש את השינויים למכונה של 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 701e70ee718ce6dc188016b3c30177d64a88754d615c74e1f78b6181d
    

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: XsU1R4zGXz2ERxd0ilYQ5szwuljr5bB'

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

Part 5: הוספת פלאגין של Spike Arrest

בחלק הזה, נוסיף למכונה של Edge Microgateway תכונה להגבלת קצב שנקראת 'מעצר שיא'.

מהם יישומי פלאגין?

פלאגין הוא מודול של Node.js שמוסיף פונקציונליות ל-Edge Microgateway. המודולים של יישומי הפלאגין פועלים לפי תבנית עקבית והם מאוחסנים במיקום שידוע ל-Edge Microgateway, וכך מאפשרים למיקרו-שער לגלות ולטעון אותם באופן אוטומטי. ניתן לקרוא מידע נוסף על יישומי פלאגין בקטע שימוש ביישומי פלאגין.

הוספת פלאגין של מעצר חד-פעמי

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

ב-Edge Microgateway, מיושם מעצר שיא כמודול פלאגין. כדי להפעיל אותה, צריך להוסיף אותה לקובץ התצורה של Edge Microgateway.

  1. אם לא הצלחת לאתר את הקובץ, פותחים את הקובץ $HOME/.edgemicro/org-env-config.yaml.איפה מותקן Edge Microgateway.
  2. מוסיפים את הרכיב הבא. אפשר להוסיף אותו בכל מקום בקובץ.
       spikearrest:
          timeUnit: minute   
          allow: 10   
          buffersize: 0   
    
  3. צריך להוסיף 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:
        - oauth
        - spikearrest
    
  4. שומרים את קובץ התצורה.
  5. טוענים מחדש את 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
    
  6. מנסים להפעיל את ה-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. כדאי לראות:

  1. עליך להתחבר לארגון שלך ב-Apigee Edge.
  2. בוחרים באפשרות Analytics > ביצועי שרת proxy.
  3. במרכז הבקרה של ביצועי ה-Proxy, בוחרים ב-edgemicro_hello proxy.
  4. התרשים מציג מידע על דפוסי התנועה של שרת ה-proxy, כמו התנועה הכוללת, זמן התגובה הממוצע, זמן היעד הממוצע ועוד.

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