Pembatasan akses Azure App Service

Pembatasan akses di App Service setara dengan firewall yang memungkinkan Anda memblokir dan memfilter lalu lintas. Pembatasan akses hanya berlaku untuk akses masuk. Sebagian besar tingkat harga App Service juga memiliki kemampuan untuk menambahkan titik akhir privat ke aplikasi, yang merupakan titik masuk lain ke aplikasi. Pembatasan akses tidak berlaku untuk lalu lintas yang masuk melalui titik akhir privat. Untuk semua aplikasi yang dihosting di App Service, titik entri default tersedia untuk umum. Satu-satunya pengecualian adalah aplikasi yang dihosting di ILB Lingkungan App Service, yakni ketika titik masuk default bersifat internal ke jaringan virtual.

Cara kerjanya

Saat lalu lintas mencapai App Service, lalu lintas pertama kali mengevaluasi apakah lalu lintas berasal dari titik akhir privat atau melewati titik akhir default. Jika lalu lintas dikirim melalui titik akhir privat, lalu lintas dikirim langsung ke situs tanpa batasan apa pun. Pembatasan ke titik akhir privat dikonfigurasi menggunakan grup keamanan jaringan.

Jika Anda mengirim lalu lintas melalui titik akhir default (sering kali titik akhir publik), lalu lintas pertama kali dievaluasi di tingkat akses aplikasi. Di sini Anda dapat mengaktifkan atau menonaktifkan akses. Jika Anda mengaktifkan akses aplikasi, lalu lintas dievaluasi di tingkat akses situs. Untuk aplikasi apa pun, Anda memiliki situs utama dan situs alat canggih (juga dikenal sebagai situs scm atau kudu).

Anda memiliki opsi untuk mengonfigurasi sekumpulan aturan pembatasan akses untuk setiap situs. Aturan pembatasan akses dievaluasi dalam urutan prioritas. Jika beberapa aturan memiliki prioritas yang sama, aturan dievaluasi dalam urutan yang tercantum saat dikembalikan dari AZURE Resource Manager API dan di portal Azure sebelum diurutkan. Anda juga dapat menentukan perilaku jika tidak ada aturan yang cocok. Bagian berikut masuk ke detail.

Diagram of access restrictions high-level flow.

Akses aplikasi

Akses aplikasi memungkinkan Anda mengonfigurasi apakah akses tersedia melalui titik akhir default (publik). Anda mengonfigurasi perilaku ini menjadi Disabled atau Enabled. Saat akses diaktifkan, Anda dapat menambahkan aturan pembatasan akses Situs untuk mengontrol akses dari jaringan virtual dan alamat IP tertentu. Jika pengaturan tidak dikonfigurasi, perilaku defaultnya adalah mengaktifkan akses kecuali ada titik akhir privat yang mengubah perilaku untuk menonaktifkan akses.

Screenshot of app access option in Azure portal.

Di AZURE Resource Manager API, akses aplikasi disebut publicNetworkAccess. Untuk ILB App Service Environment, titik masuk default untuk aplikasi selalu internal ke jaringan virtual. Mengaktifkan akses aplikasi (publicNetworkAccess) tidak memberikan akses publik langsung ke aplikasi; sebagai gantinya, ini memungkinkan akses dari titik masuk default, yang sesuai dengan alamat IP internal Lingkungan App Service. Jika Anda menonaktifkan akses aplikasi di ILB App Service Environment, Anda hanya dapat mengakses aplikasi melalui titik akhir privat yang ditambahkan ke aplikasi individual.

Akses situs

Pembatasan akses situs memungkinkan Anda memfilter permintaan masuk. Pembatasan akses situs memungkinkan Anda untuk membuat daftar aturan perizinan dan penolakan yang dievaluasi dalam urutan prioritas. Fitur ini mirip dengan fitur kelompok keamanan jaringan (NSG) di jaringan Azure.

Screenshot of site access options in Azure portal.

Pembatasan akses situs memiliki beberapa jenis aturan yang dapat Anda terapkan:

Aturan yang tidak cocok

Anda dapat mengonfigurasi perilaku ketika tidak ada aturan yang cocok (tindakan default). Ini adalah aturan khusus yang selalu muncul sebagai aturan terakhir dari kumpulan aturan. Jika pengaturan tidak dikonfigurasi, perilaku aturan yang tidak cocok bergantung pada aturan yang dikonfigurasi. Jika tidak ada aturan, perilaku aturan yang tidak cocok adalah mengizinkan semua akses, tetapi jika satu atau beberapa aturan ada, secara implisit berubah untuk menolak semua akses. Anda dapat secara eksplisit mengonfigurasi perilaku ini untuk mengizinkan atau menolak akses terlepas dari aturan yang ditentukan.

Aturan pembatasan akses berbasis IP

Fitur pembatasan akses berbasis IP membantu saat Anda ingin membatasi alamat IP yang dapat digunakan untuk menjangkau aplikasi Anda. IPv4 dan IPv6 didukung. Beberapa kasus penggunaan untuk fitur ini:

  • Membatasi akses ke aplikasi Anda dari sekumpulan alamat yang ditentukan dengan baik.
  • Membatasi akses ke lalu lintas yang datang melalui layanan penyeimbangan beban eksternal atau appliance jaringan lainnya dengan alamat IP egress yang diketahui.

Untuk mempelajari cara mengaktifkan fitur ini, lihat Mengonfigurasi pembatasan akses.

Catatan

Aturan pembatasan akses berbasis IP hanya menangani rentang alamat jaringan virtual saat aplikasi Anda berada di Lingkungan App Service. Jika aplikasi Anda berada dalam layanan multipenyewa, Anda harus menggunakan titik akhir layanan guna membatasi lalu lintas untuk memilih subnet di jaringan virtual Anda.

Aturan pembatasan akses berdasarkan titik akhir layanan

Titik akhir layanan memungkinkan Anda untuk mengunci akses masuk ke aplikasi Anda sehingga alamat sumber harus berasal dari sekumpulan subnet yang Anda pilih. Fitur ini bekerja sama dengan pembatasan akses IP. Titik akhir layanan tidak kompatibel dengan penelusuran kesalahan jarak jauh. Jika Anda ingin menggunakan penelusuran kesalahan jarak jauh dengan aplikasi, klien Anda tidak dapat berada di subnet yang mengaktifkan titik akhir layanan. Proses pengaturan titik akhir layanan mirip dengan proses pengaturan pembatasan akses IP. Anda dapat membuat daftar izinkan/tolak aturan akses yang menyertakan alamat publik dan subnet di jaringan virtual Anda.

Catatan

Aturan pembatasan akses berdasarkan titik akhir layanan tidak didukung pada aplikasi yang memiliki titik akhir privat yang dikonfigurasi atau aplikasi yang menggunakan SSL berbasis IP (Alamat yang ditetapkan aplikasi).

Untuk mempelajari selengkapnya tentang mengonfigurasi titik akhir layanan dengan aplikasi Anda, lihat Pembatasan akses Azure App Service.

Sumber titik akhir layanan apa pun

Untuk pengujian atau dalam skenario tertentu, Anda dapat mengizinkan lalu lintas dari subnet yang diaktifkan titik akhir layanan apa pun. Anda dapat melakukannya dengan menentukan aturan berbasis IP dengan teks "AnyVnets", bukan rentang IP. Anda tidak dapat membuat aturan ini di portal, tetapi Anda dapat memodifikasi aturan berbasis IP yang ada dan mengganti alamat IP dengan string "AnyVnets".

Aturan pembatasan akses berdasarkan tag layanan

Tag layanan Azure adalah kumpulan alamat IP yang ditentukan dengan baik untuk layanan Azure. Tag layanan mengelompokkan rentang IP yang digunakan di berbagai layanan Azure dan sering juga dicakupkan ke wilayah tertentu. Ini memungkinkan Anda memfilter lalu lintas masuk dari layanan Azure tertentu.

Untuk daftar lengkap tag dan informasi selengkapnya, kunjungi tautan tag layanan.

Untuk mempelajari cara mengaktifkan fitur ini, lihat Mengonfigurasi pembatasan akses.

Aturan multi-sumber

Aturan multi-sumber memungkinkan Anda menggabungkan hingga delapan rentang IP atau delapan Tag Layanan dalam satu aturan. Anda mungkin menggunakan aturan multi-sumber jika Anda memiliki lebih dari 512 rentang IP. Anda juga dapat menggunakan aturan multi-sumber jika Anda ingin membuat aturan logis di mana beberapa rentang IP dikombinasikan dengan satu filter header http.

Aturan multi-sumber didefinisikan dengan cara yang sama seperti Anda menentukan aturan sumber tunggal, tetapi dengan setiap rentang dipisahkan dengan koma.

Anda tidak dapat membuat aturan ini di portal, tetapi Anda dapat mengubah tag layanan atau aturan berbasis IP yang ada dan menambahkan lebih banyak sumber ke aturan.

Pemfilteran header http untuk aturan pembatasan akses

Untuk aturan apa pun, terlepas dari jenisnya, Anda dapat menambahkan pemfilteran header http. Ini memungkinkan Anda untuk memeriksa lebih lanjut permintaan masuk dan memfilter berdasarkan nilai header http tertentu. Setiap header dapat memiliki hingga delapan nilai per aturan. Berikut ini daftar header http yang didukung:

  • X-Forwarded-For. Header standar untuk mengidentifikasi alamat IP asal klien yang terhubung melalui server proksi. Menerima nilai CIDR yang valid.
  • X-Forwarded-Host. Header standar untuk mengidentifikasi host asli yang diminta oleh klien. Menerima string apa pun hingga 64 karakter.
  • X-Azure-FDID. Header kustom untuk mengidentifikasi instans proksi terbalik. Azure Front Door mengirimkan panduan yang mengidentifikasi instans, tetapi juga dapat digunakan untuk proksi non-Microsoft untuk mengidentifikasi instans tertentu. Menerima string apa pun hingga 64 karakter.
  • X-FD-HealthProbe. Header kustom untuk mengidentifikasi pemeriksaan kesehatan proksi terbalik. Azure Front Door mengirimkan "1" untuk mengidentifikasi permintaan pemeriksaan kesehatan secara unik. Header juga dapat digunakan untuk proksi non-Microsoft untuk mengidentifikasi pemeriksaan kesehatan. Menerima string apa pun hingga 64 karakter.

Beberapa kasus penggunaan untuk pemfilteran header http adalah:

  • Membatasi akses ke lalu lintas dari server proxy yang meneruskan nama host
  • Membatasi akses ke instans Azure Front Door tertentu dengan aturan tag layanan dan pembatasan header X-Azure-FDID

Log diagnostik

App Service dapat mengirim berbagai kategori pengelogan ke Azure Monitor. Salah satu kategori tersebut dipanggil IPSecurity Audit logs dan mewakili aktivitas dalam pembatasan akses. Semua permintaan yang cocok dengan aturan (kecuali aturan yang tidak cocok), baik izinkan dan tolak, dicatat dan dapat digunakan untuk memvalidasi konfigurasi pembatasan akses. Kemampuan pengelogan juga merupakan alat yang ampuh saat memecahkan masalah konfigurasi aturan.

Kasus penggunaan tingkat lanjut

Menggabungkan fitur di atas memungkinkan Anda menyelesaikan beberapa kasus penggunaan tertentu yang dijelaskan pada bagian berikut.

Memblokir satu alamat IP

Jika Anda ingin menolak/memblokir satu atau beberapa alamat IP tertentu, Anda dapat menambahkan alamat IP sebagai aturan penolakan dan mengonfigurasi aturan yang tidak cocok untuk memungkinkan semua lalu lintas yang tidak cocok.

Membatasi akses ke situs alat tingkat lanjut

Situs alat tingkat lanjut, yang juga dikenal sebagai scm atau kudu, memiliki kumpulan aturan individual yang dapat Anda konfigurasi. Anda juga dapat mengonfigurasi aturan yang tidak cocok untuk situs ini. Pengaturan memungkinkan Anda menggunakan aturan yang dikonfigurasi untuk situs utama. Anda tidak dapat secara selektif mengizinkan akses ke fitur situs alat tingkat lanjut tertentu. Misalnya, Anda tidak dapat secara selektif mengizinkan akses hanya ke konsol manajemen WebJobs di situs alat tingkat lanjut.

Menyebarkan melalui titik akhir privat

Anda mungkin memiliki situs yang dapat diakses publik, tetapi sistem penyebaran Anda berada dalam jaringan virtual. Anda dapat menjaga lalu lintas penyebaran tetap privat dengan menambahkan titik akhir privat. Anda kemudian perlu memastikan bahwa akses aplikasi publik diaktifkan. Akhirnya Anda perlu mengatur aturan yang tidak cocok untuk situs alat tingkat lanjut untuk ditolak, yang memblokir semua lalu lintas publik ke titik akhir tersebut.

Mengizinkan akses mitra eksternal ke situs yang dilindungi titik akhir privat

Dalam skenario ini, Anda mengakses situs Anda melalui titik akhir privat dan menyebarkan melalui titik akhir privat. Anda dapat mengundang mitra eksternal untuk menguji situs untuk sementara waktu. Anda dapat melakukannya dengan mengaktifkan akses aplikasi publik. Tambahkan aturan (berbasis IP) untuk mengidentifikasi klien mitra. Konfigurasikan tindakan aturan yang tidak cocok untuk menolak situs alat utama dan tingkat lanjut.

Membatasi akses ke instans Azure Front Door tertentu

Lalu lintas dari Azure Front Door ke aplikasi Anda berasal dari serangkaian rentang IP terkenal yang ditentukan dalam AzureFrontDoor.Backend tag layanan. Dengan menggunakan aturan pembatasan tag layanan, Anda dapat membatasi lalu lintas hanya berasal dari Azure Front Door. Untuk memastikan lalu lintas hanya berasal dari instans spesifik Anda, Anda perlu memfilter permintaan masuk lebih lanjut berdasarkan header http unik yang dikirim Azure Front Door yang disebut X-Azure-FDID. Anda dapat menemukan ID Front Door di portal.

Langkah berikutnya

Catatan

Aturan pembatasan akses yang memblokir akses publik ke situs Anda juga dapat memblokir layanan seperti streaming log. Jika Anda memerlukan ini, Anda harus mengizinkan alamat IP App Service Anda dalam pembatasan Anda.