אתם צופים במסמכי העזרה של Apigee Edge.
כניסה למסמכי העזרה של Apigee X. info
אבטחה בקצה האחרון מגינה על שירותי הקצה העורפי שמנוהלים על ידי שרת proxy של שירותי API. המטרה העיקרית של אבטחה בקצה האחרון היא למנוע התקפות שנקראות 'התקפות צד נגדי', שבהן מפתח אפליקציה מגלה את כתובת ה-URL של שירות לקצה עורפי ומתעלם מכל שרת proxy של API כדי להגיע ישירות לכתובת ה-URL של הקצה העורפי.
ריכזנו כאן את האפשרויות העיקריות להגדרת אבטחה בקצה העורפי:
- TLS/SSL של לקוח
- אימות של הודעות יוצאות
- מודול tls של Node.js
TLS/SSL של לקוח
המנגנון העיקרי לאבטחת הקצה האחרון הוא TLS/SSL של לקוח, שנקרא גם 'אימות הדדי'.
מידע נוסף זמין במאמר הגדרת TLS מ-Edge לקצה העורפי (Cloud וענן פרטי).
אימות של הודעות יוצאות
אפשר לאכוף את האבטחה בקצה האחרון גם על ידי דרישה ששרת ה-proxy של ה-API יציג פרטי כניסה לשירות לקצה העורפי.
לדוגמה, יכול להיות שתרצו ששרת proxy של API יציג מפתח API לשירות הקצה העורפי. אפשר גם להגדיר ששרת proxy של API יקבל ויציג אסימון גישה של פרטי כניסה של לקוח OAuth.
מפתח API
אפשר להחיל מפתחות API על בקשות יוצאות משרתי proxy ל-API לשירותי קצה עורפי. ההנחה היא ששירות הקצה העורפי הוא ממשק API שיכול להנפיק ולתקף מפתחות API.
אם מגדירים שרת proxy ל-API כדי להציג מפתח API בבקשות יוצאות, צריך לאחסן את מפתח ה-API במקום שבו שרת ה-proxy ל-API יוכל לאחזר אותו במהלך זמן הריצה. מיקום אחד שזמין לאחסון מפתחות API הוא מפה עם מפתח/ערך. המדיניות בנושא פעולות במפות של מפתחות וערכים
אפשר להשתמש בסוג המדיניות AssignMessage כדי להוסיף את מפתח ה-API לבקשת היוצאת ככותרת HTTP, כפרמטר של שאילתה או כרכיב של מטען ייעודי (payload). המדיניות בנושא הקצאת הודעות
פרטי הכניסה של לקוח ה-OAuth
אפשר להשתמש בפרטי הכניסה של לקוח OAuth כדי להוסיף שכבת ביטול למפתחות API. אם שירותי הקצה העורפי תומכים בפרטי כניסה של לקוח OAuth, אפשר להגדיר שרת proxy ל-API שיציג אסימון גישה לפרטי כניסה של לקוח לכל בקשה.
שרת ה-proxy של ה-API צריך להיות מוגדר לבצע קריאה חוזרת כדי לקבל את טוקן הגישה מנקודת הקצה של האסימון. שרת ה-proxy של ה-API נדרש גם לשמור את אסימון הגישה במטמון, כדי למנוע ממנו לקבל אסימון גישה חדש לכל קריאה.
יש כמה גישות להטמעת פרטי כניסה של לקוח יוצא.
אפשר לשנות את הדוגמה הזו כדי לבצע קריאה לנקודת הקצה של האסימון כדי לקבל אסימון גישה. בדוגמה הזו נעשה שימוש ב-JavaScript כדי לצרף את האסימון לבקשה היוצאת ככותרת הרשאה של HTTP. אפשר גם להשתמש בהקצאת מדיניות הודעות למטרה הזו.
SAML
אפשר להשתמש בסוג המדיניות GenerateSAMLAssertion כדי לצרף טענת נכוֹנוּת (assertion) של SAML להודעת בקשה יוצאת בפורמט XML, מהשרת proxy של ה-API לשירות לקצה העורפי. כך שירות הקצה העורפי יכול לבצע אימות והרשאה לבקשות שמתקבלות משרתי proxy של API.
מדיניות בנושא טענות נכוֹנוּת (assertions) של SAML
Node.js
אם היעד של שרת ה-proxy ל-API הוא אפליקציית Node.js, תוכלו להשתמש במודול tls
של Node.js כדי ליצור חיבורים מאובטחים לשירותי הקצה העורפי. שולחים בקשות יוצאות באמצעות המודול tls
באותו אופן שבו שולחים אותן ב-Node.js. בעיקרון, צריך להוסיף מפתחות ואישורים מצד הלקוח (קבצי .pem) לספרייה resources/node ולטעון אותם בתוך הסקריפט. מידע על השימוש במודול tls
ובשיטות שלו זמין במסמכי העזרה של מודול ה-tls ב-Node.js. למידע נוסף, ראו הסבר על התמיכה של Edge במודולים של Node.js.