התוספים של Service Extensions מאפשרים לתוספים של Secure Web Proxy לשלוח קריאות לשירותי הרשאה כדי להוסיף עיבוד מותאם אישית לנתיב העיבוד של התנועה. בדף הזה מוסבר איך להגדיר תוספים של Secure Web Proxy באמצעות כללי מדיניות הרשאות.
תוספי Secure Web Proxy מוגדרים עם מדיניות הרשאה לבקשות ולתוכן כתוספי הרשאה. תוספים שמבוססים על מדיניות הרשאות לבקשות מוגדרים לפעול לפני תוספים שמבוססים על מדיניות הרשאות לתוכן.
מידע על אופן הפעולה של תוספי Secure Web Proxy זמין במאמר סקירה כללית על תוספי Secure Web Proxy.
מידע על המגבלות שקשורות לתוספי הרשאות זמין בדף מכסות ומגבלות.
לפני שמתחילים
יוצרים, מגדירים ופורסים מופע של Secure Web Proxy בשם
swp-instance1במיקום שבו רוצים להשתמש בתוסף – למשל,us-west1.צריך לפרוס את ה-proxy עם מדיניות אבטחה של שער שבה מופעלת בדיקה של Transport Layer Security (TLS).
מגדירים את שירותי הדוגמה הבאים:
שירות הרשאות שישמש להגדרת תוסף למדיניות הרשאות לבקשות. בדוגמה הזו, נניח שה-FQDN הוא
request-authz.com.שירות לניקוי נתונים שמשמש להגדרת תוסף למדיניות הרשאות לתוכן. בדוגמה הזו, נניח שה-FQDN הוא
content-sdp.com.
תוספים של Secure Web Proxy יכולים לטרגט רק שמות דומיין שמוגדרים במלואם (FQDN). כשמשתמשים ביעדי FQDN לתוספים, מישור הנתונים משתמש בפרוטוקול HTTP2 עם הצפנת TLS כדי לתקשר עם נקודות הקצה ביציאה 443. עם זאת, מישור הנתונים לא מאמת את אישור השרת. מטעמי אבטחה, חשוב לוודא שנקודות הקצה שנפתרו נמצאות ב-VPC.
הגדרת תוסף למדיניות הרשאות לבקשות
בדוגמה הבאה מוצג אופן ההגדרה של תוסף הרשאות שמחיל מדיניות הרשאות לבקשות על מופע Secure Web Proxy ב-us-west1. המדיניות דורשת שהתנועה תעבור אימות TLS בו-זמני (mTLS) ממנהל ראשי ספציפי לפני שתורשה להגיע ליעד, example.com/mcp.
gcloud
מגדירים את תוסף ההרשאות.
מגדירים את התוסף בקובץ YAML שמקשר את התוסף אל
request-authz.com. משתמשים בערכים לדוגמה שצוינו.cat >swp-request-authz-extension.yaml <<EOF name: my-swp-request-authz-ext authority: ext11.com loadBalancingScheme: INTERNAL_MANAGED service: "request-authz.com" forwardHeaders: - Authorization failOpen: false timeout: "0.1s" wireFormat: EXT_AUTHZ_GRPC EOFתוספים של Secure Web Proxy הם משאבים אזוריים, והם צריכים להיות באותו אזור כמו מופע Secure Web Proxy.
במדיניות הרשאות לבקשות, הערך של
wireFormatיכול להיותEXT_AUTHZ_GRPC, כך שההפניה החיצונית תשתמש בפרוטוקולext_authz, למרות שגם פרוטוקולext_procנתמך.כברירת מחדל,
failOpenמוגדר כ-false. אם חלף הזמן הקצוב לתגובה של התוסף או שהוא נכשל, עיבוד הבקשה נפסק. אפשרות ברירת המחדל הזו מועדפת כשנותנים עדיפות לאבטחה או לשלמות על פני זמינות.מייבאים את תוסף ההרשאה. משתמשים ב
gcloud beta service-extensions authz-extensions importעם ערכי הדוגמה הבאים.gcloud beta service-extensions authz-extensions import my-swp-request-authz-ext \ --source=swp-request-authz-extension.yaml \ --location=us-west1
באותו פרויקט, מגדירים מדיניות הרשאות עם התוסף.
לכל בקשה אל
example.com/mcp, המדיניות דורשת אימות TLS הדדי מחשבון משתמש ספציפי, ומעבירה את החלטת ההרשאה אל תוסף ההרשאות,my-swp-authz-request-ext.מגדירים מדיניות הרשאה שמקשרת את התוסף
my-swp-authz-request-extלשרת ה-proxy של Secure Web Proxy, swp-instance1. משתמשים בערכים לדוגמה שצוינו.cat >swp-request-authz-policy.yaml <<EOF name: my-swp-request-authz-policy target: resources: - "projects/PROJECT_ID/locations/us-west1/gateways/swp-instance1" policyProfile: REQUEST_AUTHZ httpRules: - to: operations: - hosts: - exact: "example.com" - paths: - prefix: "/mcp" from: sources: - principals: - principal_selector: CLIENT_CERT_DNS_NAME_SANS principal: exact: "spiffe://p.global.123.workload.id.goog/ns/ns1/sa/hellomcp" action: CUSTOM customProvider: authzExtension: resources: - "projects/PROJECT_ID/locations/us-west1/authzExtensions/my-swp-request-authz-ext" EOFמחליפים את
PROJECT_IDבמזהה הפרויקט.במדיניות הרשאות לבקשות, הערך של
policyProfileחייב להיותREQUEST_AUTHZ.הפעולה
CUSTOMמציינת שתוסף משויך לשרת ה-proxy.מידע נוסף על משאב של מדיניות הרשאות מופיע ב
authzPolicyמאמרי העזרה.מייבאים את מדיניות ההרשאות לפרויקט. משתמשים ב
gcloud beta network-security authz-policies importפקודה עם הערכים לדוגמה הבאים.gcloud beta network-security authz-policies import my-swp-request-authz-policy \ --source=swp-request-authz-policy.yaml \ --location=us-west1
הגדרת תוסף למדיניות הרשאות גישה לתוכן
בדוגמה הבאה מוצג אופן ההגדרה של תוסף הרשאות שמחיל מדיניות הרשאות לתוכן על מופע Secure Web Proxy ב-us-west1. המדיניות מחייבת ששירות לניקוי תוכן יבצע בדיקה מעמיקה של נתוני הבקשות באפליקציה כדי לאשר או לדחות בקשות, או לשנות את הבקשות והתגובות לפי הצורך.
gcloud
מגדירים את תוסף ההרשאות.
מגדירים את התוסף בקובץ YAML שמקשר את התוסף אל
content-sdp.com. משתמשים בערכים לדוגמה שצוינו.cat >swp-authz-content-extension.yaml <<EOF name: my-swp-content-authz-ext authority: ext11.com loadBalancingScheme: INTERNAL_MANAGED service: "content-sdp.com" failOpen: false timeout: "0.1s" EOFבמדיניות הרשאת תוכן, הערך של
policyProfileצריך להיותCONTENT_AUTHZ.במדיניות
CONTENT_AUTHZ, לא צריך להגדיר את הערךwireFormatבמפורש כ-EXT_PROC_GRPC. כברירת מחדל, הבועה משתמשת בפרוטוקולext_proc.מייבאים את תוסף ההרשאה. משתמשים ב
gcloud beta service-extensions authz-extensions importעם ערכי הדוגמה הבאים.gcloud beta service-extensions authz-extensions import my-swp-content-authz-ext \ --source=swp-content-authz-extension.yaml \ --location=us-west1
הגדרת מדיניות הרשאות באמצעות התוסף.
מגדירים מדיניות הרשאות שמקשרת את התוסף
my-swp-content-authz-extלשרת ה-proxy של Secure Web Proxy,swp-instance1. משתמשים בערכים לדוגמה שצוינו.cat >swp-content-authz-policy.yaml <<EOF name: my-swp-content-authz-policy target: resources: - "projects/PROJECT_ID/locations/us-west1/gateways/swp-instance1" policyProfile: CONTENT_AUTHZ httpRules: - to: operations: - hosts: - exact: "example.com" - paths: - prefix: "/sensitive-stuff" action: CUSTOM customProvider: authzExtension: resources: - "projects/PROJECT_ID/locations/us-west1/authzExtensions/my-swp-content-authz-ext" EOFבמדיניות הרשאת גישה לתוכן, הערך של
policyProfileמוגדר כ-CONTENT_AUTHZ. הערך הזה מציין שספק המדיניות המותאמת אישית מעבד את התנועה של הבקשות והתגובות, כולל עיבוד הגוף.מייבאים את מדיניות ההרשאות לפרויקט. משתמשים ב
gcloud beta network-security authz-policies importפקודה עם הערכים לדוגמה הבאים.gcloud beta network-security authz-policies import my-swp-content-authz-policy \ --source=swp-content-authz-policy.yaml \ --location=us-west1
המגבלות של תוספי Secure Web Proxy
בקטעים הבאים מפורטות המגבלות של תוספי Secure Web Proxy:
מידע על מגבלות שחלות על כל התוספים זמין במאמר מגבלות על תוספים.
מידע על מגבלות שחלות על יתרונות מרכזיים מופיע במאמר מגבלות של יתרונות מרכזיים.
המאמרים הבאים
- אפשר לראות דוגמאות של שרתים ב-Python וב-Go במאגר GitHub של Service Extensions.
ext_proc - ניהול תוספים