Batasan fitur OpenAPI 2.0

Bagian berikut menjelaskan batasan fitur OpenAPI 2.0 di API Gateway.

Cakupan yang Diabaikan

Meskipun API Gateway menerima dokumen OpenAPI dengan cakupan yang ditentukan dalam objek skema keamanan, cakupan ini tidak diperiksa atau diterapkan.

Beberapa Persyaratan Keamanan

  • Persyaratan Kunci API: API Gateway tidak mendukung persyaratan keamanan alternatif (OR logis) jika salah satu skemanya adalah kunci API. Namun, konjungsi (AND logis) didukung, sehingga Anda dapat mewajibkan kunci API dan token OAuth2.
  • Persyaratan OAuth2: Persyaratan keamanan alternatif (OR logis) didukung untuk berbagai skema keamanan OAuth2.
  • Persyaratan keamanan konjungsi (AND logis) untuk skema keamanan OAuth2 yang berbeda tidak didukung.
  • Keamanan Opsional: Persyaratan keamanan kosong (- {}) dapat digunakan untuk membuat keamanan bersifat opsional untuk kunci API, tetapi hal ini tidak didukung untuk OAuth.

Validasi Definisi Keamanan

API Gateway akan menolak spesifikasi OpenAPI 3.x yang menggunakan persyaratan keamanan tanpa definisi yang sesuai di bagian securityDefinitions.

Pembuatan Template Jalur URL

API Gateway hanya mendukung parameter template jalur URL yang merepresentasikan seluruh segmen jalur (misalnya, /items/{itemId}). Parameter yang sesuai dengan segmen parsial (seperti /items/prefix_{id}_suffix) tidak didukung dan akan ditolak.

Parameter, Skema, dan Jenis

API Gateway menerima dokumen OpenAPI dengan berbagai definisi parameter dan jenis (misalnya, required parameter, format array), tetapi tidak menerapkannya. Permintaan yang masuk diteruskan ke API Anda, terlepas dari definisi ini.

Referensi Jenis Eksternal

API Gateway tidak mendukung referensi ke jenis di luar dokumen OpenAPI yang disediakan. Misalnya, $ref yang mengarah ke URL eksternal tidak diizinkan dan akan ditolak.

Port Kustom di Alamat Host

API Gateway tidak mengizinkan port kustom di kolom host dokumen OpenAPI.

Batasan Alias YAML

Dokumen OpenAPI yang dikirimkan ke API Gateway dapat memiliki maksimum 200 node alias YAML.