

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Kebijakan keamanan untuk REST APIs di API Gateway
<a name="apigateway-security-policies"></a>

*Kebijakan keamanan* adalah kombinasi standar dari versi TLS minimum dan cipher suite yang ditawarkan oleh API Gateway. Saat klien Anda membuat handshake TLS ke API atau nama domain kustom Anda, kebijakan keamanan memberlakukan versi TLS dan cipher suite yang diterima oleh API Gateway. Kebijakan keamanan melindungi nama domain Anda APIs dan kustom dari masalah keamanan jaringan seperti gangguan dan penyadapan antara klien dan server.

API Gateway mendukung kebijakan keamanan lama dan kebijakan keamanan yang ditingkatkan. `TLS_1_0`dan `TLS_1_2` merupakan kebijakan keamanan warisan. Gunakan kebijakan keamanan ini untuk kompatibilitas mundur. Kebijakan apa pun yang dimulai `SecurityPolicy_` adalah kebijakan keamanan yang ditingkatkan. Gunakan kebijakan ini untuk beban kerja yang diatur, tata kelola lanjutan, atau untuk menggunakan kriptografi pascakuantum. Jika Anda menggunakan kebijakan keamanan yang ditingkatkan, Anda juga harus menetapkan mode akses titik akhir untuk tata kelola tambahan. Untuk informasi selengkapnya, lihat [Mode akses titik akhir](#apigateway-security-policies-endpoint-access-mode).

## Bagaimana API Gateway menerapkan kebijakan keamanan
<a name="apigateway-security-policies-understanding"></a>

Contoh berikut menunjukkan bagaimana API Gateway menerapkan kebijakan keamanan menggunakan kebijakan `SecurityPolicy_TLS13_1_3_2025_09` keamanan sebagai contoh.

Kebijakan `SecurityPolicy_TLS13_1_3_2025_09` keamanan menerima lalu lintas TLS 1.3 dan menolak lalu lintas TLS 1.2 dan TLS 1.0. Untuk lalu lintas TLS 1.3, kebijakan keamanan menerima rangkaian sandi berikut:
+ `TLS_AES_128_GCM_SHA256`
+ `TLS_AES_256_GCM_SHA384`
+ `TLS_CHACHA20_POLY1305_SHA256`

API Gateway tidak menerima cipher suite lainnya. Misalnya, kebijakan keamanan akan menolak lalu lintas TLS 1.3 yang menggunakan `AES128-SHA` cipher suite. Untuk informasi selengkapnya tentang versi dan cipher TLS yang didukung, lihat. [Kebijakan keamanan yang didukung](apigateway-security-policies-list.md)

Untuk memantau protokol TLS dan cipher klien yang digunakan untuk mengakses API Gateway Anda, Anda dapat menggunakan variabel `$context.tlsVersion` dan `$context.cipherSuite` konteks dalam log akses Anda. Untuk informasi selengkapnya, lihat [Pantau REST APIs di API Gateway](rest-api-monitor.md).

## Mode akses titik akhir
<a name="apigateway-security-policies-endpoint-access-mode"></a>

Mode akses titik akhir adalah parameter tambahan yang harus Anda tentukan untuk API REST atau nama domain kustom apa pun yang menggunakan kebijakan keamanan yang ditingkatkan yang dimulai dengan `SecurityPolicy_`. Anda melakukannya saat membuat sumber daya atau jika Anda mengubah kebijakan keamanan dari kebijakan lama menjadi kebijakan yang disempurnakan.

Saat mode akses titik akhir disetel ke`STRICT`, permintaan apa pun ke REST API atau nama domain kustom Anda harus melewati pemeriksaan berikut:
+ Permintaan harus berasal dari jenis titik akhir API Gateway yang sama dengan sumber daya Anda. Permintaan ini bisa berasal dari titik akhir Regional, titik akhir yang dioptimalkan untuk edge, atau titik akhir privat.
+ Jika Anda menggunakan endpoint Regional atau pribadi, API Gateway menggunakan pencocokan host SNI. Jika Anda menggunakan titik akhir yang dioptimalkan tepi, API Gateway sesuai dengan perlindungan fronting domain CloudFront. Untuk informasi selengkapnya, lihat [Domain fronting.](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/CNAMEs.html#alternate-domain-names-restrictions)

Jika salah satu dari kondisi ini tidak terpenuhi, API Gateway menolak permintaan tersebut. Kami menyarankan Anda menggunakan mode akses `STRICT` titik akhir jika memungkinkan.

Untuk memigrasikan API atau nama domain yang ada agar menggunakan mode akses titik akhir yang ketat, perbarui kebijakan keamanan Anda terlebih dahulu ke kebijakan keamanan yang disempurnakan dan tetapkan mode akses titik akhir. `BASIC` Setelah Anda memvalidasi lalu lintas dan log akses Anda, atur mode akses titik akhir ke. `STRICT` Saat Anda memigrasikan mode akses titik akhir dari `STRICT` ke`BASIC`, titik akhir Anda tidak akan tersedia selama sekitar 15 menit saat perubahan menyebar.

Anda tidak boleh menyetel mode akses titik akhir `STRICT` untuk arsitektur aplikasi tertentu dan sebagai gantinya mengatur mode akses titik akhir ke. `BASIC` Tabel berikut menunjukkan beberapa arsitektur aplikasi dan rekomendasi sehingga REST API atau nama domain kustom Anda dapat menggunakan mode akses `STRICT` endpoint.


| Arsitektur  | Migrasi yang disarankan | 
| --- | --- | 
| Menggunakan titik akhir VPC untuk mengakses nama domain kustom publik. | Arsitektur ini menggunakan lalu lintas tipe cross-endpoint. Kami menyarankan Anda untuk bermigrasi ke[Nama domain khusus untuk pribadi APIs di API Gateway](apigateway-private-custom-domains.md). | 
|  Menggunakan metode apa pun untuk memanggil API pribadi yang tidak menggunakan nama domain khusus atau nama DNS pribadi. | Arsitektur ini menciptakan ketidakcocokan antara header host dan SNI yang digunakan dalam jabat tangan TLS dan tidak melewati CloudFront batasan fronting domain. Kami menyarankan Anda memigrasikan VPC Anda untuk menggunakan DNS pribadi. | 
| Menggunakan domain sharding untuk mendistribusikan konten di beberapa domain atau subdomain. | Arsitektur ini menciptakan ketidakcocokan antara header host dan SNI yang digunakan dalam jabat tangan TLS dan tidak melewati CloudFront batasan fronting domain. Kami menyarankan Anda menggunakan `HTTP/2` dan bermigrasi dari anti-pola ini. | 

Berikut ini adalah pertimbangan untuk menggunakan mode akses titik akhir:
+ Jika mode akses titik akhir API atau nama domain adalah`STRICT`, Anda tidak dapat mengubah jenis titik akhir. Untuk mengubah tipe titik akhir, pertama-tama ubah mode akses titik akhir menjadi. `BASIC`
+ Setelah Anda mengubah mode akses titik akhir dari `BASIC` ke`STRICT`, ada penundaan 15 menit bagi API Gateway untuk menerapkan mode akses titik akhir yang ketat.
+ Jika Anda mengubah kebijakan keamanan dari kebijakan yang dimulai dengan `SecurityPolicy_` kebijakan lama, Anda harus membatalkan pengaturan mode akses titik akhir. `""`

## Pertimbangan-pertimbangan
<a name="apigateway-security-policies-considerations"></a>

Berikut ini adalah pertimbangan untuk kebijakan keamanan untuk REST APIs di API Gateway:
+ Anda dapat mengimpor kebijakan keamanan dalam file definisi OpenAPI. Untuk informasi selengkapnya, lihat [x-amazon-apigateway-endpoint-modus aksesx-amazon-apigateway-security-kebijakan](openapi-extensions-security-policy.md).
+ API Anda dapat dipetakan ke nama domain khusus dengan kebijakan keamanan yang berbeda dari API Anda. Saat Anda memanggil nama domain kustom tersebut, API Gateway menggunakan kebijakan keamanan API untuk menegosiasikan jabat tangan TLS. Jika Anda menonaktifkan titik akhir API default, hal ini dapat memengaruhi cara penelepon dapat menjalankan API Anda.
+ Jika Anda mengubah kebijakan keamanan Anda, dibutuhkan sekitar 15 menit untuk pembaruan selesai. Anda dapat memantau `apiStatus` API Anda. Saat API Anda diperbarui, `apiStatus` adalah `UPDATING` dan ketika selesai, itu akan terjadi`AVAILABLE`. Ketika status API Anda`UPDATING`, Anda masih dapat memanggilnya.
+ API Gateway mendukung kebijakan keamanan pada semua APIs. Namun, Anda hanya dapat memilih kebijakan keamanan untuk REST APIs. API Gateway hanya mendukung kebijakan `TLS_1_2` keamanan untuk HTTP atau WebSocket APIs.
+ Anda tidak dapat memperbarui kebijakan keamanan untuk API dari `TLS_1_0` ke`TLS_1_2`.
+ Beberapa kebijakan keamanan mendukung rangkaian sandi ECDSA dan RSA. Jika Anda menggunakan jenis kebijakan ini dengan nama domain kustom, rangkaian sandi cocok dengan jenis kunci sertifikat yang disediakan pelanggan, baik RSA atau ECDSA. Jika Anda menggunakan jenis kebijakan ini dengan REST API, cipher suite cocok dengan cipher suite yang kompatibel dengan tipe sertifikat RSA.