הערות לגבי הגרסה של Apigee Adapter ל-Envoy

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

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

בדף הזה מפורטים נתוני הגרסה של כל תוכנת Apigee Adapter for Envoy משנת 2021 ומגרסאות קודמות.

הערות הגרסה של Adapter for Envoy (משנת 2022 ואילך)

v2.0.4

ב-3 בדצמבר 2021, השקנו את גרסה 2.0.4 של Apigee Adapter ל-Envoy.

תכונות ושיפורים

  • הרשימה של גרסאות Envoy ו-Istio הנתמכות עבור הפקודה samples ב-CLI עודכנה. יש עכשיו תמיכה בגרסאות האלה של דוגמאות:
    • ‫Envoy גרסאות 1.18 עד 1.20
    • גרסאות Istio‏ 1.10 עד 1.12

בעיות שתוקנו

  • נוסף אימות של ערך אפס לטעינת המפתח הפרטי של בלוק PEM כדי למנוע קריסה. (בעיה מספר 360)
  • שגיאות בהרשאת שירותים מרוחקים מתועדות עכשיו ברמת הניפוי באגים. חריג לסיווג הזה הוא שגיאות באחזור טוקנים למפתחות API. במקרה כזה, השגיאות מתועדות ברמת השגיאה כדי שיהיו גלויות גם אם רמת התיעוד של ניפוי הבאגים עבור apigee-remote-service-envoy מושבתת. אפשר לעיין גם במאמר הגדרת רמות תיעוד של שירותים מרוחקים. (בעיה מספר 104)

v2.0.3

ב-21 בספטמבר 2021 פרסמנו את גרסה 2.0.3 של Apigee Adapter ל-Envoy.

בעיות שתוקנו

  • תוקנה בעיה ברישום ביומן של ניתוח נתונים שקשורה לתשובות ישירות. הבעיה התרחשה רק בנסיבות מסוימות. לדוגמה:
    • עבור בקשות שלא נדרש בהן אימות או הרשאה, לא נוצר authContext והמטא-נתונים הדינמיים היו nil, ולכן רשומת יומן הגישה התעלמה מהבקשה.
    • התשובה שנדחתה השתמשה בקוד RPC במקום בקוד HTTP, ולכן הרשומות הוצגו בממשק המשתמש של Apigee כהצלחה.

v2.0.2

ב-7 ביוני 2021, פרסמנו את גרסה 2.0.2 של Apigee Adapter ל-Envoy.

בעיות שתוקנו

  • תוקן מרוץ תהליכים שיכול היה לגרום לשגיאות 403 ולפאניקה כשמצביעים על טווחי הצהרות JWT כ-nil.

v2.0.1

ביום שלישי, 29 באפריל 2021, השקנו את גרסה 2.0.1 של Apigee Adapter ל-Envoy.

בעיות שתוקנו

תכונה תיאור
באג

תוקנה בעיה שגרמה לגרסה v2.0.0 לפעול בצורה לא תקינה כשמשתמשים בה עם Apigee hybrid v1.5.0 או עם Apigee. אם אתם משדרגים את ההתקנה של Apigee hybrid לגרסה 1.5.x, מומלץ לשדרג את המתאם באופן הבא:

  1. שדרוג של Apigee Adapter ל-Envoy לגרסה v2.0.1.
  2. שדרוג Apigee Hybrid לגרסה 1.5.1.

אם אתם משתמשים ב-Apigee, אתם רק צריכים לשדרג את המתאם לגרסה v2.0.1.

v2.0.0

ביום שלישי, 6 באפריל 2021, השקנו את גרסה 2.0.0 של Apigee Adapter ל-Envoy.

תכונות ושיפורים

תכונה תיאור
תמיכה בסביבה מרובת דיירים

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

תמיכה ב-API של Envoy גרסה 3
תמיכה במטא-נתונים של Envoy

‫Envoy 1.16 ואילך מאפשר לשלוח מטא-נתונים ext_authz בלי להשתמש בכותרות. בעזרת השינוי הזה ושינויים קשורים, אנחנו מספקים עכשיו קודי תגובת HTTP טובים יותר לבקשות שנדחו, ואין יותר צורך להתקין מסנן RBAC ב-Envoy. לראות

התכונה הזו נתמכת רק ב-Envoy 1.16 ומעלה וב-Istio 1.9 ומעלה.

בעקבות השינוי הזה, ההגדרה הבאה לא נוספת יותר לקובץ ההגדרות של Envoy ‏ (envoy-config.yaml):

additional_request_headers_to_log:
    - x-apigee-accesstoken
    - x-apigee-api
    - x-apigee-apiproducts
    - x-apigee-application
    - x-apigee-clientid
    - x-apigee-developeremail
    - x-apigee-environment

אם רוצים לצרף כותרות לבקשות במקרה מיוחד, פשוט מגדירים את המאפיין append_metadata_headers:true בקובץ config.yaml של המתאם.

פיצול שרת ה-proxy של remote-token משרת ה-proxy של remote-service

בוצע רפקטורינג של ה-proxy של remote-service לשני proxies נפרדים. בגרסה v2.0.x, ההקצאה תתקין שני שרתי proxy של API: ‏ remote-service ו-remote-token. נקודות הקצה /token ו-/certs הועברו מהפרוקסי remote-service אל remote-token.

השינוי הזה יוצר הפרדה שימושית בין הפונקציות. עכשיו, ה-proxy של remote-service משמש רק לתקשורת פנימית של המתאם, בעוד שה-proxy של remote-token מספק דוגמה לתהליך עבודה של OAuth שאפשר להתאים אישית. לעולם לא נדרוס את ה-proxy המותאם אישית של האסימון המרוחק, גם אם נעשה שימוש בפקודה provision --force-proxy-install.

תמיכה באיסוף נתונים

המתאם תומך עכשיו בהעברת מטא-נתונים של Envoy לתכונה 'לכידת נתונים' של Apigee, ששולחת נתונים שנלכדו במשתנים שאתם מציינים לניתוח נתונים של Apigee לשימוש בדוחות בהתאמה אישית. התכונה הזו מספקת יכולת שדומה למדיניות ללכידת נתונים של Apigee. מידע נוסף על התכונה הזו מפורט במאמר איסוף נתונים לדוחות בהתאמה אישית.

RBAC not required

כפי שצוין קודם בקטע תמיכה במטא-נתונים של Envoy, עכשיו אנחנו דוחים באופן מיידי בקשות לא מורשות בלי לדרוש מסנן RBAC נפרד. מכיוון שלא נעשה שימוש ב-RBAC, הלקוחות יקבלו עכשיו את קודי הסטטוס האלה של HTTP לפי הצורך מהמתאם:

  • ‫401 אין הרשאה
  • ‫403 אסור
  • ‫429 Too Many Requests
  • ‫‎500 Internal Server Error

אם רוצים לאפשר לבקשות לא מורשות להמשיך, אפשר לעשות זאת על ידי הגדרת auth:allow_unauthorized:true בקובץ config.yaml של המתאם.

הכותרות x-apigee-* לא מצורפות יותר כברירת מחדל

כפי שצוין קודם בקטע Envoy metadata support, כותרות x-apigee-* לא מצורפות יותר כברירת מחדל. אם רוצים להוסיף אותם, צריך להגדיר את append_metadata_headers:true בקובץ config.yaml. ההגדרה הזו היא אופציונלית לחלוטין, וצריך להשתמש בה רק כשרוצים להעביר כותרות לשירות היעד במעלה הזרם.

התאמה מותאמת אישית של בקשה לפעולה של מוצר API ב-Apigee

הסמנטיקה של מאפיין ההגדרה api_header נשארת זהה למאפיין target_header הקודם (ברירת המחדל היא עדיין שם המארח של היעד), והתוכן של הכותרת שצוינה עדיין יתאים למאפיין Remote service target של מוצר ה-API או לשדה Source בהגדרה של API Product Operations.

כדי לשנות את ערך הכותרת הזה באמצעות מטא-נתונים של Envoy, אפשר להעביר את רכיב המטא-נתונים apigee_api מ-Envoy למתאם כדי לציין ישירות את יעד השירות המרוחק של מוצר ה-API או את מקור ה-API של פעולת מוצר ה-API. כדי להגדיר, מוסיפים קוד שדומה לקוד הבא לקובץ התצורה של Envoy (שאפשר ליצור באמצעות ה-CLI של המתאם):

typed_per_filter_config:
  envoy.filters.http.ext_authz:
    "@type": type.googleapis.com/envoy.extensions.filters.http.ext_authz.v3.ExtAuthzPerRoute
    check_settings:
      context_extensions:
        apigee_api: httpbin.org
ניתוח הנתונים של בקשות שנדחו מתועד באופן מיידי

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

התמיכה ב-UDCA הוסרה

אין יותר צורך בסטרימינג אל Universal Data Collection Agent ‏ (UDCA) של Apigee ב-Apigee hybrid וב-Apigee לצורך ניתוח נתונים, כי הוא הוחלף בהעלאה ישירה. השינוי הזה פשוט מסיר את התמיכה בגרסה הקודמת של האפשרות הזו.

נוספה תמיכה ב-mTLS ל-Edge for Private Cloud בפקודות CLI של הקצאה/קישורים

משתמשי Apigee Edge for Private Cloud יכולים לספק אישורי TLS בצד הלקוח ואישור בסיס באמצעות ‑‑tls‑cert, ‑‑tls‑key ו-‑‑tls‑ca בהתאמה, כשמבצעים הקצאה או רישום של מוצרים באמצעות CLI.

תמיכה ב-mTLS בין המתאם לבין זמן הריצה של Apigee

אתם יכולים לספק אישורי TLS בצד הלקוח בקטע tenant בקובץ config.yaml של המתאם כדי להשתמש ב-mTLS בין המתאם לבין זמן הריצה של Apigee. השינוי הזה חל על כל פלטפורמות Apigee הנתמכות. הוא גם מאפשר mTLS לניתוח נתונים בפלטפורמת Apigee Edge for Private Cloud. מידע נוסף זמין במאמר בנושא הגדרת mTLS בין המתאם לבין זמן הריצה של Apigee.

בעיות אחרות ותיקונים

  • נפתרה בעיה שבה כמה הגדרות של פעולות עם אותו מקור API שיתפו את אותם מזהים של מכסת אחסון, וגרמו לקונפליקטים בחישוב המכסה. (בעיה מספר 34)
  • תוקנה בעיה שבה פעולות ללא פעלים שצוינו גרמו לדחיית הבקשה (ההתנהגות הצפויה היא לאפשר את כל הפעלים אם לא צוינו פעלים). (בעיה מס' 39)

v1.4.0

ביום רביעי, 16 בדצמבר 2020, השקנו את גרסה 1.4.0 של Apigee Adapter ל-Envoy.

פלטפורמות נתמכות

אנחנו מפרסמים קבצים בינאריים ל-MacOS, ל-Linux ול-Windows.

אנחנו מפרסמים תמונות Docker מ-distroless,‏ Ubuntu ו-Ubuntu עם Boring Crypto של Google.

בגרסה הזו אנחנו תומכים בפלטפורמות הבאות:

  • ‫Apigee Hybrid גרסה 1.3.x,‏ 1.4.x (תאריך ההשקה עדיין לא נקבע), Apigee for Public Cloud,‏ Apigee for Private Cloud ו-Apigee ב-Google Cloud
  • ‫Istio גרסאות 1.5, ‏ 1.6, ‏ 1.7, ‏ 1.8
  • ‫Envoy גרסאות 1.14, ‏ 1.15, ‏ 1.16

תכונות ושיפורים

תכונה תיאור
ה-proxy של remote-service כבר לא דורש שיוך למוצר API שמשתמש ביעדי שירות מרוחקים.

השיוך הזה כבר לא נדרש, ולכן שינינו את הדברים הבאים:

  • מוצר API של שירות מרוחק לא נוצר יותר במהלך הקצאת הרשאות.
  • הפקודה bindings verify ב-CLI כבר לא רלוונטית והיא הוצאה משימוש.
כבר לא נדרש התפקיד 'אדמין ארגוני' ב-Apigee לצורך הקצאת משאבים.

במקום לדרוש הרשאת מנהל חשבון ארגוני להקצאת הרשאות, אפשר עכשיו להשתמש בתפקידי IAM ‏API Creator ו-Deployer. כדי להקצות הרשאות בהצלחה, צריך לתת את שני התפקידים האלה.
(רלוונטי רק ל-Apigee ב-Google Cloud ול-Apigee Hybrid)

בעיות אחרות ותיקונים

  • תוקנה בעיה שבה הקצאה מחדש של Apigee ללא האפשרות --rotate הסתיימה עם שגיאה.
  • ה-CLI של הקצאת ההרשאות קורא עכשיו את פרטי הכניסה של חשבון השירות של Analytics ומשתמש בהם מחדש מקובץ config.yaml נתון (בעיה מספר 133).

v1.3.0

ביום שני, 23 בנובמבר 2020, השקנו את גרסה 1.3.0 של Apigee Adapter ל-Envoy.

פלטפורמות נתמכות

אנחנו מפרסמים קבצים בינאריים ל-MacOS, ל-Linux ול-Windows.

אנחנו מפרסמים תמונות Docker מ-distroless,‏ Ubuntu ו-Ubuntu עם Boring Crypto של Google.

בגרסה הזו אנחנו תומכים בפלטפורמות הבאות:

  • ‫Apigee Hybrid גרסה 1.3.x,‏ 1.4.x (תאריך ההשקה עדיין לא נקבע), Apigee for Public Cloud,‏ Apigee for Private Cloud ו-Apigee ב-Google Cloud
  • ‫Istio גרסאות 1.5, ‏ 1.6, ‏ 1.7, ‏ 1.8
  • ‫Envoy גרסאות 1.14, ‏ 1.15, ‏ 1.16

תכונות ושיפורים

תכונה תיאור
תמיכה ב-OperationGroups של מוצר API. ‫OperationGroups קושרים את המשאבים ואת אכיפת המכסה המשויכת בשירות proxy או בשירות מרוחק עם שיטות HTTP. פרטים נוספים זמינים במאמר בנושא OperationGroup.
(רלוונטי רק ל-Apigee ב-Google Cloud ול-Apigee hybrid)
הסרת התמיכה בשרת proxy דינמי להעברת נתונים מהדוגמאות שנוצרו. בגלל השינוי הזה, לקוחות צריכים לכלול את הכותרת HOST אם שם המארח שונה ממארח היעד של השירות המרוחק שמוגדר במוצר ה-API. לדוגמה:
curl -i http://localhost:8080/httpbin/headers -H "HOST:httpbin.org"

כאן מוסבר איך ליצור מוצר API.

תמיכה בחשבונות שירות וב-Workload Identity. כדי לאפשר העלאה של נתונים אנליטיים ל-Apigee כשמריצים את המתאם מחוץ לאשכול Apigee Hybrid, צריך להשתמש בפרמטר analytics-sa עם הפקודה apigee-remote-service-cli provision. בנוסף, המתאם תומך עכשיו ב-Workload Identity ב-Google Kubernetes Engine ‏ (GKE). ראו פקודת הקצאה.
(רלוונטי ל-Apigee ב-Google Cloud ול-Apigee Hybrid בלבד)
מאפיין הגדרה חדש jwt_provider_key המפתח הזה נוסף לקובץ ההגדרות. הוא מייצג את מפתח payload_in_metadata של ספק ה-JWT בהגדרות Envoy או את מנפיק ה-JWT של RequestAuthentication בהגדרות Istio.
KeepAliveMaxConnectionAge מאפיין ההגדרה מוגדר עכשיו כברירת מחדל ל-1 דקה. ברירת המחדל הקודמת הייתה 10 דקות. השינוי הזה מאפשר שינוי גודל חלק יותר. הערך הזה משמש גם לחישוב משך החיים של הזרם של יומן הגישה. קובץ תצורה
הוסרו פקודות CLI. הפקודות הבאות ב-CLI הוצאו משימוש. מומלץ להשתמש ב-Apigee APIs במקום זאת כדי לעדכן יעדי שירות מרוחקים למוצרי API:
  • apigee-remote-service-cli bindings add
  • apigee-remote-service-cli bindings remove
נוספה פקודה חדשה ל-CLI. הפקודה:
apigee-remote-service-cli samples templates

מציגה את האפשרויות הזמינות שאפשר להשתמש בהן עם הדגל --template בפקודה samples create. מאמרי עזרה על CLI

שינוי של פקודת CLI קיימת. בוצע שינוי בפקודה apigee-remote-service-cli samples create. הסימונים שספציפיים לתבניות של Envoy או Istio נבדקים בקפדנות, ואם נעשה בהם שימוש שגוי, מוחזרות שגיאות. האפשרות native template הוצאה משימוש. כדי לקבל רשימה של התבניות הזמינות, משתמשים בפקודה apigee-remote-service-cli samples templates. אפשר לעיין גם במאמר בנושא הפניית CLI.
התגובה של נקודת הקצה /token עכשיו תואמת למפרט OAuth2. הפרמטר access_token נוסף לתגובה, והפרמטר token הוצא משימוש.

v1.2.0

ביום רביעי, 30 בספטמבר 2020, השקנו את גרסה 1.2.0 של Apigee Adapter ל-Envoy.

פלטפורמות נתמכות

אנחנו מפרסמים קבצים בינאריים ל-MacOS, ל-Linux ול-Windows.

אנחנו מפרסמים תמונות Docker מ-distroless,‏ Ubuntu ו-Ubuntu עם Boring Crypto של Google.

בגרסה הזו אנחנו תומכים בפלטפורמות הבאות:

  • גרסה 1.3.x של Apigee Hybrid
  • ‫Istio גרסאות 1.5, ‏ 1.6, ‏ 1.7
  • ‫Envoy גרסאות 1.14, ‏ 1.15

תכונות ושיפורים

תכונה תיאור
תמיכה ב-Apigee ב-Google Cloud עכשיו אפשר להשתמש ב-Apigee Adapter ל-Envoy עם Apigee ב-Google Cloud. אפשר להריץ את המתאם באשכול משלו או להריץ את השירות המרוחק של Envoy כקובץ בינארי מקורי או במאגר. מפעילים את המתאם ב-Apigee באמצעות פקודת ההקצאה.
העלאה ישירה של נתוני ניתוח עכשיו אפשר להגדיר את Apigee Adapter להעלאה ישירה של נתוני ניתוח ל-Apigee. אם אתם משתמשים ב-Apigee hybrid, התכונה החדשה הזו מאפשרת לפרוס את המתאם לאשכול Kubernetes משלו, מחוץ לאשכול שבו מותקן Apigee hybrid. כדי להפעיל העלאה ישירה, משתמשים בדגל --analytics-sa החדש עם הפקודה provision. מידע נוסף זמין במאמר בנושא פקודת provision.
הבדיקה של תקינות המערכת מחזירה את הערך 'מוכן' אחרי שנתוני המוצרים של API נטענים מ-Apigee בדיקת תקינות של Kubernetes לא תחזיר את הערך Ready עד שנתוני המוצרים של ה-API ייטענו מ-Apigee. השינוי הזה עוזר בהרחבה ובשדרוג, כי לא תהיה תנועה שתועבר למתאם החדש עד שהוא יהיה מוכן.

בעיות אחרות ותיקונים

  • תוקנה בעיה שקשורה לקיפאון אפשרי בסנכרון המכסה (בעיה מספר 17).
  • ההערות של Prometheus הועברו למפרט של ה-pod (Issue #69).
  • תוקנה בעיה שגרמה לפליטה לא תקינה של שגיאות אימות (בעיה מספר 62).

v1.1.0

ביום רביעי, 26 באוגוסט 2020, השקנו את גרסה 1.1.0 של Apigee Adapter ל-Envoy.

פלטפורמות נתמכות

אנחנו מפרסמים קבצים בינאריים ל-MacOS, ל-Linux ול-Windows.

אנחנו מפרסמים תמונות Docker מ-distroless,‏ Ubuntu ו-Ubuntu עם Boring Crypto של Google.

בגרסה 1.1.0 אנחנו תומכים בפלטפורמות הבאות:

  • גרסה 1.3 של Apigee Hybrid
  • ‫Istio גרסאות 1.5, ‏ 1.6, ‏ 1.7
  • ‫Envoy גרסאות 1.14, ‏ 1.15

תכונות ושיפורים

תכונה תיאור
אימות הקשרים פקודה חדשה apigee-remote-service-cli bindings verify נוספה ל-CLI. הפקודה הזו מוודאת שלמוצר ה-API המצורף שצוין ולאפליקציות למפתחים שמשויכות אליו יש גם מוצר שירות מרוחק שמשויך אליהם. מידע נוסף מופיע במאמר בנושא אימות של קישור.
יצירת דוגמאות פקודה חדשה apigee-remote-service-cli samples create נוספה ל-CLI. הפקודה הזו יוצרת קובצי תצורה לדוגמה לפריסות מקומיות של Envoy או Istio. קובצי התצורה שאתם יוצרים באמצעות הפקודה הזו מחליפים את קובצי הדוגמה שהותקנו עם המתאם ל-Envoy בגרסאות קודמות. ראו פקודת דוגמאות.
אימות OAuth2 המתאם משתמש עכשיו באימות OAuth2 כשאימות רב-שלבי (MFA) מופעל ב-Apigee. משתמשים בדגל --mfa בכל פעם שמשתמשים בדגל --legacy.
קונטיינר ללא הפצה המתאם משתמש עכשיו בתמונה של Google distroless ‏ (gcr.io/distroless/base) במקום scratch כבסיס לקובץ אימג' של Docker שמוגדר כברירת מחדל.

בעיות אחרות ותיקונים

  • תוקנה בעיה בממשק שורת הפקודה בפקודות של קישורים ב-OPDK. ‫(#29)
  • יכול להיות שהמכסה תיתקע אם החיבור יאבד (apigee/apigee-remote-service-envoy. (#31)
  • קובצי אימג' של Docker נוצרים עכשיו עם משתמש שאינו משתמש root ‏ (999).
  • בדוגמאות של Kubernetes, המשתמש לא יכול להיות root.
  • אין יותר צורך ב---http1.1 לפקודות curl שמופעלות מול נקודות קצה של שרת proxy. הדגל הוסר מהדוגמאות.

v1.0.0

ביום שישי, 31 ביולי 2020, השקנו את גרסת ה-GA של Apigee Adapter ל-Envoy.

פלטפורמות נתמכות

אנחנו מפרסמים קבצים בינאריים ל-MacOS, ל-Linux ול-Windows.

אנחנו מפרסמים תמונות Docker מאפס, Ubuntu ו-Ubuntu עם Boring Crypto.

בגרסה 1.0.0 אנחנו תומכים בפלטפורמות הבאות:

  • גרסה 1.3 של Apigee Hybrid
  • גרסאות Istio‏ 1.5 ו-1.6
  • ‫Envoy גרסאות 1.14, ‏ 1.15

הוספות ושינויים

בין גרסת v1.0-beta4 לבין הגרסה הזמינה לכולם, בוצעו השינויים והתוספות הבאים במתאם:

  • ל-Go Boring builds

    גרסה חדשה של ה-build זמינה עכשיו, והיא משתמשת בספריות Go BoringSSL שתואמות ל-FIPS.

  • שינויים בסימון רמת היומן

    הדגלים של רמת הרישום ביומן עבור השירות apigee-remote-service-envoy השתנו כדי לשמור על עקביות:

    דגל ישן סימון חדש
    log_level log-level
    json_log json-log
  • תכונות ניסיוניות חדשות ב-CLI

    נוספו דגלים חדשים לפקודות של CLI token:

    דגל תיאור
    --legacy מגדירים את הדגל הזה אם משתמשים ב-Apigee Cloud.
    --opdk מגדירים את הדגל הזה אם משתמשים ב-Apigee לענן פרטי.