אבטחה אחרונה

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

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

בהמשך מפורטות האפשרויות העיקריות להגדרת אבטחה ברמת הרגע האחרון:

  • TLS (אבטחת שכבת התעבורה)/SSL של הלקוח
  • אימות יוצא
  • מודול tls של Node.js

TLS (אבטחת שכבת התעבורה)/SSL של הלקוח

המנגנון הראשי לאבטחת ה-Last mile הוא TLS (אבטחת שכבת התעבורה)/SSL של הלקוח, שנקרא גם 'אימות הדדי'.

למידע נוסף, אפשר לקרוא את המאמר בנושא הגדרת TLS מ-Edge (לקצה העורפי (ענן וענן פרטי).

אימות יוצא

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

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

מפתח API

ניתן להחיל מפתחות API על בקשות יוצאות משרתי proxy של API לשירותים לקצה העורפי. ההנחה היא שהשירות לקצה העורפי הוא API שיכול להנפיק מפתחות API ולאמת אותם.

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

אפשר להשתמש בסוג המדיניות assignMessage כדי להוסיף את מפתח ה-API ככותרת HTTP, כפרמטר של שאילתה או כרכיב מטען ייעודי (payload) לבקשה היוצאת. כדאי לקרוא את המאמר הקצאת מדיניות בנושא הודעות.

פרטי הכניסה של לקוח OAuth

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

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

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

אפשר לשנות את הדוגמה הזו כדי להפעיל את נקודת הקצה של האסימון כדי לקבל אסימון גישה. בדוגמה הזו נעשה שימוש ב-JavaScript כדי לצרף את האסימון לבקשה היוצאת ככותרת HTTP Authorization. אפשר להשתמש גם בהקצאת מדיניות ההודעות למטרה הזו.

SAML

ניתן להשתמש בסוג המדיניות GenerateSAMLAssertion כדי לצרף טענת נכוֹנוּת (assertion) של SAML להודעת בקשת XML יוצאת, משרת ה-proxy של ה-API לשירות לקצה העורפי. כך השירות לקצה העורפי יכול לבצע אימות והרשאה בבקשות שמתקבלות משרתי proxy של API.

כדאי לעיין במדיניות לטענת נכוֹנוּת (assertion) של SAML.

Node.js

אם יעד ה-API שלך הוא אפליקציית Node.js, אפשר להשתמש במודול tls של Node.js כדי ליצור חיבורים מאובטחים לקצה העורפי. שליחת בקשות יוצאות עם המודול tls זהה לאופן הפעולה הרגיל ב-Node.js. בעיקרון, צריך להוסיף מפתחות ואישורים בצד הלקוח (קובצי .pem) לספריית המשאבים/הצמתים ולטעון אותם בתוך הסקריפט. לקבלת מידע על השימוש במודול tls ועל השיטות שלו, עיינו בתיעוד של מודול Node.js tls. אפשר לקרוא מידע נוסף במאמר הסבר על התמיכה של Edge למודולים של Node.js.