מגבלות התכונה 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.