Bagikan melalui


Lindungi API dengan menggunakan Application Gateway dan API Management

Azure API Management
Azure Application Gateway

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.

Diagram yang memperlihatkan bagaimana Application Gateway dan API Management melindungi API.

Unduh file Visio arsitektur ini.

Workflow

  1. Application Gateway menerima permintaan HTTPS yang diizinkan oleh kelompok keamanan jaringan (NSG) subnet.

  2. Firewall aplikasi web (WAF) di Application Gateway memeriksa permintaan terhadap aturan WAF, termasuk aturan kustom geomatch. Jika permintaan valid, permintaan akan dilanjutkan.

  3. 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.

  4. Application Gateway menerima dan memproksi panggilan internal dari sumber daya di jaringan virtual Azure yang sama di bawah api.<some-domain>/internal/*.

  5. 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:

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:

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:

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:

Langkah selanjutnya

Untuk merancang API, ikuti panduan desain API web yang baik. Untuk menerapkan API, gunakan praktik implementasi API web yang baik.