באדריכלות המודרנית של התוכנה, המיקרו-שירותים הפכו לסטנדרט לבניית יישומים מדרגיים, גמישים, ובאופן עצמאי לפרוס יישומים שניתן לפרוס.עם זאת, ניהול עשרות או אפילו מאות ממשקי API של מיקרו-שירות מציג מורכבות משמעותית – בקשות מתאמצות, אכיפת מדיניות אבטחה, הגבלות קצב טיפול והשגת נראות לדפוסי תנועה הם כל האתגרים הקריטיים. Azure Gateway מטפל באתגרים אלה על ידי מתן נקודת כניסה מנוהלת ומקודמת לכל המיקרו-שירותי ה-תחומי ה-AP.

הבנה של Azure API Gateway

Azure API Gateway הוא שירות ענן-native שיושב בין לקוחות לבין ה-microservice backends.It פועל כ Proxy הפוך, מקבל את כל שיחות ה- API, יישום מדיניות מוגדרת (התאמת, תותבות, החלפה, טרנספורמציה), ולקדם בקשות לשירות ה- Azure המתאים. בניגוד לשערים מונוליטיים מסורתיים, Azure Gateway בנוי עבור גמישות - הוא קנה מידה אוטומטי עם תנועה ושילוב עמוק עם Azure, כגון יישומים פעילים אחרים, כגון Azure.

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

תכונות של Azure API Gateway

בקש משיכת וטרנספורמציה

Azure API Gateway מסלולים הבאים בקשות למיקרו-שירותים שונים המבוססים על נתיבי כתובת, Headers, פרמטרים של שאילתה, או תשלום תוכן.You יכול להגדיר מספר החזרים ולהמפה אותם באופן דינמי באמצעות ביטויים מדיניות שער.בנוסף, השער יכול להפוך את הבקשה וחיובי תגובה - לדוגמה, המרת XML ל-JSON, פסים או הוספת כותרות, או כתובות URL לפני שעוברים בקשות ל-Backend זה decoles שירות הפנים.

הכרה ואישור

אבטחה היא תכונה ראשונה ברמה. Azure API Gateway תומך במגוון מנגנוני אימות:

  • (FLT:0)OAuth 2.0 / OpenID ConnectFIRLT:1) - Integrate with Azure AD או כל ספק או-או-או-אוותר כדי לאמת אסימונים לפני קבלת בקשות.
  • (בקיצור:0)API KeysveFLT:1) - הגבלת גישה מהירה ללקוחות המציגים מפתח תקף, שימושי עבור ממשקי API ציבוריים או שותפים.
  • (ב) ,0) ,WT אימות (FLT) 1 - בדוק את החתימה, המובל, הקהל, ואת פיזור אסימוניים המכילים עצמים.
  • (FLT:0) אישורים קלים (FLT:1) תרחישים (mutual TLS), השער יכול לאמת לקוחות באמצעות תעודות.

מדיניות הביטחון הזו משולבת עם ה-FLT:0.15 סינון מסנן 1 ו-FLT:2rate Limiting FLT 3: לחסום תנועה זדונית לפני שהיא מגיעה למיקרו-שירותים שלך.

הגבלת מחירים ו- Quotas

הגבלת הריבית חיונית למניעת שימוש לרעה והבטחת שימוש הוגן בכל הלקוחות. Azure API Gateway מאפשר לך להגדיר את הגבולות של ה-key או לכל שיעור (למשל, 100 בקשות לדקה) ולהגדיר מכסות (למשל, 10,000 שיחות ליום) כאשר גבולות הם מעלים, השער מחזיר HTTP 429 (יותר מדי בקשות) ללא השפעה על שירותי הגב שלך.

גילוח for Performance

כדי להפחית עומס לאחור ולשפר את זמני התגובה, Azure API Gateway תומך ב-Cching התגובה.You יכול להגדיר משך כאב לפעולה. Cache ערכים מאוחסנים ב- cache מבוזר המשותף במקרים של שער, כך גם במהלך אירועים בקנה מידה, התשובות נשארות זמינות.

Analytics ו- Monitoring

כל בקשה שזזת דרך השער מתפרסם. Azure API Gateway משלבת עם Azure Monitor ו- Application Insights כדי לספק מדדים מפורטים (בקשות לשנייה, עצלות, שיעורי שגיאה, בקשות מכווצות) ולוגים לביקורת.You יכול להגדיר התראות עבור anomalies, כגון עלייה פתאומית של 500 שגיאות או עלייה של תנועה ממוקדת נקודת קצה מסוימת.

ניהול ממשקי API של Microservice עם Azure API Gateway

ניהול מרכזי הוא אחד הטיעונים החזקים ביותר לשימוש שער API. Azure API Gateway מספק לוח נתונים מאוחד בתוך פורטל Azure שבו אתה יכול:

  • הגדרות API Define (בתבנית OpenAPI/Swagger) ובאופן אוטומטי יוצרות מדיניות.
  • קבוצות קשורות API למוצרים עם ממריצים גישה נפרדים (חינם, פרימיום וכו ').
  • גירסאות של ה- API שלך מבלי לשבור לקוחות קיימים.
  • החל מדיניות ברמות מרובות -גלובל, מוצר, API ומבצע - לשליטה עתירה.

עבור תשתיות-as-code, באפשרותך להגדיר שערי, APIs, ומדיניות באמצעות תבניות Azure Resource Manager, Bicep או Terraform. זה מאפשר צינורות CI /CD לפרוס שינויים API באופן אוטומטי, הבטחת עקביות סביבות.

עקבו אחרי Azure API Gateway

אבטחה היא דאגה רב שכבתית. Azure API Gateway עוזר לאכוף את העיקרון של הגנה לעומק על המערכת:

אימות וקידוד אימות

על ידי אימות אווותר 2.0 אסימונים (כניסה אסימונים מ- Azure AD או STS מותאם אישית בשער, מיקרו-שירותים עצמם כבר לא צריכים לפענח ולאמת אסימונים.זה מקטין קוד רותח ומטם ביקורת אבטחה.השער יכול גם לדחות אסימונים פגם או לא חוקיים לפני הבקשה מגיעה חזרה.

הגנת איומים

Azure API Gateway יכול להשתלב עם Azure Web Application Firewall (WAF) כאשר הם פרוסים מאחורי Azure Front Door או Application Gateway.The WAF חוסם התקפות בסגנון OWASP (הזרקה של SQL, XSS) לפני שהם מגיעים לשער ה- API.בנוסף, השער עצמו יכול לאכוף מדיניות הדורשת מנגנונים, להגביל את אורך התוכן, ולעצור מטענים ממות.

IP ואבטחת רשת

אתה יכול להגביל את התנועה לכתובות IP ספציפיות או טווחים.עבור מיקרו-שירותים פנימיים, את השער ניתן להגדיר רק לקבל שיחות מתוך רשת וירטואלית (VNet), למנוע חשיפה לאינטרנט הציבורי. בשילוב עם נקודות קצה פרטיות, אתה יכול לשמור על כל התנועה חזרה בתוך עמוד השדרה של Azure.

מדיניות ביטויים לאבטחת מכס

ביטויי מדיניות מאפשרים לך לכתוב קוד דמוי C# שבוד ראשים, מחרוזת שאילתה, או תוכן גוף ומקבל החלטות.לדוגמה, אתה יכול לבדוק מנהל מותאם אישית ולהחזיר 401 אם הוא חסר, או לאמת חתימה HMAC עבור יושרה בקשה. גמישות זו מבטיחה שאתה יכול ליישם כמעט כל דרישה ביטחונית ללא עזיבתו את השער.

ביצועים ו Scaling

● Azure API Gateway נועד להתמודד עם תפוקה גבוהה.המאזניים מבוססים באופן אוטומטי על מספר הבקשות והניצול CPU.יש שני טיים: FLT:0DeveloperphphFLT:1 (לבדיקה והערכה) ו- (FLT:2PremiumFLT 3: 3 (לייצור עם SLA, הגדרות API בלתי מוגבלות, ושילוב וירטואלי).

כדי לבצע אופטימיזציה נוספת:

  • (ב) ,0) ,"התב"ה" (ב) על מנת לקרוא את ה- API האומללים כדי להפחית את שיחות ה-Reend.
  • (ב) ,0) ,Use backend PoolsFLT:1hil עם איזון עומס כדי להפיץ תנועה על פני מספר מקרים.
  • (ב) באמצעות מדיניות למניעת תקלות.
  • (ב) ויקרא י"א: ויקרא י"ד: "וַיְּבְתָּבְתָּבְתִּי עַל עַמֶּה" (בראשית כ"ד).

ניטור וניתוח

עם שילוב מובנה של Azure Monitor, אתה מקבל נתונים בזמן אמת והיסטוריים על כל שיחה API. השתמש בלוחדיונים כדי לדמיין את ה API העליון על ידי שימוש, שיעורי שגיאה, וזמני תגובה. Set התראות עבור סףים קריטיים - לדוגמה, כאשר p95 לייט עולה על 2 שניות או כאשר שיעור השגיאה 4X.השער גם מתפרסם נתונים מפורטים של אירוע ב- Analytics, המאפשר ניתוח מעמיק לאחר תקרית.

Best Practices for Azure API Gateway

  • (ב) [ה]ה- API של עיצוב עם השער בראש LT:1] - השתמש בדפוסי כתובת ותכניות גרסה עקביות (למשל, FLT:0).
  • (FLT:0) לשמור על מדיניות שער פשוטה FLT:1 - להימנע מרשתות מורכבות מדיניות המשפיעות על הגינות.
  • (FLT:0) שערי שיתוף עם Azure Front DoorveFLT:1) - עבור הפצה גלובלית, גאו-ונדונדנסיה והגנה על WAF, מציב את הדלת הקדמית של Azure לפני שער ה- API.
  • (FLT:0) פריסות אוטומטי (Automate פריסותFLT:1) - השתמש בתשתיות - כקוד לגרסה וליישם באופן עקבי הגדרות שער.
  • (ב) ,0) מנויים ומגבלות ריבית 1 (FLT: אפילו עבור ממשקי API פנימיים, חלים על מנת לזהות תנועה חריגה משירות שנפגע.
  • (FLT:0) לוגי אבחון בעלי ערך מוסף 1 (איור 1) - יומני אוניות ל Log Analytics ולחבר עם Azure Sentinel for Security אודיטינג.

מסקנה

Azure API Gateway מספק נקודת כניסה חזקה, מדרגית ומאובטחת עבור ממשקי API של microservice.It מקטין את הנטל על שירותים בודדים על ידי מרכזי נקיטת חששות כגון אימות, הגבלת קצב, צ'ינג, ו ניטור. על ידי שילוב עם מערכת האקולוגית של Azure, צוותים יכולים להשיג ביצועים גבוהים, חשיפה עמוקה ופשטות תפעולית.

לקריאה נוספת:

  • (ב) ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇
  • (ב) ויקרא י"ד: ויקרא י"ד
  • (ב) [המרכז לאדריכלות האזורית]:0 [ה]
  • (FLT:0) הגבלת הגבלת ניהול API של Azure:1
  • (ב) ,0) ,Threat Modeling with Azure (Microsoft Docsib)