מאפיינים נתמכים

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

אם מגדירים את התוספים כך שיעבירו מאפיינים ספציפיים, אפשר:

  • לקבל החלטות לגבי ניתוב דינמי.
  • להעשיר את כותרות הבקשות במידע על הלקוח.
  • הטמעה של מדיניות אבטחה בהתאמה אישית על סמך המיקום של הלקוח או פרמטרים של TLS.
  • ליצור יומנים מפורטים בהתאמה אישית.

אפשר לציין מאפיינים באמצעות השדה forwardAttributes בקובץ התצורה של YAML לתוספים ולתוספי יתרונות מרכזיים. לדוגמה, במאמר הגדרת תוסף תנועה מוסבר איך להגדיר תוסף תנועה.

מציינים מאפיינים עם forwardAttributes לסוגי התוספים הבאים:

  • תוספי קצה של Cloud Load Balancing (LbEdgeExtension) במאזני עומסים גלובליים חיצוניים של אפליקציות (ALB)
  • תוספי ניתוב ותנועה של Cloud Load Balancing (LbRouteExtension, LbTrafficExtension) במאזני עומסים של אפליקציות (ALB)
  • תוספים שמפנים לבדיקת הרשאות (AuthzExtension) באמצעות ext_proc במאזני עומסים של אפליקציות (ALB)
  • תוספי קצה של Media CDN‏ (CdnEdgeExtension) בשירותי Media CDN Edge Cache

מאפייני הבקשות

אפשר לחלץ ולהעביר את המאפיינים הבאים מבקשות:

מאפיין סוג LbEdge LbRoute LbTraffic Authz CdnEdge תיאור והבדלים בהתנהגות
request.method מחרוזת ✓ ✓ ✓ ✓ ✓ ה-method של בקשת ה-HTTP, כמו GET או POST.
request.host מחרוזת ✓ ✓ ✓ ✓ ✓ שווה ערך ל-request.headers['host'].
request.path מחרוזת ✓ ✓ ✓ ✓ ✓ נתיב כתובת ה-URL מסוג HTTP שנכלל בבקשה.
request.query מחרוזת ✓ ✓ ✓ ✓ ✓ השאילתה של כתובת ה-URL מסוג HTTP בפורמט name1=value&name2=value2.
request.scheme מחרוזת ✓ ✓ ✓ ✓ ✓ סכימת כתובת ה-URL מסוג HTTP‏ (http או https). הערכים הם באותיות קטנות.
request.origin מחרוזת — — ✓ ✓ — הערך של כותרת הבקשה Origin לתרחישי שימוש של שיתוף משאבים בין מקורות (CORS).
request.user_agent_family מחרוזת ✓ — ✓ — — מחרוזת משפחת סוכן המשתמש שנותחה. נתמך רק במאזני עומסים גלובליים חיצוניים של אפליקציות (ALB).
request.device_request_type מחרוזת ✓ — ✓ — — קטגוריית הסיווג של המכשיר. נתמך רק במאזני עומסים גלובליים חיצוניים של אפליקציות (ALB).
request.backend_service_name מחרוזת — — ✓ ✓ — שירות היעד לקצה העורפי. לא רלוונטי לתוספים של Edge (LbEdgeExtension או CdnEdgeExtension).
request.backend_service_project_number int — — ✓ ✓ — מספר הפרויקט של שירות הקצה העורפי ב-VPC המשותף. לא רלוונטי לתוספים של Edge.
request.mcp_method מחרוזת — — — ✓ — שם ה-method של Model Context Protocol‏ (MCP).

מאפייני החיבור

אפשר לחלץ ולהעביר את המאפיינים הבאים מהחיבורים:

מאפיין סוג LbEdge LbRoute LbTraffic Authz CdnEdge תיאור והבדלים בהתנהגות
source.ip מחרוזת ✓ ✓ ✓ ✓ — כתובת ה-IP של הלקוח.
source.port int ✓ ✓ ✓ ✓ ✓ מספר היציאה של מקור הלקוח.
source.client_region מחרוזת ✓ — ✓ — ✓ קוד האזור בן שתי האותיות לפי תקן ISO-3166-1 או CLDR שמשויך לכתובת ה-IP של הלקוח (לדוגמה, US או DE).
source.client_region_subdivision מחרוזת ✓ — ✓ — — קוד חלוקת המשנה של האזור, כמו מדינה (State) או מחוז. נתמך רק במאזני עומסים גלובליים חיצוניים של אפליקציות (ALB).
source.client_city מחרוזת ✓ — ✓ — — העיר שמשויכת לכתובת ה-IP של הלקוח. נתמך רק במאזני עומסים גלובליים חיצוניים של אפליקציות (ALB).
source.client_city_lat_long מחרוזת ✓ — ✓ — — קו הרוחב וקו האורך שמשויכים לעיר של הלקוח. נתמך רק במאזני עומסים גלובליים חיצוניים של אפליקציות (ALB).
destination.ip מחרוזת — — ✓ ✓ — כתובת ה-IP של מאזן העומסים שאליו הלקוח מתחבר.
destination.port int — — ✓ ✓ — מספר היציאה של היעד שאליו הלקוח מתחבר.
connection.client_encrypted bool — — ✓ ✓ — הערך הוא true אם החיבור בין הלקוח למאזן העומסים מוצפן (באמצעות HTTPS,‏ HTTP/2 או HTTP/3). אחרת, הערך הוא false.
connection.protocol מחרוזת — — ✓ ✓ — פרוטוקול ה-HTTP שמשמש לתקשורת (HTTP/1.0,‏ HTTP/1.1,‏ HTTP/2 או HTTP/3).
connection.sni מחרוזת ✓ — ✓ ✓ ✓ ה-Server Name Indication (‏SNI) המבוקש של חיבור ה-TLS במורד הזרם.
connection.tls_version מחרוזת ✓ — ✓ ✓ ✓ גרסת ה-TLS שסוכמה עם הלקוח (TLSv1,‏ TLSv1.1,‏ TLSv1.2,‏ TLSv1.3 או QUIC).
connection.tls_cipher_suite מחרוזת — — ✓ ✓ — סט האלגוריתמים להצפנה (cipher suite) בבסיס הקסדצימלי בן ארבע ספרות, שנקבע במהלך לחיצת היד בפרוטוקול TLS – לדוגמה, 009C.
connection.tls_ja3_fingerprint מחרוזת — — ✓ — — טביעת האצבע של JA3 TLS/SSL אם הלקוח מתחבר באמצעות HTTPS,‏ HTTP/2 או HTTP/3.
connection.tls_ja4_fingerprint מחרוזת ✓ — ✓ — — טביעת האצבע של JA4 TLS/SSL אם הלקוח מתחבר באמצעות HTTPS,‏ HTTP/2 או HTTP/3.
connection.client_rtt_msec int — — ✓ ✓ — זמן הלוך ושוב (RTT) של הלקוח, נמדד באלפיות השנייה.
connection.sha256_peer_certificate_digest מחרוזת ✓ — ✓ ✓ — גיבוב SHA-256 עם קידוד הקסדצימלי של אישור עמית.
connection.client_cert_present bool — — ✓ ✓ — הערך הוא true אם הלקוח סיפק אישור במהלך לחיצת היד בפרוטוקול TLS, אחרת הערך הוא false.
connection.client_cert_chain_verified bool — — ✓ ✓ — הערך הוא true אם שרשרת אישורי הלקוח מאומתת מול TrustStore שהוגדר, אחרת הערך הוא false.
connection.client_cert_error מחרוזת — — ✓ ✓ — מחרוזות מוגדרות מראש שמייצגות תנאי שגיאה של mTLS. מידע נוסף זמין במאמר מצבי אימות לקוח mTLS.
connection.client_cert_serial_number מחרוזת — — ✓ ✓ — המספר הסידורי של אישור הלקוח.
connection.client_cert_spiffe_id מחרוזת — — ✓ ✓ — מזהה ה-SPIFFE מהשדה "שם חלופי של בעלים (subject)" (SAN).
connection.client_cert_uri_sans מחרוזת — — ✓ ✓ — רשימה מופרדת בפסיקים בקידוד Base64 של תוספי URI SAN שחולצו מאישור הלקוח.
connection.client_cert_dnsname_sans מחרוזת — — ✓ ✓ — רשימה מופרדת בפסיקים בקידוד Base64 של תוספי DNSName SAN שחולצו מאישור הלקוח.
connection.client_cert_valid_not_before מחרוזת — — ✓ ✓ — חותמת הזמן (בפורמט RFC 3339) שלפניה אישור הלקוח לא תקף.
connection.client_cert_valid_not_after מחרוזת — — ✓ ✓ — חותמת הזמן (בפורמט RFC 3339) שאחריה אישור הלקוח לא תקף.
connection.client_cert_issuer_dn מחרוזת — — ✓ ✓ — קידוד DER בקידוד Base64 של השדה Issuer של האישור.
connection.client_cert_subject_dn מחרוזת — — ✓ ✓ — קידוד DER בקידוד Base64 של השדה Subject של האישור.
connection.client_cert_leaf מחרוזת — — ✓ ✓ — אישור הקצה של הלקוח בקידוד Base64 לחיבור mTLS מאומת (RFC 9440).
connection.client_cert_chain מחרוזת — — ✓ ✓ — שרשרת אישורי הלקוח, מופרדת בפסיקים ומקודדת ב-Base64, בסדר TLS סטנדרטי, לא כולל אישור הקצה (RFC 9440).

מגבלות

  • זמינות המאפיינים: לא כל המאפיינים נתמכים בכל סוגי התוספים. מידע נוסף מופיע בטבלה שבדף הזה.

  • הגדרה נדרשת: כדי לשלוח מאפיינים לתוסף, צריך לציין במפורש את המאפיינים בשדה forwardAttributes בהגדרות התוסף. אם לא תציינו מאפיין בשדה הזה, מאזן העומסים או Media CDN לא יעבירו את המאפיין הספציפי הזה לתוסף.

  • מגבלות גודל: אפשר להגדיר עד 16 מאפיינים לתוסף אחד.

  • מאפייני mTLS: מאפייני אישור הלקוח (connection.client_cert_*) מאוכלסים בנתונים שמועברים לתוסף רק אם הפעלתם את mTLS והלקוח מציג אישור.