Bagikan melalui


Menyiapkan pembatasan akses Azure App Service

Saat menyiapkan pembatasan akses, Anda dapat menentukan daftar izinkan/tolak yang diurutkan prioritas yang mengontrol akses jaringan ke aplikasi Anda. Daftar ini dapat menyertakan alamat IP atau subnet Azure Virtual Network. Ketika ada satu atau lebih entri, sebuah tolak semua yang implisit ada di akhir daftar. Untuk informasi selengkapnya, lihat Pembatasan akses Azure App Service.

Kemampuan pembatasan akses berfungsi dengan semua beban kerja yang dihosting Azure App Service. Beban kerja dapat mencakup aplikasi web, aplikasi API, aplikasi Linux, kontainer kustom Linux, dan aplikasi Azure Functions.

Saat seseorang membuat permintaan ke aplikasi Anda, alamat FROM tersebut dievaluasi terhadap aturan dalam daftar pembatasan akses Anda. FROM Jika alamat berada dalam subnet yang dikonfigurasi dengan titik akhir layanan ke Microsoft.Web, subnet sumber dibandingkan dengan aturan jaringan virtual dalam daftar pembatasan akses Anda. Jika alamat tidak diizinkan akses berdasarkan aturan dalam daftar, layanan akan membalas dengan kode status HTTP 403.

Fungsi pembatasan akses diterapkan pada peran antarmuka depan App Service, yang berada di atas host tempat kode Anda dijalankan. Oleh karena itu, pembatasan akses secara efektif merupakan daftar kontrol akses jaringan.

Kemampuan untuk membatasi akses ke aplikasi web Anda dari jaringan virtual Azure menggunakan titik akhir layanan. Dengan titik akhir layanan, Anda dapat membatasi akses ke layanan multitenant dari subnet yang dipilih. Ini tidak efektif untuk membatasi lalu lintas ke aplikasi yang dihosting di Lingkungan App Service. Saat aplikasi berada di Lingkungan App Service, Anda dapat mengontrol akses ke aplikasi tersebut dengan menerapkan aturan alamat IP.

Nota

Titik akhir layanan harus diaktifkan baik di sisi jaringan maupun untuk layanan Azure yang diaktifkan. Untuk daftar layanan Azure yang mendukung titik akhir layanan, lihat Titik akhir layanan Virtual Network.

Diagram yang memperlihatkan alur pembatasan akses.

Mengelola aturan pembatasan akses di portal

Untuk menambahkan aturan pembatasan akses ke aplikasi Anda:

  1. Masuk ke portal Microsoft Azure.

  2. Pilih aplikasi yang ingin Anda tambahkan pembatasan aksesnya.

  3. Di menu sebelah kiri, pilih Pengaturan>Jaringan.

  4. Pada panel Jaringan , di bawah Konfigurasi lalu lintas masuk, pilih pengaturan Akses jaringan publik .

    Cuplikan layar panel opsi jaringan App Service di portal Microsoft Azure.

  5. Pada panel Pembatasan Akses , tinjau daftar aturan pembatasan akses yang ditentukan untuk aplikasi Anda.

    Cuplikan layar panel Pembatasan Akses di portal Microsoft Azure, memperlihatkan daftar aturan pembatasan akses yang ditentukan untuk aplikasi yang dipilih.

    Daftar menampilkan pembatasan yang saat ini diterapkan ke aplikasi. Jika Anda memiliki pembatasan jaringan virtual pada aplikasi Anda, tabel menunjukkan apakah titik akhir layanan diaktifkan untuk Microsoft.Web. Jika tidak ada batasan yang ditentukan pada aplikasi Anda dan aturan yang tidak sesuai tidak diatur ke Tolak, aplikasi dapat diakses dari mana saja.

Hak akses

Anda harus memiliki izin kontrol akses berbasis peran berikut pada subnet atau pada tingkat yang lebih tinggi untuk mengonfigurasi pembatasan akses melalui portal Microsoft Azure, CLI, atau saat Anda mengatur site config properti secara langsung:

Tindakan Deskripsi
Microsoft.Web/sites/config/read Mendapatkan pengaturan konfigurasi aplikasi web.
Microsoft.Web/sites/config/write Memperbarui pengaturan konfigurasi aplikasi web.
Microsoft.Network/virtualNetworks/subnets/joinViaServiceEndpoint/action* Menggabungkan sumber daya seperti akun penyimpanan atau database SQL ke subnet.
Microsoft.Web/sites/write** Memperbarui pengaturan aplikasi web.

*Hanya diperlukan saat menambahkan aturan jaringan virtual (titik akhir layanan)

**Hanya diperlukan jika Anda memperbarui pembatasan akses melalui portal Microsoft Azure

Jika Anda menambahkan aturan berbasis titik akhir layanan dan jaringan virtual berada dalam langganan yang berbeda dari aplikasi, pastikan langganan dengan jaringan virtual terdaftar untuk Microsoft.Web penyedia sumber daya. Anda dapat secara eksplisit mendaftarkan penyedia, tetapi juga secara otomatis terdaftar saat Anda membuat aplikasi web pertama dalam langganan. Untuk informasi selengkapnya, lihat Mendaftarkan penyedia sumber daya.

Menambahkan aturan pembatasan akses

Untuk menambahkan aturan pembatasan akses ke aplikasi Anda, pada panel Pembatasan Akses , pilih Tambahkan. Aturan ini hanya efektif setelah Anda menyimpannya.

Aturan diberlakukan dalam urutan prioritas, dari angka terendah di kolom Prioritas . Jika Anda tidak mengonfigurasi aturan yang tidak cocok, penolakan implisit semuanya berlaku saat Anda menambahkan satu aturan.

Pada panel Tambahkan Pembatasan Akses , saat Anda membuat aturan, lakukan hal berikut:

  1. Di bawah Tindakan, pilih Izinkan atau Tolak.
  2. Masukkan nama dan deskripsi aturan (opsional).
  3. Dalam kotak Prioritas , masukkan nilai prioritas.
  4. Di daftar dropdown Jenis , pilih jenis aturan. Berbagai jenis aturan dijelaskan di bagian berikut.
  5. Ketik masukan khusus untuk aturan tersebut. Pilih Tambahkan aturan untuk menambahkan aturan ke daftar.
  6. Pilih Simpan di panel Pembatasan Akses .

Nota

Ada batas 512 aturan pembatasan akses. Jika Anda memerlukan lebih dari 512 aturan pembatasan akses, kami sarankan Anda mempertimbangkan produk keamanan mandiri. Pertimbangkan Azure Front Door, Azure Application Gateway, atau firewall aplikasi web (WAF) yang berbeda.

Mengatur aturan berbasis alamat IP

Ikuti prosedur seperti yang diuraikan di bagian sebelumnya, tetapi dengan penambahan berikut:

  • Untuk langkah 4, di daftar dropdown Jenis , pilih IPv4 atau IPv6.

Tentukan Blok Alamat IP dalam notasi Classless Inter-Domain Routing (CIDR) untuk alamat IPv4 dan IPv6. Untuk menentukan alamat, Anda dapat menggunakan sesuatu seperti 1.2.3.4/32, di mana empat oktet pertama mewakili alamat IP Anda dan /32 merupakan masker. Notasi CIDR IPv4 untuk semua alamat adalah 0.0.0.0/0.

Nota

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

Mengatur aturan berbasis titik akhir layanan

  • Untuk langkah 4, di daftar dropdown Jenis , pilih Virtual Network.

    Cuplikan layar panel Tambahkan Pembatasan dengan jenis jaringan virtual dipilih.

Tentukan daftar dropdown Langganan, Virtual Network, dan Subnet , yang cocok dengan apa yang ingin Anda batasi aksesnya.

Dengan menggunakan titik akhir layanan, Anda dapat membatasi akses ke subnet jaringan virtual Azure yang dipilih. Jika titik akhir layanan belum diaktifkan dengan Microsoft.Web untuk subnet yang Anda pilih, titik akhir layanan tersebut diaktifkan secara otomatis kecuali Anda memilih Abaikan titik akhir layanan Microsoft.Web yang hilang. Kemungkinan Anda ingin mengaktifkan titik akhir layanan pada aplikasi tetapi tidak pada subnet tergantung pada jika Anda memiliki izin untuk mengaktifkannya di subnet.

Jika Anda memerlukan orang lain untuk mengaktifkan titik akhir layanan pada subnet, pilih Abaikan titik akhir layanan Microsoft.Web yang hilang. Aplikasi Anda dikonfigurasi untuk titik akhir layanan. Mereka nantinya dapat diaktifkan pada subnet.

Anda tidak dapat menggunakan titik akhir layanan untuk membatasi akses ke aplikasi yang berjalan di Lingkungan App Service. Saat aplikasi berada di Lingkungan App Service, Anda dapat mengontrol akses ke aplikasi tersebut dengan menerapkan aturan akses IP.

Dengan titik akhir layanan, Anda dapat mengonfigurasi aplikasi dengan menggunakan gateway aplikasi atau perangkat firewall aplikasi web (WAF) lainnya. Anda juga dapat mengonfigurasi aplikasi multi-lapis dengan backend yang aman. Untuk informasi selengkapnya, lihat Fitur jaringan App Service dan integrasi Application Gateway.

Nota

Titik akhir layanan tidak didukung untuk aplikasi web yang menggunakan pengikatan TLS/SSL berbasis IP dengan IP virtual.

Mengatur aturan berbasis tag layanan

  • Untuk langkah 4, di daftar dropdown Jenis , pilih Tag Layanan.

    Cuplikan layar panel Tambahkan Pembatasan dengan jenis Tag Layanan dipilih.

Semua tag layanan yang tersedia untuk umum didukung dalam aturan pembatasan akses. Setiap tag layanan mewakili daftar rentang IP dari layanan Azure. Daftar layanan ini dan tautan ke rentang tertentu dapat ditemukan di dokumentasi tag layanan. Gunakan templat atau pembuatan skrip Azure Resource Manager untuk mengonfigurasi aturan yang lebih canggih seperti aturan terlingkup regional.

Nota

Saat Anda membuat aturan berbasis tag layanan melalui portal Microsoft Azure atau Azure CLI, Anda memerlukan akses baca di tingkat langganan untuk mendapatkan daftar lengkap tag layanan untuk pemilihan/validasi. Selain itu, Microsoft.Network penyedia sumber daya perlu didaftarkan di langganan.

Mengedit aturan

  1. Untuk mengedit aturan pembatasan akses yang sudah ada, buka panel Pembatasan Akses dan pilih aturan yang ingin Anda edit.

  2. Pada panel Edit Pembatasan Akses , buat perubahan Anda, lalu pilih Perbarui aturan.

  3. Pilih Simpan untuk menyimpan perubahan.

    Nota

    Saat mengedit aturan, Anda tidak dapat beralih di antara jenis aturan.

Menghapus aturan

  1. Untuk menghapus aturan, pada panel Pembatasan Akses , pilih aturan atau aturan yang ingin Anda hapus, lalu pilih Hapus.

  2. Pilih Simpan untuk menyimpan perubahan.

Cuplikan layar panel Pembatasan Akses, memperlihatkan hapus elipsis di samping aturan pembatasan akses yang akan dihapus.

Skenario tingkat lanjut pembatasan akses

Bagian berikut ini menjelaskan penggunaan pembatasan akses dalam skenario tingkat lanjut.

Filter menurut header HTTP

Anda dapat menambahkan filter header HTTP ke aturan apa pun. Nama header HTTP berikut ini didukung:

  • X-Forwarded-For
  • X-Forwarded-Host
  • X-Azure-FDID
  • X-FD-HealthProbe

Untuk setiap nama header, Anda dapat menambahkan hingga delapan nilai yang dipisahkan oleh koma. Filter header HTTP dievaluasi setelah aturan itu sendiri dan kedua kondisi harus benar agar aturan diterapkan.

Aturan multi-sumber

Aturan multi-sumber memungkinkan Anda menggabungkan hingga delapan rentang IP atau delapan tag layanan dalam satu aturan. Gunakan aturan multi-sumber jika Anda memiliki lebih dari 512 rentang IP atau jika Anda ingin membuat aturan logis. Misalnya: aturan logis dapat mencakup beberapa rentang IP yang dikombinasikan dengan satu filter header HTTP.

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

Contoh PowerShell:

Add-AzWebAppAccessRestrictionRule -ResourceGroupName "ResourceGroup" -WebAppName "AppName" `
  -Name "Multi-source rule" -IpAddress "192.168.1.0/24,192.168.10.0/24,192.168.100.0/24" `
  -Priority 100 -Action Allow

Memblokir satu alamat IP

Jika Anda ingin secara eksplisit memblokir satu alamat IP atau blok alamat IP, tetapi mengizinkan akses ke yang lain, Anda dapat menambahkan aturan Tolak untuk alamat IP tertentu. Kemudian konfigurasikan tindakan yang tidak cocok dengan aturan ke Izinkan.

Cuplikan layar panel Pembatasan Akses di portal Microsoft Azure, memperlihatkan satu alamat IP yang diblokir.

Membatasi akses ke situs SCM

Selain dapat mengontrol akses ke aplikasi, Anda dapat membatasi akses ke situs alat tingkat lanjut manajemen kontrol sumber (SCM) yang digunakan oleh aplikasi Anda. Situs SCM adalah titik akhir penyebaran web dan konsol Kudu. Anda dapat menetapkan pembatasan akses ke situs SCM dari aplikasi secara terpisah atau menggunakan serangkaian pembatasan yang sama untuk aplikasi dan situs SCM. Saat Anda memilih Gunakan aturan situs utama, daftar aturan disembunyikan. Situs SCM menggunakan aturan dari situs utama. Jika Anda membatalkan pilihan kotak centang, pengaturan situs SCM Anda akan muncul lagi.

Cuplikan layar panel Pembatasan Akses di portal Microsoft Azure, memperlihatkan bahwa tidak ada batasan akses yang diatur untuk situs SCM atau aplikasi.

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.

Cuplikan layar panel Pembatasan Akses di portal Microsoft Azure, memperlihatkan cara menambahkan pembatasan Azure Front Door.

Contoh PowerShell:

$afd = Get-AzFrontDoor -Name "MyFrontDoorInstanceName"
Add-AzWebAppAccessRestrictionRule -ResourceGroupName "ResourceGroup" -WebAppName "AppName" `
  -Name "Front Door example rule" -Priority 100 -Action Allow -ServiceTag AzureFrontDoor.Backend `
  -HttpHeader @{'x-azure-fdid' = $afd.FrontDoorId}

Mengelola pembatasan akses secara terprogram

Anda juga dapat mengelola pembatasan akses secara terprogram. Contoh berikut menunjukkan cara menambahkan aturan untuk mengakses pembatasan dan cara mengubah tindakan Aturan yang tidak cocok untuk situs Utama dan situs alat Tingkat Lanjut.

Menambahkan aturan pembatasan akses untuk situs utama

Anda dapat menambahkan aturan pembatasan akses untuk situs Utama secara terprogram dengan memilih salah satu opsi berikut:

Anda dapat menjalankan perintah berikut di Azure Cloud Shell. Untuk informasi selengkapnya tentang perintah, lihat az webapp config access-restriction.

az webapp config access-restriction add --resource-group ResourceGroup --name AppName \
  --rule-name 'IP example rule' --action Allow --ip-address 122.133.144.0/24 --priority 100

az webapp config access-restriction add --resource-group ResourceGroup --name AppName \
  --rule-name "Azure Front Door example" --action Allow --priority 200 --service-tag AzureFrontDoor.Backend \
  --http-header x-azure-fdid=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

Menambahkan aturan pembatasan akses untuk situs alat tingkat lanjut

Anda dapat menambahkan aturan pembatasan akses untuk situs alat Tingkat Lanjut secara terprogram. Pilih salah satu opsi berikut:

Anda dapat menjalankan perintah berikut di Cloud Shell. Untuk informasi selengkapnya tentang perintah, lihat az webapp config access-restriction.

az webapp config access-restriction add --resource-group ResourceGroup --name AppName \
  --rule-name 'IP example rule' --action Allow --ip-address 122.133.144.0/24 --priority 100 --scm-site true

Mengubah tindakan aturan yang tidak cocok untuk situs utama

Anda dapat mengubah tindakan Aturan yang tidak cocok untuk Situs utama secara terprogram dengan memilih salah satu opsi berikut:

Anda dapat menjalankan perintah berikut di Cloud Shell. Untuk informasi selengkapnya tentang perintah, lihat az resource. Nilai yang diterima untuk ipSecurityRestrictionsDefaultAction adalah Allow atau Deny.

az resource update --resource-group ResourceGroup --name AppName --resource-type "Microsoft.Web/sites" \
  --set properties.siteConfig.ipSecurityRestrictionsDefaultAction=Allow

Mengubah tindakan aturan yang tidak cocok untuk situs alat tingkat lanjut

Anda dapat mengubah tindakan Aturan yang tidak cocok untuk situs alat Tingkat Lanjut secara terprogram dengan memilih salah satu opsi berikut:

Anda dapat menjalankan perintah berikut di Cloud Shell. Untuk informasi selengkapnya tentang perintah, lihat az resource. Nilai yang diterima untuk scmIpSecurityRestrictionsDefaultAction adalah Allow atau Deny.

az resource update --resource-group ResourceGroup --name AppName --resource-type "Microsoft.Web/sites" \
  --set properties.siteConfig.scmIpSecurityRestrictionsDefaultAction=Allow

Menyiapkan pembatasan akses Azure Functions

Pembatasan akses juga tersedia untuk aplikasi fungsi dengan fungsionalitas yang sama dengan paket App Service. Saat mengaktifkan pembatasan akses, Anda juga menonaktifkan editor kode portal Microsoft Azure untuk IP yang tidak diizinkan.