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

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

Edge Microgateway v. 3.2.x

סקירה כללית

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

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

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

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

חלק 1: הגדרת Edge מיקרוגייט

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

שלבי ההגדרה של Cloud ב-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 configure -h
    
  4. מריצים את הפקודה הבאה כדי להגדיר את Edge Microgateway:
    edgemicro configure -o [org] -e [env] -u [username] 
    

    כאשר:

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

      הערה: הפקודה Configure מאפשרת פרמטרים נוספים. לקבלת תמונה מלאה במאמר הגדרת 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:

  1. מפעילים את Edge Microgateway (צריך לבצע את השלב הזה רק פעם אחת):
    edgemicro init
    
  2. אפשר להדפיס מידע עזרה עבור הפקודה dgemicro private configuration. שלך היא יכולה להדפיס את הנתונים בהתאם לכל פקודה או פקודה של Edge Microgateway CLI.
    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 הוא סביבה בארגון שלך (כמו בדיקה או מוצר).
    • 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 Microgateway בהצלחה.

edgemicro verify -o [org] -e [env] -k [key] -s [secret]

כאשר:

  • org הוא שם הארגון ב-Edge (שם הארגון שלך צריך להיות ארגון) ).
  • env הוא סביבה בארגון (כמו בדיקה או מוצר).
  • key הוא המפתח שהוחזר בעבר על ידי ההגדרה הפקודה.
  • secret הוא המפתח שהוחזר בעבר על ידי ההגדרה הפקודה.

דוגמה

edgemicro verify -o docs -e test -k 93b01fd21d86331459ae52f624ae9aeb13eb94767ce40a4f621d172cdfb7e8e6 -s c8c755be97cf56c21f8b0156d7132afbd03625bbd85dc34ebfefae4f23fbcb3c

מידע על ההגדרה

כל ההגדרות שבוצעו עד עכשיו מאפשרות ל-Edge Microgateway לאתחל את עצמו ב-Apigee קצה. אחרי שהאתחול יצליח, Edge Microgateway מאחזר מטען ייעודי (payload) של את פרטי התצורה מ-Apigee Edge.

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

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

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

חלק 2: יצירת ישויות ב-Apigee Edge

בחלק הזה יוצרים את הישויות הבאות ב-Edge:

  • שרת proxy מבוסס-microgateway – זהו שרת proxy מיוחד ש-Edge Microgateway יכול לגלות בו בזמן ההפעלה. לשרתי proxy שתומכים במיקרו-שער יש מוסכמה למתן שמות שצריך לפעול לפיה: השם צריך להיות עם edgemicro_. לדוגמה edgemicro_hello או edgemicro_userinfo. כש-Edge Microgateway מתחיל, הוא מאחזר מ-Edge רשימה של שרתי proxy שתומכים במיקרו-שער מאותו ארגון וסביבה של Edge שציינתם כשהפעלתם את Edge Microgateway.

    לכל שרת proxy שתומך ב-microgateway, Edge Microgatway מאחזר את כתובת היעד של שרת ה-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 API ב-Edge

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

2. יצירת מוצר

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

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

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

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

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

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

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

חלק 3: הפעלת Microgateway של Edge

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

1. התחלת Microsoft Edge Microgateway

כדי להפעיל את Edge, משתמשים בפקודה dgemicro start. מיקרו-שער.

  1. חשוב לוודא שיש ברשותך את המפתחות שהוחזרו כשהפעלת את Endmicro הגדרה. הפלט הזה נראה בערך כך:
    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 הוא סביבה בארגון (כמו בדיקה או מוצר).
    • key הוא המפתח שהוחזר בעבר על ידי ההגדרה הפקודה.
    • secret הוא המפתח שהוחזר בעבר על ידי ההגדרה הפקודה.

    דוגמה

    edgemicro start -o docs -e test -k 701e70e718ce6dc1880616b3c39177d64a88754d615c7a4e1f78b6181d000723 -s 05c14356e42d136b83dd135cf8a18531ff52d7299134677e30ef4e34ab0cc824
    

    פלט

    פקודת ההתחלה מאחזרת הרבה פרטי תצורה מ-Apigee Edge ( גולל לחלון הטרמינל. בפלט תופיע רשימה של גורמים תוך התייחסות ל-microgateway שרתי proxy ומוצרים שהתגלו. בסוף הפלט אתם אמורים לראות משהו כך:

    ...
    
    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
    

מה קרה?

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

  • המפתח הציבורי שיצרנו ואחסנו בעבר במפת ערכי מפתחות מוצפנת (KVM).
  • ייצוג של כל שרתי ה-proxy שתומכים ב-Edge Microgateway שקיימים של הארגון/סביבה. כל שרתי ה-proxy האלה בעלי שם edgemicro_.
  • ייצוג של כל מוצרי ה-API שקיימים של הארגון/סביבה.

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

2. Microsoft Edge Microgateway

כש-Edge Microgateway פועל, אפשר להתקשר לשרת ה-Proxy. התצורה של בוצעה הורדה של שרת ה-proxy edgemicro_hello מ-Edge כשהפעלתם את Edge מיקרו-שער. חשוב לזכור, הנתיב Basepath של שרת ה-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. Microsoft Edge Microgateway

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

חלק 4: Secure Edge מיקרוגייט

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

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

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

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

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

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

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

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

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

  1. (אופציונלי) הצגת עזרה לגבי הפקודה token get:
    edgemicro token get -h
    
  2. ליצור את האסימון, ולהחליף את הערכים של מפתח הצרכן וסוד הצרכן יצרת אפליקציית מפתחים ב-Apigee Edge בשפות -i ו- -s :
    edgemicro token get -o [org] -e [env] -i [consumer_key] -s [consumer_secret]
    

    כאשר:

    • org הוא שם הארגון ב-Edge (שם הארגון שלך צריך להיות ארגון) ).
    • env הוא סביבה בארגון (כמו בדיקה או מוצר).
    • 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 אחר, יכול להיות שכדאי לך אפשר לקרוא לנקודת הקצה של האסימון באופן ישיר, במקום להשתמש ב-dgemicro הפקודה 'אסימון'. הנה דוגמה ל-curl. פשוט מחליפים את שמות הארגון והסביבה את כתובת האתר, ומעבירים את הערכים המופרדים בנקודתיים של 'מפתח צרכן': הערכים של 'סוד צרכן' בקובץ כותרת האימות:

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 הוא סביבה בארגון (כמו בדיקה או מוצר).
  • client_id הוא מזהה הצרכן באפליקציית המפתח שיצרת בעבר.
  • client_secret הוא סוד הצרכן באפליקציית המפתח שלך שנוצר בעבר.

פלט (דוגמה)

הפקודה, האם השתמשתם בפקודת אסימון מיקרו-קצה ב-CLI או בשם נקודת קצה באמצעות 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 הוא סביבה בארגון (כמו בדיקה או מוצר).
    • 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 מחזיר כותרות ומידע אחר משרת ה-mock.

אבטחת ה-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 הוא סביבה בארגון (כמו בדיקה או מוצר).
    • 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.

חלק 5: הוספת מעצרת שיא יישומי פלאגין

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

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

פלאגין הוא מודול 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 הוא סביבה בארגון (כמו בדיקה או מוצר).
    • key הוא המפתח שהוחזר בעבר על ידי ההגדרה הפקודה.
    • secret הוא המפתח שהוחזר בעבר על ידי להגדיר את הפקודה.

    דוגמה

    edgemicro reload -o docs -e test -k 701e70ee718ce6dc188016b3c39177d64a88754d615c74e1f78b6181d
    
  6. אפשר לנסות לשלוח קריאה ל-API כמה פעמים ברצף במהירות. אחרי השיחה השנייה, Edge Microgateway מחזיר את השגיאה הזו:
    {"message":"SpikeArrest engaged","status":503}
    

הסיבה לכך היא שמעצרת עליות חדות עוזרת להפחית את מספר השיחות שאפשר לבצע ביחידת הזמן שצוינה. במקרה כזה, תוכלו לבצע 10 שיחות בדקה, או אחת מתוך כל 6 שניות.

קרדיט נוסף: הוספת פלאגין המכסה

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

חלק 6: הצגה ניתוח נתונים ב-Apigee Edge

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

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

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