Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Organisasi semakin mengadopsi pendekatan desain API-first sambil menghadapi ancaman yang berkembang terhadap aplikasi web. Anda memerlukan strategi keamanan komprehensif untuk melindungi API, terutama saat mengekspos API yang didukung AI dan menerapkan prinsip arsitektur zero trust. Pola Perutean Gateway menyediakan satu pendekatan untuk keamanan API dengan melindungi lalu lintas jaringan. Gateway membatasi lokasi sumber lalu lintas dan kualitas lalu lintas sambil mendukung aturan perutean yang fleksibel. Artikel ini menjelaskan cara menggunakan Azure Application Gateway dan Azure API Management untuk melindungi akses API.
Architecture
Artikel ini tidak membahas platform yang mendasar aplikasi, seperti App Service Environment, Azure SQL Managed Instance, dan Azure Kubernetes Service (AKS). Bagian-bagian diagram tersebut menampilkan apa yang dapat Anda terapkan sebagai solusi yang lebih luas. Artikel ini secara khusus membahas area yang diarsir, API Management, dan Application Gateway.
Unduh file Visio arsitektur ini.
Workflow
Application Gateway menerima permintaan HTTPS yang diizinkan oleh kelompok keamanan jaringan (NSG) subnet.
Firewall aplikasi web (WAF) di Application Gateway memeriksa permintaan terhadap aturan WAF, termasuk aturan kustom geomatch. Jika permintaan valid, permintaan akan dilanjutkan.
Application Gateway menyiapkan mekanisme proksi URL yang mengirim permintaan ke kumpulan back-end yang tepat. Perilaku perutean tergantung pada format URL panggilan API:
URL yang diformat sebagai
api.<some-domain>/external/*dapat mencapai ujung belakang untuk berinteraksi dengan API yang diminta.Panggilan yang diformat sebagai
api.<some-domain>/*masuk ke jalan buntu, yang disebut sinkpool, yaitu pool back-end tanpa target.Di tingkat Application Gateway, aturan perutean mengalihkan pengguna di bawah
portal.<some-domain>/*ke portal pengembang. Pengembang dapat mengelola API dan konfigurasinya dari lingkungan internal dan eksternal. Atau, Anda dapat memblokir portal pengembang sepenuhnya.
Application Gateway menerima dan memproksi panggilan internal dari sumber daya di jaringan virtual Azure yang sama di bawah
api.<some-domain>/internal/*.Pada tingkat API Management, API menerima panggilan di bawah pola berikut:
api.<some-domain>/external/*api.<some-domain>/internal/*
Dalam skenario ini, API Management menggunakan alamat IP publik dan privat. Alamat IP publik mendukung operasi manajemen pada port 3443 untuk bidang manajemen dan untuk lalu lintas API runtime dalam konfigurasi jaringan virtual eksternal. Ketika API Management mengirimkan permintaan ke back end publik yang berhadapan-dengan-internet, itu menunjukkan alamat IP publik sebagai asal permintaan. Untuk informasi selengkapnya, lihat Alamat IP API Management di jaringan virtual.
Components
Azure Virtual Network memungkinkan banyak jenis sumber daya Azure untuk berkomunikasi secara privat satu sama lain, internet, dan jaringan lokal. Dalam arsitektur ini, Application Gateway membuat terowongan lalu lintas internet publik ke jaringan privat ini.
Application Gateway adalah penyeimbang beban lalu lintas web yang mengelola lalu lintas ke aplikasi web. Jenis perutean ini dikenal sebagai penyeimbangan beban lapisan aplikasi (OSI Layer 7). Dalam arsitektur ini, gateway menyediakan perutean dan menghosting WAF untuk melindungi terhadap vektor serangan berbasis web umum.
API Management adalah platform manajemen multicloud hibrid untuk API di semua lingkungan. API Management membuat gateway API modern yang konsisten untuk layanan back-end yang ada. Dalam arsitektur ini, API Management beroperasi sepenuhnya dalam mode privat untuk mengalihkan kekhawatiran lintas fungsi dari kode API dan host.
Alternatives
Anda dapat menggunakan layanan lain untuk memberikan tingkat perlindungan firewall dan WAF yang serupa:
Azure Front Door menyediakan perlindungan penolakan layanan terdistribusi (DDoS) bawaan dan penyeimbangan beban global.
Azure Firewall menyediakan perlindungan tingkat jaringan dan manajemen kebijakan keamanan terpusat.
Solusi mitra, seperti Barracuda CloudGen WAF untuk Azure, atau solusi WAF lainnya tersedia di Microsoft Marketplace.
Recommendations
Arsitektur ini berfokus pada penerapan seluruh solusi dan menguji akses API dari dalam dan luar jaringan virtual API Management. Untuk informasi selengkapnya tentang proses integrasi, lihat Mengintegrasikan API Management di jaringan virtual internal dengan menggunakan Application Gateway.
Untuk berkomunikasi dengan sumber daya privat di backend, tempatkan Application Gateway dan API Management di jaringan virtual yang sama dengan sumber daya tersebut atau di jaringan virtual yang dihubungkan.
Model penyebaran internal privat memungkinkan API Management untuk terhubung ke jaringan virtual yang ada, yang membuatnya dapat dijangkau dari dalam konteks jaringan tersebut. Untuk mengaktifkan fitur ini, terapkan tingkat Pengembang atau Premium API Management untuk penerapan injeksi jaringan virtual klasik. Untuk opsi jaringan virtual yang lebih baru, gunakan tingkat Standard v2 atau Premium v2 dengan kemampuan integrasi atau injeksi jaringan virtual.
Jika klien Anda beroperasi dalam langganan yang berbeda atau dikelola dengan direktori ID Microsoft Entra yang berbeda, gunakan Azure Private Link untuk Application Gateway untuk menyediakan konektivitas privat ke Application Gateway dari jaringan virtual klien di seluruh langganan dan wilayah.
Mengelola sertifikat Application Gateway di Azure Key Vault.
Untuk mempersonalisasi interaksi dengan layanan, Anda dapat menggunakan entri nama kanonis (CNAME).
Considerations
Pertimbangan ini mengimplementasikan pilar Azure Well-Architected Framework, yang merupakan serangkaian tenet panduan yang dapat Anda gunakan untuk meningkatkan kualitas beban kerja. Untuk informasi selengkapnya, lihat Well-Architected Framework.
Reliability
Keandalan membantu memastikan bahwa aplikasi Anda dapat memenuhi komitmen yang Anda buat kepada pelanggan Anda. Untuk informasi selengkapnya, lihat daftar periksa tinjauan desain untuk Keandalan.
Application Gateway selalu disebarkan dalam konfigurasi dengan ketersediaan tinggi, terlepas dari jumlah instans. Untuk mengurangi dampak kerusakan zona, Anda dapat mengonfigurasi gateway aplikasi untuk menjangkau beberapa zona ketersediaan. Untuk informasi selengkapnya, lihat Penskalaan otomatis dan ketersediaan tinggi.
Aktifkan redundansi zona untuk komponen layanan API Management Anda untuk memberikan ketahanan dan ketersediaan tinggi. Redundansi zona mereplikasi gateway API Management dan sarana kontrol di seluruh pusat data di zona yang dipisahkan secara fisik. Konfigurasi ini membuatnya tahan terhadap kegagalan zona. Anda harus menggunakan tingkat API Management Premium untuk mendukung zona ketersediaan.
API Management juga mendukung penyebaran multiregion, yang dapat meningkatkan ketersediaan jika satu wilayah offline. Untuk informasi selengkapnya, lihat Dukungan multiregion. Dalam topologi ini, sebarkan satu gateway aplikasi untuk setiap wilayah karena Application Gateway adalah layanan regional.
Keamanan
Keamanan menjamin perlindungan terhadap serangan yang disengaja dan penyalahgunaan data serta sistem berharga Anda. Untuk informasi selengkapnya, lihat daftar periksa tinjauan desain untuk Keamanan.
Untuk informasi lebih lanjut tentang keamanan Application Gateway, lihat Dasar keamanan Azure untuk Application Gateway.
Untuk informasi lebih lanjut tentang keamanan API Management, lihat Dasar keamanan Azure untuk API Management.
Selalu terapkan langkah-langkah keamanan berikut:
Gunakan kebijakan Azure Web Application Firewall dengan Open Web Application Security Project (OWASP) Core Rule Set (CRS) 3.2 atau yang lebih baru untuk melindungi dari kerentanan web umum, termasuk ancaman OWASP Top 10.
Konfigurasikan aturan kustom geomatch WAF untuk memblokir atau mengizinkan lalu lintas berdasarkan lokasi geografis. Pendekatan ini memberikan beberapa perlindungan terhadap serangan DDoS.
Aktifkan perlindungan DDoS aplikasi (Lapisan 7) dengan menggunakan Azure Web Application Firewall dengan Application Gateway untuk melindungi dari serangan berbasis volumetrik dan protokol. Gabungkan Azure DDoS Protection dengan praktik desain aplikasi untuk meningkatkan fitur mitigasi DDoS.
Gunakan titik akhir privat untuk API Management untuk menyediakan konektivitas masuk yang aman.
Aktifkan Pertahanan Microsoft untuk API untuk memantau postur keamanan API dan mendeteksi ancaman.
Konfigurasikan aturan perlindungan bot WAF untuk mengidentifikasi dan memblokir bot berbahaya.
Pengoptimalan Biaya
Pengoptimalan Biaya berfokus pada cara untuk mengurangi pengeluaran yang tidak perlu dan meningkatkan efisiensi operasional. Untuk informasi selengkapnya, lihat Daftar periksa tinjauan desain untuk Pengoptimalan Biaya.
Biaya arsitektur ini tergantung pada beberapa aspek konfigurasi:
Tingkat layanan: Pertimbangkan tingkat Standar v2 dan Premium v2 untuk API Management untuk meningkatkan efisiensi dan performa biaya.
Skalabilitas: Layanan secara dinamis mengalokasikan jumlah instans untuk mendukung permintaan tertentu.
Durasi runtime: Biaya bervariasi tergantung pada apakah arsitektur berjalan terus menerus atau hanya beberapa jam setiap bulan.
Transfer data: Penyebaran multiregion dikenakan biaya transfer antar wilayah.
Pemrosesan WAF: Biaya tergantung pada jumlah permintaan dan aturan yang dievaluasi.
Pertimbangkan strategi pengoptimalan biaya berikut:
Gunakan tingkat konsumsi API Management untuk penggunaan rendah, beban kerja variabel di mana Anda hanya membayar untuk penggunaan aktual.
Terapkan autoscaling Application Gateway untuk mengoptimalkan jumlah instans berdasarkan permintaan.
Setelah Anda menilai aspek-aspek ini, gunakan kalkulator harga Azure untuk memperkirakan harga.
Keunggulan Operasi
Keunggulan Operasional mencakup proses operasi yang menyebarkan aplikasi dan membuatnya tetap berjalan dalam produksi. Untuk informasi selengkapnya, lihat Daftar periksa tinjauan desain untuk Keunggulan Operasional.
Terapkan pemantauan dan pengamatan yang komprehensif:
Konfigurasikan diagnostik API Management untuk mengirim log ke Azure Monitor sehingga Anda dapat menggunakan Analitik Log untuk analitik API terperinci.
Siapkan Application Gateway diagnostik untuk memantau peristiwa WAF dan metrik performansi.
Terapkan pemberitahuan API Management untuk performa API dan ambang ketersediaan.
Efisiensi Performa
Efisiensi Performa mengacu pada kemampuan beban kerja Anda untuk menskalakan untuk memenuhi tuntutan pengguna secara efisien. Untuk informasi selengkapnya, lihat daftar periksa tinjauan Desain Efisiensi Performa.
Application Gateway berfungsi sebagai titik masuk untuk arsitektur ini, dan fitur Azure Web Application Firewall memerlukan daya pemrosesan untuk setiap analisis permintaan. Untuk mengizinkan Application Gateway memperluas kapasitas komputasi sesuai permintaan, aktifkan penskalaan otomatis. Untuk informasi selengkapnya, lihat Penskalaan otomatis dan redundansi zona di Application Gateway. Ikuti rekomendasi dokumentasi produk untuk konfigurasi infrastruktur Application Gateway, termasuk ukuran subnet yang tepat. Pendekatan ini memastikan subnet cukup besar untuk mendukung peluasan skala penuh.
Pertimbangkan pengoptimalan performa berikut untuk API Management:
Aktifkan autoscaling API Management untuk secara otomatis merespons peningkatan volume permintaan.
Gunakan kebijakan cache API Management untuk mengurangi beban back-end dan meningkatkan waktu respons.
Terapkan pembatasan tarif API Management untuk melindungi layanan back-end dari beban yang berlebihan.
Gunakan tingkat Standar v2 atau Premium v2 untuk meningkatkan performa dan kemampuan jaringan.
Langkah selanjutnya
Untuk merancang API, ikuti panduan desain API web yang baik. Untuk menerapkan API, gunakan praktik implementasi API web yang baik.
Sumber daya terkait
- Pola Perutean Gateway: Merutekan permintaan ke beberapa layanan dengan menggunakan satu titik akhir.
- Pola Agregasi Gateway: Mengagregasi beberapa permintaan ke dalam satu permintaan.
- Pola Offloading Gateway: Melimpahkan fungsionalitas bersama ke gateway API.
- Gambaran umum routing berbasis jalur URL
- Tutorial: Membuat gateway aplikasi dengan pengalihan berbasis jalur URL dengan menggunakan Azure CLI