Prioritaskan keamanan API - Arsitektur Multi-Tier AWS Tanpa Server dengan Amazon API Gateway dan AWS Lambda

Whitepaper ini hanya untuk referensi sejarah. Beberapa konten mungkin sudah usang dan beberapa tautan mungkin tidak tersedia.

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

Prioritaskan keamanan API

Semua aplikasi harus memastikan bahwa hanya klien yang berwenang yang memiliki akses ke sumber daya API mereka. Saat merancang aplikasi multi-tier, Anda dapat memanfaatkan beberapa cara berbeda di mana Amazon API Gateway berkontribusi untuk mengamankan tingkat logika Anda:

Keamanan transit

Semua permintaan ke Anda APIs dapat dilakukan melalui HTTPS untuk mengaktifkan enkripsi dalam perjalanan.

API Gateway menyediakan SSL/TLS Sertifikat bawaan — jika menggunakan opsi nama domain khusus untuk menghadap publik APIs, Anda dapat memberikan sertifikat Anda sendiri menggunakan AWS SSL/TLS Certificate Manager. API Gateway juga mendukung otentikasi TLS (mTLS) timbal balik. Mutual TLS meningkatkan keamanan API Anda dan membantu melindungi data Anda dari serangan seperti spoofing klien atau man-in-the serangan tengah.

Otorisasi API

Setiap resource/method kombinasi yang Anda buat sebagai bagian dari API diberikan Amazon Resource Name (ARN) unik yang dapat direferensikan dalam kebijakan AWS Identity and Access Management (IAM).

Ada tiga metode umum untuk menambahkan otorisasi ke API di API Gateway:

  • Peran dan Kebijakan IAM: Klien menggunakan otorisasi AWS Signature Version 4 (SigV4) dan kebijakan IAM untuk akses API. Kredensyal yang sama dapat membatasi atau mengizinkan akses ke AWS layanan dan sumber daya lain sesuai kebutuhan (misalnya, bucket Amazon S3 atau tabel Amazon DynamoDB).

  • Kumpulan pengguna Amazon Cognito: Klien masuk melalui kumpulan pengguna Amazon Cognito dan mendapatkan token, yang disertakan dalam tajuk otorisasi permintaan.

  • Lambda authorizer: Tentukan fungsi Lambda yang mengimplementasikan skema otorisasi kustom yang menggunakan strategi token pembawa (misalnya, OAuth dan SALL) atau menggunakan parameter permintaan untuk mengidentifikasi pengguna.

Pembatasan akses

API Gateway mendukung pembuatan kunci API dan asosiasi kunci ini dengan paket penggunaan yang dapat dikonfigurasi. Anda dapat memantau penggunaan kunci API dengan CloudWatch.

API Gateway mendukung pembatasan, batas kecepatan, dan batas burst rate untuk setiap metode di API Anda.

Pribadi APIs

Menggunakan API Gateway, Anda dapat membuat REST pribadi APIs yang hanya dapat diakses dari cloud pribadi virtual Anda di Amazon VPC dengan menggunakan titik akhir VPC antarmuka. Ini adalah antarmuka jaringan endpoint yang Anda buat di VPC Anda.

Dengan menggunakan kebijakan sumber daya, Anda dapat mengaktifkan atau menolak akses ke API Anda dari titik akhir yang dipilih VPCs dan VPC, termasuk di seluruh akun AWS. Setiap endpoint dapat digunakan untuk mengakses beberapa private APIs. Anda juga dapat menggunakan AWS Direct Connect untuk membuat sambungan dari jaringan lokal ke Amazon VPC dan mengakses API pribadi Anda melalui koneksi tersebut.

Dalam semua kasus, lalu lintas ke API pribadi Anda menggunakan koneksi aman dan tidak meninggalkan jaringan Amazon — itu terisolasi dari internet publik.

Perlindungan firewall menggunakan AWS WAF

Menghadapi internet APIs rentan terhadap serangan berbahaya. AWS WAF adalah firewall aplikasi web yang membantu melindungi APIs dari serangan tersebut. Ini melindungi APIs dari eksploitasi web umum seperti injeksi SQL dan serangan skrip lintas situs. Anda dapat menggunakan AWS WAFAPI Gateway untuk membantu melindungi APIs.