גישה לפרטי חיבור TLS ב-proxy ל-API

הדף הזה רלוונטי ל-Apigee ול-Apigee Hybrid.

לעיון במסמכי התיעוד של Apigee Edge

במאמר הזה מוסבר איך לגשת למידע על חיבור TLS במשתני זרימה של proxy ל-API שפועל ב-Apigee או ב-Apigee Hybrid.

תיעוד פרטי חיבור TLS

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

סוג המידע של TLS שמתועד על ידי Apigee תלוי בהגדרות של Ingress: האם הוא מוגדר לתמיכה ב-TLS חד-כיווני או דו-כיווני (רלוונטי רק ל-Apigee Hybrid). לדוגמה, ב-TLS חד-כיווני, Apigee יכול לתעד מידע על הצפנת ה-TLS או על פרוטוקול ה-TLS שנעשה בהם שימוש בחיבור ה-TLS.

ב-TLS דו-כיווני, Apigee יכול לתעד את כל המידע שמתועד ב-TLS חד-כיווני, וגם לתעד מידע על האישור של הלקוח. לדוגמה, Apigee יכול לתעד את טביעת האצבע של אישור הלקוח בפורמט SHA1 ואת אישור הלקוח בפורמט PEM.

תיעוד מידע על TLS חד-כיווני ודו-כיווני

בטבלה הבאה מפורטים משתני הזרימה שמכילים פרטי חיבור TLS שנתפסו על ידי Apigee ו-Apigee Hybrid, וזמינים לגישה ב-proxy ל-API.

משתנה של זרימת נתונים תיאור
tls.cipher ההצפנה שבה נעשה שימוש בחיבור TLS.
tls.protocol הפרוטוקול שבו נעשה שימוש בחיבור TLS.
tls.server.name שם השרת המבוקש של SNI.
tls.session.id מזהה הסשן.

תיעוד מידע נוסף על TLS במהלך TLS דו-כיווני

בטבלה הבאה מפורטים משתני ה-Flow שמכילים פרטים של אישור לקוח שנתפסו על ידי Apigee Hybrid ב-TLS דו-כיווני:

משתנה של זרימת נתונים תיאור
tls.client.s.dn השם המובחן (DN) של אישור הלקוח.
tls.client.i.dn השם המובחן (DN) של מנפיק אישור הלקוח.
tls.client.raw.cert אישור הלקוח בפורמט PEM.
tls.client.cert.serial המספר הסידורי של אישור הלקוח.
tls.client.cert.fingerprint טביעת האצבע מסוג SHA1 של אישור הלקוח.
tls.session.id מזהה הסשן.

הגדרת Apigee hybrid להפעלת TLS דו-כיווני

כדי להגדיר את ה-ingress כך שיבקש אישור לקוח, מוסיפים את הפרטים הבאים לקובץ ההחלפות:

virtualhosts:
  - name: internal
    minTLSProtocolVersion: "1.2" #optional
    maxTLSProtocolVersion: "1.2" #optional
    tlsMode: MUTUAL
    sslSecret: tls-certificates

אפשר לעיין גם במאמר בנושא הגדרת TLS ו-mTLS ב-Istio ingress.

גישה למשתני הזרימה ב-proxy ל-API

מתוך proxy ל-API, אפשר לגשת למשתני הזרימה של TLS ולבדוק אותם. לדוגמה, אפשר להשתמש במדיניות AssignMessage או JavaScript כדי לגשת אליהם.

אפשר גם להפנות למשתני התהליך ברכיב <Condition> של תהליך proxy או תהליך יעד, או ברכיב <Step> או <RouteRule>. לדוגמה, אפשר להפנות בקשה ליעדים שונים על סמך המספר הסידורי של הלקוח.

מידע נוסף זמין במאמרים הבאים: