Enkripsi at rest menggunakan kunci yang dikelola pelanggan
Mengenkripsi data tidak aktif aplikasi apl web Anda memerlukan Akun Azure Storage dan Azure Key Vault. Layanan ini digunakan saat Anda menjalankan aplikasi Anda dari paket penyebaran.
- Azure Storage menyediakan enkripsi at rest. Anda dapat menggunakan kunci yang disediakan sistem atau kunci Anda sendiri, kunci yang dikelola pelanggan. Di sinilah data aplikasi Anda disimpan saat data itu tidak sedang berjalan di aplikasi web di Azure.
- Menjalankan dari paket penyebaran adalah fitur penyebaran App Service. Ini memungkinkan Anda untuk menyebarkan konten situs dari Akun Azure Storage menggunakan URL Tanda Tangan Akses Bersama (Shared Access Signature/SAS).
- Referensi Key Vault adalah fitur keamanan App Service. Ini memungkinkan Anda untuk mengimpor rahasia pada runtime sebagai pengaturan aplikasi. Gunakan referensi ini untuk mengenkripsi URL SAS Akun Azure Storage Anda.
Menyiapkan enkripsi at rest
Membuat akun Azure Storage
Pertama, buat akun Azure Storage dan enkripsikan dengan kunci yang dikelola pelanggan. Setelah akun penyimpanan dibuat, gunakan Azure Storage Explorer untuk mengunggah file paket.
Selanjutnya, gunakan Storage Explorer untuk menghasilkan SAS.
Catatan
Simpan URL SAS ini untuk digunakan nanti saat mengaktifkan akses aman paket penyebaran pada runtime.
Konfigurasikan menjalankan dari paket dari akun penyimpanan Anda
Setelah mengunggah file Anda ke penyimpanan Blob dan memiliki URL SAS untuk file itu, atur pengaturan aplikasi WEBSITE_RUN_FROM_PACKAGE
ke URL SAS. Contoh berikut melakukannya dengan menggunakan Azure CLI:
az webapp config appsettings set --name <app-name> --resource-group <resource-group-name> --settings WEBSITE_RUN_FROM_PACKAGE="<your-SAS-URL>"
Menambahkan pengaturan aplikasi ini menyebabkan aplikasi web Anda dihidupkan ulang. Setelah aplikasi dihidupkan ulang, telusuri dan pastikan bahwa aplikasi telah memulai dengan benar menggunakan paket penyebaran. Jika aplikasi tidak memulai dengan benar, lihat Panduan pemecahan masalah menjalankan dari paket.
Mengenkripsi pengaturan aplikasi menggunakan referensi Key Vault
Sekarang Anda dapat mengganti nilai pengaturan aplikasi WEBSITE_RUN_FROM_PACKAGE
dengan referensi Key Vault ke URL yang dikodekan SAS. Ini membuat URL SAS dienkripsi di Key Vault, yang memberikan lapisan keamanan tambahan.
Gunakan perintah
az keyvault create
berikut untuk membuat instans Key Vault.az keyvault create --name "Contoso-Vault" --resource-group <group-name> --location eastus
Ikuti petunjuk berikut untuk memberi aplikasi Anda akses ke brankas kunci:
Gunakan perintah
az keyvault secret set
berikut untuk menambahkan URL eksternal Anda sebagai rahasia di brankas kunci:az keyvault secret set --vault-name "Contoso-Vault" --name "external-url" --value "<SAS-URL>"
Gunakan perintah
az webapp config appsettings set
berikut untuk membuat pengaturan aplikasiWEBSITE_RUN_FROM_PACKAGE
dengan nilai sebagai referensi Key Vault ke URL eksternal:az webapp config appsettings set --settings WEBSITE_RUN_FROM_PACKAGE="@Microsoft.KeyVault(SecretUri=https://Contoso-Vault.vault.azure.net/secrets/external-url/<secret-version>"
<secret-version>
akan berada di output dari perintahaz keyvault secret set
sebelumnya.
Memperbarui pengaturan aplikasi ini menyebabkan aplikasi web Anda dihidupkan ulang. Setelah aplikasi dihidupkan ulang, telusuri untuk memastikan aplikasi telah memulai dengan benar menggunakan referensi Key Vault.
Cara memutar token akses
Memutar kunci SAS dari akun penyimpanan Anda secara berkala merupakan praktik terbaik untuk dilakukan. Untuk memastikan aplikasi web tidak secara tidak sengaja kehilangan akses, Anda juga harus memperbarui URL SAS di Key Vault.
Putar kunci SAS dengan membuka akun penyimpanan Anda di portal Microsoft Azure. Di bawah Pengaturan>Kunci akses, pilih ikon untuk memutar kunci SAS.
Salin URL SAS yang baru, dan gunakan perintah berikut untuk mengatur URL SAS yang diperbarui di brankas kunci Anda:
az keyvault secret set --vault-name "Contoso-Vault" --name "external-url" --value "<SAS-URL>"
Perbarui referensi brankas kunci dalam pengaturan aplikasi Anda ke versi rahasia baru:
az webapp config appsettings set --settings WEBSITE_RUN_FROM_PACKAGE="@Microsoft.KeyVault(SecretUri=https://Contoso-Vault.vault.azure.net/secrets/external-url/<secret-version>"
<secret-version>
akan berada di output dari perintahaz keyvault secret set
sebelumnya.
Cara mencabut akses data aplikasi web
Ada dua metode untuk mencabut akses aplikasi web ke akun penyimpanan.
Memutar kunci SAS untuk akun Azure Storage
Jika kunci SAS untuk akun penyimpanan diputar, aplikasi web tidak akan lagi memiliki akses ke akun penyimpanan, tetapi akan terus berjalan dengan versi terakhir yang diunduh dari file paket. Hidupkan ulang aplikasi web untuk menghapus versi terakhir yang diunduh.
Menghapus akses aplikasi web ke Key Vault
Anda dapat mencabut akses aplikasi web ke data situs dengan menonaktifkan akses aplikasi web ke Key Vault. Untuk melakukannya, hapus kebijakan akses untuk identitas aplikasi web. Ini adalah identitas sama yang Anda buat sebelumnya saat mengonfigurasi referensi brankas kunci.
Ringkasan
File aplikasi Anda sekarang dienkripsi secara at rest di akun penyimpanan Anda. Saat aplikasi web Anda memulai, ia mengambil URL SAS dari brankas kunci Anda. Terakhir, aplikasi web memuat file aplikasi dari akun penyimpanan.
Jika Anda perlu mencabut akses aplikasi web ke akun penyimpanan, Anda dapat mencabut akses ke brankas kunci atau memutar kunci akun penyimpanan, yang keduanya membatalkan URL SAS.
Pertanyaan Umum
Apakah ada biaya tambahan untuk menjalankan aplikasi web saya dari paket penyebaran?
Hanya biaya yang terkait dengan Akun Azure Storage dan biaya keluar yang berlaku.
Bagaimana menjalankan dari paket penyebaran mempengaruhi aplikasi web saya?
- Menjalankan aplikasi Anda dari paket penyebaran menjadikan
wwwroot/
bersifat baca-saja. Aplikasi Anda mendapatkan kesalahan saat mencoba menulis ke direktori ini. - Format TAR dan GZIP tidak didukung.
- Fitur ini tidak kompatibel dengan cache lokal.