Bagikan melalui


Menyiapkan pembatasan akses Azure App Service

Catatan

Mulai 1 Juni 2024, aplikasi App Service yang baru dibuat dapat menghasilkan nama host default unik yang menggunakan konvensi <app-name>-<random-hash>.<region>.azurewebsites.netpenamaan . Nama aplikasi yang ada tetap tidak berubah. Contohnya:

myapp-ds27dh7271aah175.westus-01.azurewebsites.net

Untuk informasi selengkapnya, lihat Nama Host Default Unik untuk Sumber Daya App Service.

Dengan menyiapkan pembatasan akses, Anda dapat menentukan daftar izin/tolak yang diurutkan berdasarkan prioritas yang mengontrol akses jaringan ke aplikasi Anda. Daftar ini dapat menyertakan alamat IP atau subnet Azure Virtual Network. Jika ada satu atau beberapa entri, sebuah implisit deny all akan 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 Functions.

Saat seseorang membuat permintaan ke aplikasi Anda, alamat FROM dievaluasi terhadap aturan dalam daftar pembatasan akses Anda. Jika alamat FROM 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.

Kemampuan pembatasan akses diimplementasikan dalam peran ujung-depan App Service, yang merupakan upstream dari host pekerja 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. Titik akhir layanan tidak berfungsi 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.

Catatan

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

Diagram alur pembatasan akses.

Mengelola aturan pembatasan akses di portal

Untuk menambahkan aturan pembatasan akses ke aplikasi Anda:

  1. Masuk ke portal Azure.

  2. Pilih aplikasi yang ingin Anda tambahkan pembatasan aksesnya.

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

  4. Pada halaman Jaringan , di bawah Konfigurasi lalu lintas masuk, pilih Pengaturan akses jaringan publik.

    Cuplikan layar halaman opsi jaringan App Service di portal Azure.

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

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

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

Izin

Izin kontrol akses berbasis Peran berikut pada subnet atau pada tingkat yang lebih tinggi diperlukan untuk mengonfigurasi pembatasan akses melalui portal Azure, CLI, atau saat mengatur properti konfigurasi situs secara langsung:

Tindakan Deskripsi
Microsoft.Web/sites/config/read Mendapatkan pengaturan 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 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 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 halaman 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, tolak implisit semua berlaku setelah Anda menambahkan bahkan satu aturan.

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

  1. Pada Tindakan, pilih Izinkan atau Tolak.

    Cuplikan layar panel 'Tambahkan Pembatasan Akses'.

  2. Atau, masukkan nama dan deskripsi aturan.

  3. Dalam kotak Prioritas, masukkan nilai prioritas.

  4. Di daftar dropdown Jenis, pilih jenis aturan. Berbagai jenis aturan dijelaskan di bagian berikut.

  5. Pilih Tambahkan aturan setelah mengetikkan input khusus aturan untuk menambahkan aturan ke daftar.

Terakhir pilih Simpan kembali di halaman Pembatasan Akses.

Catatan

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 App Gateway, atau WAF alternatif.

Mengatur aturan berbasis alamat IP

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

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

Tentukan Blok Alamat IP dalam notasi Perutean Antar-Domain Tanpa Kelas (CIDR) untuk alamat IPv4 dan IPv6. Untuk menentukan alamat, Anda dapat menggunakan alamat seperti 1.2.3.4/32, di mana empat oktet pertama mewakili alamat IP Anda dan /32 adalah masker. Notasi CIDR IPv4 untuk semua alamat adalah 0.0.0.0/0. Untuk mempelajari notasi CIDR lebih lanjut, lihat Perutean Antar-Domain Tanpa Kelas.

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 multi-penyewa, Anda harus menggunakan titik akhir layanan guna 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 Virtual Network dipilih.

Tentukan daftar drop-down 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. Skenario di mana Anda mungkin ingin mengaktifkan titik akhir layanan pada aplikasi dan bukan pada subnet yang bergantung terutama pada apakah 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 untuk mengantisipasi mengaktifkannya nanti di 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 gateway aplikasi atau perangkat firewall aplikasi web (WAF) lainnya. Anda juga dapat mengonfigurasi aplikasi multi-tingkat dengan ujung belakang yang aman. Untuk informasi selengkapnya, lihat Fitur jaringan App Service dan integrasi Application Gateway.

Catatan

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 yang 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 skrip Azure Resource Manager untuk mengonfigurasi aturan tingkat lanjut seperti aturan cakupan regional.

Catatan

Saat Anda membuat aturan berbasis tag layanan melalui portal 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 pada langganan.

Mengedit aturan

  1. Untuk mulai mengedit aturan pembatasan akses yang sudah ada, pada halaman Pembatasan Akses, 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.

    Catatan

    Saat mengedit aturan, Anda tidak bisa beralih antar jenis aturan.

Hapus aturan

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

  2. Pilih Simpan untuk menyimpan perubahan.

Cuplikan layar halaman 'Pembatasan Akses', memperlihatkan elipsis 'Hapus' di samping aturan pembatasan akses yang akan dihapus.

Skenario tingkat lanjut pembatasan akses

Bagian berikut ini menjelaskan beberapa skenario tingkat lanjut menggunakan pembatasan akses.

Memfilter menurut header http

Sebagai bagian dari aturan apa pun, Anda dapat menambahkan filter header http. Nama header http berikut ini didukung:

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

Untuk setiap nama header, Anda bisa menambahkan hingga delapan nilai yang dipisahkan oleh koma. Filter header http dievaluasi setelah aturan itu sendiri dan kedua kondisi harus benar agar aturan dapat 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 Anda ingin membuat aturan logis. Aturan logis bisa menjadi tempat 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.

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

Untuk skenario di mana Anda ingin secara eksplisit memblokir satu alamat IP atau blok alamat IP, tetapi mengizinkan akses ke yang lain, tambahkan aturan Tolak untuk alamat IP tertentu. Kemudian konfigurasikan tindakan aturan yang tidak cocok untuk Izinkan.

Cuplikan layar halaman '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 SCM (Alat tingkat lanjut) yang digunakan oleh aplikasi Anda. Situs SCM adalah titik akhir penyebaran web dan konsol Kudu. Anda dapat menetapkan batasan akses ke situs SCM dari aplikasi secara terpisah atau menggunakan kumpulan batasan 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 halaman 'Pembatasan Akses' di portal Microsoft Azure, memperlihatkan bahwa tidak ada pembatasan akses yang ditetapkan 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 halaman '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 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 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 dengan memilih 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 sumber daya az. 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 sumber daya az. 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 seperti paket App Service. Saat Anda mengaktifkan pembatasan akses, Anda juga menonaktifkan editor kode portal Microsoft Azure untuk IP yang tidak diizinkan.