Mengamankan Azure Functions
Dalam banyak hal, merencanakan pengembangan, penyebaran, dan pengoperasian fungsi tanpa server yang aman jauh sama dengan untuk aplikasi berbasis web atau yang dihosting cloud. Azure App Service menyediakan infrastruktur hosting untuk aplikasi fungsi Anda. Artikel ini menyediakan strategi keamanan untuk menjalankan kode fungsi Anda, dan bagaimana App Service dapat membantu mengamankan fungsi Anda.
Komponen platform App Services, termasuk VM Azure, penyimpanan, koneksi jaringan, kerangka kerja web, fitur manajemen dan integrasi, diamankan dan diperkuat secara aktif. App Service menjalani pemeriksaan kepatuhan yang ketat secara berkelanjutan untuk memastikan bahwa:
- Sumber daya aplikasi Anda dilindungi dari sumber daya Azure pelanggan lain.
- Instans VM dan perangkat lunak runtime diperbarui secara berkala untuk mengatasi kerentanan yang baru ditemukan.
- Komunikasi rahasia (seperti string koneksi) antara aplikasi Anda dan sumber daya Azure lainnya (seperti SQL Database) tetap berada dalam Azure dan tidak melewati batas jaringan apa pun. Rahasia selalu dienkripsi saat disimpan.
- Semua komunikasi melalui fitur konektivitas App Service, seperti koneksi hibrid, dienkripsi.
- Koneksi dengan alat manajemen jarak jauh seperti Azure PowerShell, Azure CLI, SDK Azure, REST API, semuanya dienkripsi.
- Manajemen ancaman 24 jam melindungi infrastruktur dan platform dari malware, distributed denial-of-service (DDoS), man-in-the-middle (MITM), dan ancaman lainnya.
Untuk informasi selengkapnya tentang infrastruktur dan keamanan platform di Azure, lihat Pusat Kepercayaan Azure.
Untuk serangkaian rekomendasi keamanan yang mengikuti tolok ukur keamanan cloud Microsoft, lihat Garis Besar Keamanan Azure untuk Azure Functions.
Mengamankan operasi
Bagian ini memandu Anda mengonfigurasi dan menjalankan aplikasi fungsi seaman mungkin.
Defender for Cloud
Defender for Cloud terintegrasi dengan aplikasi fungsi Anda di portal. Layanan gratis ini menilai dengan cepat potensi kerentanan keamanan yang terkait dengan konfigurasi. Aplikasi fungsi yang berjalan dalam paket khusus juga dapat menggunakan fitur keamanan Defender untuk Cloud yang ditingkatkan dengan biaya tambahan. Untuk mempelajari selengkapnya, lihat Memproteksi aplikasi web dan API Azure App Service Anda.
Mencatat dan memantau
Salah satu cara untuk mendeteksi serangan adalah melalui pemantauan aktivitas dan analitik pengelogan. Fungsi terintegrasi dengan Application Insights untuk mengumpulkan data log, performa, dan kesalahan untuk aplikasi fungsi Anda. Application Insights secara otomatis mendeteksi anomali performa dan menyertakan alat analitik yang kuat untuk membantu Anda mendiagnosis masalah dan memahami bagaimana fungsi Anda digunakan. Untuk mempelajari selengkapnya, lihat Memantau Azure Functions.
Azure Functions juga terintegrasi dengan Log Azure Monitor agar Anda dapat memperkuat log aplikasi fungsi dengan peristiwa sistem untuk mempermudah analisis. Anda dapat menggunakan pengaturan diagnostik untuk mengonfigurasi ekspor streaming log platform dan metrik untuk fungsi Anda ke tujuan pilihan Anda, seperti ruang kerja Analitik Log. Untuk mempelajari selengkapnya, lihat Memantau Azure Functions dengan Log Azure Monitor.
Untuk deteksi ancaman tingkat perusahaan dan otomatisasi respons, alirkan log dan peristiwa Anda ke ruang kerja Analitik Logs. Anda kemudian dapat menghubungkan Microsoft Azure Sentinel ke ruang kerja ini. Untuk mempelajari lebih lanjut, lihat Apa itu Microsoft Azure Sentinel.
Untuk rekomendasi pengamatan keamanan lainnya, lihat Garis besar keamanan Azure untuk Azure Functions.
Titik akhir HTTP aman
Titik akhir HTTP yang diekspos secara publik menyediakan vektor serangan untuk aktor jahat. Saat mengamankan titik akhir HTTP, Anda harus menggunakan pendekatan keamanan berlapis. Teknik-teknik ini dapat digunakan untuk mengurangi kerentanan titik akhir HTTP yang diekspos secara publik, diurutkan dari yang paling mendasar hingga paling aman dan ketat:
- Memerlukan HTTPS
- Memerlukan kunci akses
- Mengaktifkan Autentikasi/Otorisasi App Service
- Menggunakan Azure API Management (APIM) untuk mengautentikasi permintaan
- Menyebarkan aplikasi fungsi Anda ke jaringan virtual
- Menyebarkan aplikasi fungsi Anda dalam isolasi
Memerlukan HTTPS
Secara default, klien dapat terhubung ke titik akhir fungsi dengan menggunakan HTTP atau HTTPS. Anda harus mengalihkan HTTP ke HTTPS karena HTTPS menggunakan protokol SSL/TLS untuk menyediakan koneksi aman, yang dienkripsi dan diautentikasi. Untuk mempelajari caranya, lihat Memberlakukan HTTPS.
Ketika Anda memerlukan HTTPS, Anda juga harus memerlukan versi TLS terbaru. Untuk mempelajari caranya, lihat Menerapkan versi TLS.
Untuk informasi selengkapnya, lihat Mengamankan koneksi (TSL).
Kunci akses fungsi
Functions memungkinkan Anda menggunakan kunci untuk mempersulit akses titik akhir fungsi Anda. Kecuali tingkat akses HTTP pada fungsi yang dipicu HTTP diatur ke anonymous
, permintaan harus menyertakan kunci akses dalam permintaan. Untuk informasi selengkapnya, lihat Bekerja dengan kunci akses di Azure Functions.
Meskipun kunci akses dapat memberikan beberapa mitigasi untuk akses yang tidak diinginkan, satu-satunya cara untuk benar-benar mengamankan titik akhir fungsi Anda adalah dengan menerapkan autentikasi positif klien yang mengakses fungsi Anda. Anda kemudian dapat membuat keputusan otorisasi berdasarkan identitas.
Untuk tingkat keamanan tertinggi, Anda juga dapat mengamankan seluruh arsitektur aplikasi di dalam jaringan virtual menggunakan titik akhir privat atau dengan menjalankan dalam isolasi..
Menonaktifkan titik akhir administratif
Aplikasi fungsi dapat melayani titik akhir administratif di bawah /admin
rute yang dapat digunakan untuk operasi seperti mendapatkan informasi status host dan melakukan pemanggilan pengujian. Saat diekspos, permintaan terhadap titik akhir ini harus menyertakan kunci master aplikasi. Operasi administratif juga tersedia melalui AZURE Resource Manager Microsoft.Web/sites
API, yang menawarkan Azure RBAC. Anda dapat menonaktifkan /admin
titik akhir dengan mengatur functionsRuntimeAdminIsolationEnabled
properti situs ke true
. Properti ini tidak dapat diatur untuk aplikasi yang berjalan di Linux Consumption SKU, dan tidak dapat diatur untuk aplikasi yang berjalan pada Azure Functions versi 1.x. Jika Anda menggunakan versi 1.x, Anda harus terlebih dahulu bermigrasi ke versi 4.x.
Mengaktifkan Autentikasi/Otorisasi App Service
Platform App Service memungkinkan Anda menggunakan ID Microsoft Entra dan beberapa idP pihak ketiga untuk mengautentikasi klien. Anda dapat menggunakan strategi ini untuk menerapkan aturan otorisasi kustom untuk fungsi Anda, dan Anda dapat bekerja dengan informasi pengguna dari kode fungsi Anda. Untuk mempelajari lebih lanjut, lihat Autentikasi dan otorisasi di Azure App Service dan Bekerja dengan identitas klien.
Menggunakan Azure API Management (APIM) untuk mengautentikasi permintaan
APIM menyediakan berbagai opsi keamanan API untuk permintaan masuk. Untuk mempelajari lebih lanjut, lihat Kebijakan autentikasi API Management. Dengan berlakunya APIM, Anda dapat mengonfigurasi aplikasi fungsi untuk menerima permintaan hanya dari alamat IP instans APIM Anda. Untuk mempelajari lebih lanjut, lihat Pembatasan alamat IP.
Izin
Seperti halnya aplikasi atau layanan apa pun, tujuannya adalah untuk menjalankan aplikasi fungsi Anda dengan izin serendah mungkin.
Izin pengelolaan pengguna
Functions mendukung kontrol akses berbasis peran Azure (Azure RBAC) bawaan. Peran Azure yang didukung oleh Functions adalah Kontributor, Pemilik, dan Pembaca.
Izin menjadi efektif di tingkat aplikasi fungsi. Peran Kontributor diperlukan untuk melakukan sebagian besar tugas tingkat aplikasi fungsi. Anda juga memerlukan peran Kontributor bersama dengan izin Pembaca Pemantauan untuk dapat menampilkan data log di Application Insights. Hanya peran Pemilik yang dapat menghapus aplikasi fungsi.
Menata fungsi menurut hak istimewa
String koneksi dan kredensial lain yang disimpan dalam pengaturan aplikasi memberi semua fungsi di aplikasi fungsi sekumpulan izin yang sama di sumber daya terkait. Pertimbangkan untuk mengurangi jumlah fungsi dengan akses ke kredensial tertentu dengan memindahkan fungsi yang tidak menggunakan kredensial tersebut ke aplikasi fungsi terpisah. Anda selalu dapat menggunakan teknik seperti penautan fungsi untuk meneruskan data antar fungsi di berbagai aplikasi fungsi.
Identitas Terkelola
Identitas terkelola dari MICROSOFT Entra ID memungkinkan aplikasi Anda mengakses sumber daya lain yang dilindungi Microsoft Entra dengan mudah seperti Azure Key Vault. Identitas dikelola oleh platform Azure dan tidak mengharuskan Anda memprovisikan atau memutar rahasia. Untuk informasi selengkapnya tentang identitas terkelola di ID Microsoft Entra, lihat Identitas terkelola untuk sumber daya Azure.
Aplikasi Anda dapat diberikan dua jenis identitas:
- Identitas yang ditetapkan sistem terkait dengan aplikasi dan dihapus jika aplikasi dihapus. Aplikasi hanya dapat memiliki satu identitas yang ditetapkan sistem.
- Identitas yang ditetapkan pengguna adalah sumber daya Azure mandiri yang dapat ditetapkan ke aplikasi Anda. Aplikasi dapat memiliki beberapa identitas yang ditetapkan pengguna, dan satu identitas yang ditetapkan pengguna dapat ditetapkan ke beberapa sumber daya Azure, seperti dua aplikasi App Service.
Identitas terkelola dapat digunakan sebagai tempat rahasia untuk koneksi dari beberapa pemicu dan pengikatan. Lihat Koneksi berbasis identitas.
Untuk informasi selengkapnya, lihat Cara menggunakan identitas terkelola untuk App Service dan Azure Functions.
Membatasi akses CORS
Berbagi sumber daya lintas asal (CORS) adalah cara untuk memungkinkan aplikasi web berjalan di domain lain untuk membuat permintaan ke titik akhir pemicu HTTP Anda. App Service menyediakan dukungan bawaan untuk menyerahkan header CORS yang diperlukan dalam permintaan HTTP. Aturan CORS didefinisikan pada tingkat aplikasi fungsi.
Meskipun sangat diinginkan untuk menggunakan wildcard yang memungkinkan semua situs mengakses titik akhir Anda, langkah ini bertentangan dengan tujuan CORS untuk membantu mencegah serangan scripting lintas situs. Sebagai gantinya, tambahkan entri CORS terpisah untuk domain setiap aplikasi web yang harus mengakses titik akhir Anda.
Mengelola rahasia
Agar dapat terhubung ke berbagai layanan dan sumber daya yang diperlukan untuk menjalankan kode Anda, aplikasi fungsi harus dapat mengakses rahasia, seperti string koneksi dan kunci layanan. Bagian ini menjelaskan cara menyimpan rahasia yang diperlukan oleh fungsi Anda.
Jangan pernah menyimpan rahasia dalam kode fungsi Anda.
Pengaturan aplikasi
Secara default, Anda menyimpan string koneksi dan rahasia yang digunakan oleh aplikasi fungsi dan pengikatan sebagai pengaturan aplikasi. Hal ini membuat kredensial tersedia untuk kode fungsi Anda dan berbagai pengikatan yang digunakan oleh fungsi. Nama pengaturan aplikasi (kunci) digunakan untuk mengambil nilai aktual, yang bersifat rahasia.
Misalnya, setiap aplikasi fungsi memerlukan akun penyimpanan terkait yang digunakan oleh runtime. Secara default, koneksi ke akun penyimpanan ini disimpan dalam pengaturan aplikasi bernama AzureWebJobsStorage
.
Pengaturan aplikasi dan string koneksi disimpan dalam enkripsi pada Azure. Mereka didekripsi hanya sebelum disuntikkan ke memori proses aplikasi Anda saat aplikasi dimulai. Kunci enkripsi diputar secara teratur. Jika Anda lebih suka mengelola penyimpanan aman rahasia Anda, pengaturan aplikasi harus menjadi referensi ke rahasia Azure Key Vault.
Anda juga dapat mengenkripsi pengaturan secara default dalam local.settings.json
file saat mengembangkan fungsi di komputer lokal Anda. Untuk informasi selengkapnya, lihat Mengenkripsi file pengaturan lokal.
Referensi Key Vault
Meskipun pengaturan aplikasi cukup untuk sebagian besar fungsi, Anda mungkin ingin berbagi rahasia yang sama di beberapa layanan. Dalam hal ini, penyimpanan rahasia yang berlebihan memperbesar potensi kerentanan. Pendekatan yang lebih aman adalah menggunakan layanan penyimpanan rahasia pusat dan menggunakan referensi ke layanan ini alih-alih rahasia itu sendiri.
Azure Key Vault adalah layanan yang menyediakan manajemen rahasia terpusat, dengan kontrol penuh atas kebijakan akses dan riwayat audit. Anda dapat menggunakan referensi Key Vault di tempat string atau kunci koneksi di pengaturan aplikasi Anda. Untuk mempelajari selengkapnya, lihat Menggunakan referensi Key Vault untuk App Service dan Azure Functions.
Koneksi berbasis identitas
Identitas dapat digunakan sebagai pengganti rahasia untuk menghubungkan ke beberapa sumber daya. Keuntungannya adalah Anda tidak memerlukan manajemen rahasia dan memperlancar kontrol akses dan audit.
Saat Menulis kode yang membuat koneksi ke layanan Azure yang mendukung autentikasi Microsoft Entra, Anda dapat memilih untuk menggunakan identitas alih-alih rahasia atau string koneksi. Detail untuk kedua metode koneksi tercakup dalam dokumentasi untuk setiap layanan.
Beberapa ekstensi pengikatan Azure Functions dapat dikonfigurasi untuk mengakses layanan menggunakan koneksi berbasis identitas. Untuk informasi selengkapnya, lihat Mengonfigurasi koneksi berbasis identitas.
Atur kuota penggunaan
Pertimbangkan untuk mengatur kuota penggunaan untuk fungsi yang berjalan dalam paket Konsumsi. Saat Anda menetapkan batas GB-detik harian pada total eksekusi fungsi di aplikasi fungsi Anda, eksekusi dihentikan saat batas tercapai. Ini berpotensi membantu mengurangi kode berbahaya yang menjalankan fungsi Anda. Untuk mempelajari cara memperkirakan konsumsi untuk fungsi Anda, lihat Memperkirakan biaya rencana Consumption.
Validasi Data
Pemicu dan pengikatan yang digunakan oleh fungsi Anda tidak memberikan validasi data tambahan. Kode Anda harus memvalidasi data apa pun yang diterima dari pemicu atau pengikatan input. Jika layanan upstream disusupi, jangan biarkan input yang tak tervalidasi mengalir melalui fungsi Anda. Misalnya, jika fungsi Anda menyimpan data dari antrean Azure Storage dalam database hubungan, validasikan data dan buatlah parameter perintah untuk menghindari serangan injeksi SQL.
Jangan berasumsi bahwa data yang masuk ke fungsi Anda telah divalidasi atau dibersihkan. Ada baiknya juga untuk memastikan validitas data yang ditulis ke pengikatan output.
Menangani kesalahan
Meskipun tampaknya sepele, penting untuk menulis penanganan kesalahan yang baik dalam fungsi Anda. Kesalahan yang tidak tertangani menggelegak hingga host dan ditangani oleh runtime. Pengikatan yang berbeda menangani pemrosesan kesalahan secara berbeda. Untuk mempelajari selengkapnya, lihat Penanganan kesalahan Azure Functions.
Menonaktifkan penelusuran kesalahan jarak jauh
Pastikan penelusuran kesalahan jarak jauh dinonaktifkan, kecuali ketika Anda secara aktif menelusur kesalahan fungsi Anda. Anda dapat menonaktifkan pengaturan jarak jauh di tab Pengaturan Umum di Konfigurasi aplikasi fungsi Anda di portal.
Membatasi akses CORS
Azure Functions mendukung berbagi sumber daya lintas asal (CORS). CORS dikonfigurasi di portal dan melalui Azure CLI. Daftar asal yang diizinkan CORS berlaku di tingkat aplikasi fungsi. Dengan mengaktifkan CORS, respons menyertakan header Access-Control-Allow-Origin
. Untuk mengetahui informasi selengkapnya, lihat Berbagi sumber daya lintas asal.
Jangan gunakan kartu bebas dalam daftar asal yang diizinkan. Sebagai gantinya, cantumkan domain tertentu yang Anda harapkan untuk mendapatkan permintaan.
Menyimpan data terenkripsi
Azure Storage mengenkripsi semua data di akun penyimpanan ketika tidak aktif. Untuk informasi lebih lanjut, lihat Enkripsi Azure Storage untuk data tidak aktif.
Secara default, data dienkripsi dengan kunci yang dikelola Microsoft. Untuk kontrol tambahan atas kunci enkripsi, Anda dapat menyediakan kunci yang dikelola pelanggan untuk digunakan pada enkripsi blob dan data file. Kunci ini harus ada di Azure Key Vault for Functions untuk dapat mengakses akun penyimpanan. Untuk mempelajari lebih lanjut, lihat Enkripsi ketika tidak aktif menggunakan kunci yang dikelola pelanggan.
Mengamankan sumber daya terkait
Aplikasi fungsi sering bergantung pada sumber daya tambahan, jadi bagian dari mengamankan aplikasi mengamankan sumber daya eksternal ini. Minimal, sebagian besar aplikasi fungsi menyertakan dependensi pada Application Insights dan Azure Storage. Lihat garis besar keamanan Azure untuk Azure Monitor dan garis besar keamanan Azure untuk Penyimpanan untuk panduan tentang mengamankan sumber daya ini.
Penting
Akun penyimpanan digunakan untuk menyimpan data aplikasi penting, terkadang termasuk kode aplikasi itu sendiri. Anda harus membatasi akses dari aplikasi dan pengguna lain ke akun penyimpanan.
Anda juga harus berkonsultasi dengan panduan untuk jenis sumber daya apa pun yang bergantung pada logika aplikasi Anda, baik sebagai pemicu dan pengikatan dan dari kode fungsi Anda.
Mengamankan penyebaran
Integrasi alat Azure Functions memudahkan penerbitan kode proyek fungsi lokal ke Azure. Penting untuk memahami cara kerja penyebaran saat mempertimbangkan keamanan untuk topologi Azure Functions.
Kredensial penyebaran
Penyebaran App Service memerlukan sekumpulan kredensial penyebaran. Kredensial penyebaran ini digunakan untuk mengamankan penyebaran aplikasi fungsi Anda. Kredensial penyebaran dikelola oleh platform App Service dan dienkripsi saat istirahat.
Ada dua jenis kredensial penyebaran:
Kredensial tingkat pengguna: satu set kredensial untuk seluruh akun Azure. Ini dapat digunakan untuk menerapkan ke Layanan Aplikasi untuk aplikasi apa pun, dalam langganan apa pun, bahwa akun Azure memiliki izin untuk mengakses. Ini adalah set default yang muncul di GUI portal (seperti Ringkasan dan Propertihalaman sumber aplikasi). Saat pengguna diberikan akses aplikasi melalui Role-Based Access Control (RBAC) atau izin koadmin, pengguna tersebut dapat menggunakan kredensial tingkat pengguna sendiri hingga akses dicabut. Jangan bagikan kredensial ini dengan pengguna Azure lainnya.
Kredensial tingkat aplikasi: satu set kredensial untuk setiap aplikasi. Ini dapat digunakan untuk diterapkan ke aplikasi itu saja. Kredensial untuk setiap aplikasi dibuat secara otomatis saat pembuatan aplikasi. Mereka tidak dapat dikonfigurasi secara manual, tetapi dapat direset kapan saja. Agar pengguna diberikan akses ke kredensial tingkat aplikasi melalui (RBAC), pengguna tersebut harus menjadi kontributor atau lebih tinggi pada aplikasi (termasuk peran bawaan Kontributor Situs Web). Pembaca tidak diizinkan untuk menerbitkan, dan tidak dapat mengakses kredensial tersebut.
Saat ini, Key Vault tidak didukung untuk kredensial penyebaran. Untuk mempelajari selengkapnya tentang mengelola kredensial penggunaan, lihat Mengonfigurasi kredensial penggunaan untuk Azure App Service.
Nonaktifkan FTP
Secara default, setiap aplikasi fungsi memiliki titik akhir FTP diaktifkan. Titik akhir FTP diakses menggunakan kredensial penyebaran.
FTP tidak disarankan untuk menyebarkan kode fungsi Anda. Penyebaran FTP bersifat manual dan mengharuskan Anda untuk menyinkronkan pemicu. Untuk mempelajari lebih lanjut, lihat Penyebaran FTP.
Ketika Anda tidak berencana menggunakan FTP, Anda harus menonaktifkannya di portal. Jika Anda memilih untuk menggunakan FTP, Anda harus memberlakukan FTPS.
Mengamankan scm
titik akhir
Setiap aplikasi fungsi memiliki titik akhir layanan terkait scm
yang digunakan oleh layanan Advanced Tools (Kudu) untuk penyebaran dan ekstensi situs App Service lainnya. Titik scm
akhir untuk aplikasi fungsi selalu merupakan URL dalam formulir https://<FUNCTION_APP_NAME>.scm.azurewebsites.net
. Ketika Anda menggunakan isolasi jaringan untuk mengamankan fungsi Anda, perhitungkan pula titik akhir ini.
Dengan memiliki titik akhir terpisah scm
, Anda dapat mengontrol penyebaran dan fungsionalitas Alat Tingkat Lanjut lainnya untuk aplikasi fungsi yang terisolasi atau berjalan di jaringan virtual. Titik scm
akhir mendukung autentikasi dasar (menggunakan kredensial penyebaran) dan akses menyeluruh dengan kredensial portal Azure Anda. Untuk mempelajari lebih lanjut, lihat Mengakses layanan Kudu.
Validasi keamanan berkelanjutan
Karena keamanan perlu dipertimbangkan di setiap langkah dalam proses pengembangan, masuk akal untuk juga menerapkan validasi keamanan di lingkungan penyebaran berkelanjutan. Terkadang ini dinamakan DevSecOps. Menggunakan Azure DevOps untuk alur penyebaran memungkinkan Anda mengintegrasikan validasi ke dalam proses penyebaran. Untuk informasi selengkapnya, lihat Mempelajari cara menambahkan validasi keamanan berkelanjutan ke alur CI/CD Anda.
Keamanan jaringan
Membatasi akses jaringan ke aplikasi fungsi memungkinkan Anda mengontrol siapa yang dapat mengakses titik akhir fungsi Anda. Functions memanfaatkan infrastruktur App Service untuk mengizinkan fungsi Anda mengakses sumber daya tanpa menggunakan alamat yang dapat dirutekan oleh internet atau membatasi akses internet ke titik akhir fungsi. Untuk mempelajari selengkapnya tentang opsi jaringan ini, lihat Opsi jaringan Azure Functions.
Mengatur pembatasan akses
Pembatasan akses memungkinkan Anda menentukan daftar aturan izin/tolak untuk mengontrol lalu lintas ke aplikasi Anda. Aturan dievaluasi dalam urutan prioritas. Jika tidak ada aturan yang ditentukan, aplikasi Anda akan menerima lalu lintas dari alamat apa pun. Untuk mempelajari selengkapnya, lihat Pembatasan Akses Azure App Service.
Mengamankan akun penyimpanan
Saat membuat aplikasi fungsi, Anda harus membuat atau menautkan ke akun tujuan umum Azure Storage yang mendukung penyimpanan Blob, Queue, dan Table. Anda dapat mengganti akun penyimpanan ini dengan akun yang diamankan oleh jaringan virtual dengan akses yang diaktifkan oleh titik akhir layanan atau titik akhir privat. Untuk informasi selengkapnya, lihat Membatasi akun penyimpanan Anda ke jaringan virtual.
Menyebarkan aplikasi fungsi Anda ke jaringan virtual
Azure Private Endpoint adalah antarmuka jaringan yang menghubungkan Anda secara privat dan aman ke layanan yang didukung oleh Azure Private Link. Titik Akhir Privat menggunakan alamat IP privat dari jaringan virtual Anda, membawa layanan ke dalam jaringan virtual Anda secara efektif.
Anda dapat menggunakan Titik Akhir Privat untuk fungsi yang dihosting dalam paket Flex Consumption, Elastic Premium , dan Dedicated (App Service ).
Jika Anda ingin melakukan panggilan ke Titik Akhir Privat, Anda harus memastikan pencarian DNS Anda menentukan titik akhir privat. Anda dapat menerapkan perilaku ini di salah satu cara berikut:
- Integrasikan dengan zona privat Azure DNS. Ketika jaringan virtual Anda tidak memiliki server DNS kustom, integrasi dilakukan secara otomatis.
- Kelola titik akhir privat di server DNS yang digunakan oleh aplikasi Anda. Untuk mengelola titik akhir privat, Anda harus mengetahui alamat titik akhir dan menggunakan catatan A untuk mereferensikan titik akhir yang ingin Anda jangkau.
- Konfigurasikan server DNS Anda sendiri untuk diteruskan ke zona privat Azure DNS.
Untuk mempelajari selengkapnya, lihat menggunakan Titik Akhir Pribadi untuk Aplikasi Web.
Menyebarkan aplikasi fungsi Anda dalam isolasi
Lingkungan Azure App Service menyediakan lingkungan hosting khusus untuk menjalankan fungsi Anda. Lingkungan ini memungkinkan Anda mengonfigurasi gateway ujung depan tunggal yang dapat Anda gunakan untuk mengautentikasi semua permintaan masuk. Untuk informasi selengkapnya, lihat Mengonfigurasi Web Application Firewall (WAF) untuk Lingkungan App Service.
Menggunakan layanan gateway
Layanan gateway, seperti Azure Application Gateway dan Azure Front Door memungkinkan Anda menyiapkan Web Application Firewall (WAF). Aturan WAF digunakan untuk memantau atau memblokir serangan yang terdeteksi, sebagai lapisan perlindungan ekstra untuk fungsi Anda. Untuk menyiapkan WAF, aplikasi fungsi Anda harus berjalan di ASE atau menggunakan Titik Akhir Privat (pratinjau). Untuk mempelajari selengkapnya, lihat Menggunakan Titik Akhir Privat.