מגבלות התכונה OpenAPI 2.0

בקטעים הבאים מוסבר על המגבלות של תכונות OpenAPI 2.0 ב-API Gateway.

היקפי הרשאה שהמערכת התעלמה מהם

למרות ש-API Gateway מקבל מסמכי OpenAPI עם היקפי הרשאות שמוגדרים באובייקט של תוכנית אבטחה, היקפי ההרשאות האלה לא נבדקים ולא נאכפים.

דרישות אבטחה מרובות

  • דרישות לגבי מפתח API: ‏ API Gateway לא תומך בדרישות אבטחה חלופיות (לוגיות OR) אם אחת מהסכימות היא מפתח API. עם זאת, נתמכים קשרים לוגיים (AND), כך שאפשר לדרוש גם מפתח API וגם אסימון OAuth2.
  • דרישות OAuth2: יש תמיכה בדרישות אבטחה חלופיות (לוגיות OR) עבור תוכניות אבטחה שונות של OAuth2.
  • אין תמיכה בדרישות אבטחה של צירופים (AND לוגי) עבור סכימות אבטחה שונות של OAuth2.
  • אבטחה אופציונלית: אפשר להשתמש בדרישת אבטחה ריקה (- {}) כדי להפוך את האבטחה לאופציונלית עבור מפתח API, אבל אין תמיכה באפשרות הזו ב-OAuth.

אימות הגדרות אבטחה

‫API Gateway ידחה מפרט OpenAPI 3.x שנעשה בו שימוש בדרישת אבטחה ללא הגדרה תואמת בקטע securityDefinitions.

תבניות של נתיב כתובת ה-URL

‫API Gateway תומך רק בפרמטרים של תבנית נתיב כתובת ה-URL שמייצגים פלחים שלמים של נתיב (למשל, /items/{itemId}). המערכת לא אפשרי בפרמטרים שתואמים לפלחים חלקיים (כמו /items/prefix_{id}_suffix), והיא תדחה אותם.

פרמטרים, סכימות וסוגים

‫API Gateway מקבל מסמכי OpenAPI עם הגדרות שונות של פרמטרים וסוגים (למשל, פרמטרים של required, פורמטים של מערכים), אבל הוא לא אוכף אותם. בקשות נכנסות מועברות ל-API שלכם ללא קשר להגדרות האלה.

הפניות לסוגים חיצוניים

‫API Gateway לא תומך בהפניות לסוגים מחוץ למסמך OpenAPI שסופק. לדוגמה, אסור להשתמש ב-$ref שמפנה לכתובת URL חיצונית, והשימוש הזה יידחה.

יציאה מותאמת אישית בכתובת המארח

‫API Gateway לא מאפשר יציאות מותאמות אישית בשדה host של מסמך OpenAPI.

מגבלות על כינויי YAML

מסמך OpenAPI שנשלח אל API Gateway יכול להכיל עד 200 צמתי כינוי של YAML.