Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Berlaku untuk:Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Artikel ini menguraikan dasar-dasar mengamankan tingkat data aplikasi yang menggunakan Azure SQL Database, Azure SQL Managed Instance, dan Azure Synapse Analytics. Strategi keamanan yang dijelaskan dalam artikel ini mengikuti pendekatan pertahanan berlapis secara mendalam seperti yang ditunjukkan pada diagram berikut, dan bergerak dari luar ke dalam.
Keamanan jaringan
Azure SQL Database, Azure SQL Managed Instance, dan Azure Synapse Analytics menyediakan layanan database relasional untuk aplikasi cloud dan perusahaan. Untuk membantu melindungi data pelanggan, firewall mencegah akses jaringan ke server hingga Anda secara eksplisit memberikan akses berdasarkan alamat IP atau asal lalu lintas jaringan Azure Virtual.
Aturan firewall IP
Aturan firewall IP memberikan akses ke database berdasarkan alamat IP asal dari setiap permintaan. Untuk informasi selengkapnya, lihat Gambaran Umum Azure SQL Database dan aturan firewall Azure Synapse Analytics.
Aturan firewall jaringan virtual
Titik akhir layanan jaringan virtual memperluas konektivitas jaringan virtual Anda melalui tulang punggung Azure dan mengaktifkan Azure SQL Database untuk mengidentifikasi subnet jaringan virtual asal lalu lintas tersebut. Untuk mengizinkan lalu lintas mencapai Azure SQL Database, gunakan tag layanan SQL untuk mengizinkan lalu lintas keluar melalui Kelompok Keamanan Jaringan.
- Aturan jaringan virtual mengaktifkan Azure SQL Database hanya menerima komunikasi yang dikirim dari subnet yang dipilih di dalam jaringan virtual.
- Mengontrol akses dengan aturan firewall tidak berlaku untuk SQL Managed Instance. Untuk informasi selengkapnya tentang konfigurasi jaringan yang diperlukan, lihat Menyambungkan ke instans terkelola
Catatan
Mengontrol akses dengan aturan firewall tidak berlaku untuk SQL Managed Instance. Untuk informasi selengkapnya tentang konfigurasi jaringan yang diperlukan, lihat Menyambungkan ke instans terkelola
Perimeter keamanan jaringan
Perimeter keamanan jaringan Azure menciptakan batas jaringan logis di sekitar sumber daya platform-as-a-service (PaaS) yang Anda sebarkan di luar jaringan virtual Anda.
- Perimeter keamanan jaringan Azure membantu Anda mengontrol akses jaringan publik ke Azure SQL Database.
- Mengontrol akses dengan perimeter keamanan jaringan Azure tidak berlaku untuk Azure SQL Managed Instance.
Penting
Azure SQL Database dengan Perimeter Keamanan Jaringan saat ini dalam pratinjau. Pratinjau disediakan tanpa perjanjian tingkat layanan, dan tidak disarankan untuk beban kerja produksi. Fitur tertentu mungkin tidak didukung atau mungkin memiliki kemampuan terbatas. Untuk informasi lebih lanjut, lihat Supplemental Terms of Use for Microsoft Azure Previews.
Autentikasi
Autentikasi adalah proses untuk membuktikan bahwa pengguna adalah yang mereka klaim. Azure SQL Database dan SQL Managed Instance mendukung autentikasi dengan ID Microsoft Entra (sebelumnya Azure Active Directory) dan autentikasi SQL. SQL Managed Instance juga mendukung autentikasi Windows untuk prinsipal Microsoft Entra.
Autentikasi Microsoft Entra:
Autentikasi Microsoft Entra adalah mekanisme untuk menyambungkan ke Azure SQL Database, Azure SQL Managed Instance, dan Azure Synapse Analytics dengan menggunakan identitas di ID Microsoft Entra. Autentikasi Microsoft Entra memungkinkan administrator mengelola identitas dan izin pengguna database secara terpusat bersama dengan layanan Azure lainnya di satu lokasi pusat. Fitur ini dapat membantu menghilangkan penggunaan rahasia dan kata sandi.
Untuk menggunakan autentikasi Microsoft Entra dengan SQL Database, buat admin server yang disebut administrator Microsoft Entra. Untuk informasi selengkapnya, lihat Menyambungkan ke SQL Database dengan autentikasi Microsoft Entra. Autentikasi Microsoft Entra mendukung akun terkelola dan federasi. Akun terfederasi mendukung pengguna dan grup Windows untuk domain pelanggan yang terfederasi dengan ID Microsoft Entra.
Microsoft Entra mendukung beberapa opsi autentikasi yang berbeda, termasuk autentikasi multifaktor, autentikasi Windows Terintegrasi, dan Akses Bersyarkat.
Autentikasi Windows untuk prinsipal Microsoft Entra:
Autentikasi Kerberos untuk prinsipal Microsoft Entra memungkinkan autentikasi Windows untuk Azure SQL Managed Instance. Autentikasi Windows untuk instans terkelola memberdayakan pelanggan untuk memindahkan layanan yang ada ke cloud sambil mempertahankan pengalaman pengguna yang mulus dan memberikan dasar untuk modernisasi infrastruktur.
Untuk mengaktifkan autentikasi Windows bagi prinsipal Microsoft Entra, ubah penyewa Microsoft Entra Anda menjadi domain Kerberos independen dan buat kepercayaan masuk di domain pelanggan. Pelajari bagaimana autentikasi Windows untuk Azure SQL Managed Instance diterapkan dengan ID Microsoft Entra dan Kerberos.
Autentikasi SQL:
Autentikasi SQL mengacu pada autentikasi pengguna saat menyambungkan ke Azure SQL Database atau Azure SQL Managed Instance dengan menggunakan nama pengguna dan kata sandi. Anda harus menentukan login admin server dengan nama pengguna dan kata sandi saat membuat server. Dengan menggunakan informasi masuk ini, admin server dapat mengautentikasi ke database apa pun di server atau instans tersebut sebagai pemilik database. Setelah itu, admin server dapat membuat login dan pengguna SQL lainnya, yang memungkinkan pengguna untuk terhubung dengan menggunakan nama pengguna dan kata sandi.
Manajemen otorisasi dan akses
Otorisasi mengacu pada kontrol akses ke manajemen server dan database, dan ke data, sumber daya, dan perintah dalam database. Anda menetapkan izin kepada pengguna dalam database di Azure SQL Database atau Azure SQL Managed Instance. Penetapan peran akun pengguna portal Anda mengontrol pengelolaan database dan server dalam Azure. Untuk informasi selengkapnya, lihat Kontrol akses berbasis peran Azure di portal Microsoft Azure.
Kelola izin dengan menambahkan akun pengguna ke peran database dan menetapkan izin tingkat database ke peran tersebut. Atau, berikan izin tingkat objek tertentu kepada pengguna individual. Untuk informasi selengkapnya, lihat Login dan pengguna.
Selain itu, Azure SQL Managed Instance menyediakan peran tingkat server (tetap atau kustom) untuk mengelola izin untuk instans. Peran tingkat server memiliki cakupan izin di seluruh server. Anda dapat menambahkan prinsipal tingkat server ke dalam peran tingkat server.
Sebagai praktik terbaik, buat peran khusus saat diperlukan. Tambahkan pengguna ke peran dengan hak istimewa paling sedikit yang diperlukan untuk melakukan fungsi pekerjaannya. Jangan menetapkan izin langsung kepada pengguna. Akun admin server adalah anggota peran db_owner bawaan, yang memiliki izin luas dan hanya boleh diberikan kepada beberapa pengguna dengan tugas administratif. Untuk membatasi cakupan lebih lanjut tentang apa yang dapat dilakukan pengguna, gunakan EXECUTE AS untuk menentukan konteks eksekusi modul yang disebut. Mengikuti praktik terbaik ini juga merupakan langkah mendasar menuju Pemisahan Tugas.
Keamanan tingkat baris
Row-Level Security memungkinkan Anda mengontrol akses ke baris dalam tabel database berdasarkan karakteristik pengguna yang menjalankan kueri (misalnya, keanggotaan grup atau konteks eksekusi). Gunakan Row-Level Security untuk menerapkan konsep keamanan berbasis Label kustom. Untuk informasi selengkapnya, lihat Keamanan Tingkat Baris.
Perlindungan terhadap ancaman
Azure SQL Database dan SQL Managed Instance mengamankan data pelanggan dengan menyediakan kemampuan audit dan deteksi ancaman.
Pengauditan SQL di log Azure Monitor dan Azure Event Hubs
Pengauditan SQL Database dan SQL Managed Instance melacak aktivitas database dan membantu menjaga kepatuhan dengan standar keamanan dengan merekam peristiwa database ke log audit di akun penyimpanan Azure milik pelanggan. Audit memungkinkan Anda memantau aktivitas database yang sedang berlangsung, serta menganalisis dan menyelidiki aktivitas historis untuk mengidentifikasi potensi ancaman atau dugaan penyalahgunaan dan pelanggaran keamanan. Untuk informasi selengkapnya, lihat Memulai dengan Pengauditan SQL Database.
Perlindungan Tingkat Lanjut terhadap Ancaman
Perlindungan Ancaman Tingkat Lanjut menganalisis log Anda untuk mendeteksi perilaku yang tidak biasa dan upaya yang berpotensi berbahaya untuk mengakses atau mengeksploitasi database. Ini menciptakan pemberitahuan untuk aktivitas mencurigakan seperti injeksi SQL, potensi infiltrasi data, dan serangan brute force atau untuk anomali dalam pola akses untuk menangkap eskalasi hak istimewa dan penggunaan kredensial yang dilanggar. Anda dapat melihat pemberitahuan dari Microsoft Defender untuk Cloud, di mana disediakan detail aktivitas mencurigakan beserta rekomendasi untuk penyelidikan lebih lanjut dan tindakan untuk mengurangi ancaman. Anda dapat mengaktifkan Perlindungan Ancaman Tingkat Lanjut per server dengan biaya tambahan. Untuk informasi selengkapnya, lihat Mulai dengan Perlindungan Ancaman Tingkat Lanjut SQL Database.
Perlindungan dan enkripsi informasi
Keamanan Lapisan Transportasi (enkripsi saat transit)
SQL Database, SQL Managed Instance, dan Azure Synapse Analytics mengamankan data pelanggan dengan mengenkripsi data yang bergerak dengan Keamanan Lapisan Transportasi (TLS). Layanan ini selalu memberlakukan koneksi terenkripsi TLS untuk memastikan semua data dienkripsi saat transit antara klien dan server.
Secara khusus, SQL Database, SQL Managed Instance, dan Azure Synapse Analytics mengatur parameter ForceEncryption konfigurasi ke Yes. Klien dan driver harus mendukung koneksi terenkripsi untuk terhubung ke layanan ini. Versi terendah dari protokol TDS yang dapat tersambung adalah TDS 7.1.
Sebagai praktik terbaik, jika Anda memiliki driver SQL berkemampuan TDS 8.0, gunakan enkripsi koneksi yang ketat.
Jika driver Anda tidak mendukung TDS 8.0, gunakan enkripsi wajib dan jangan percayai sertifikat server. Misalnya, saat menggunakan driver ADO.NET, gunakan Encrypt=True dan TrustServerCertificate=False dalam string koneksi untuk menyelesaikan ini. String koneksi yang Anda dapatkan dari portal Microsoft Azure sudah dikonfigurasi dengan nilai-nilai ini.
Hindari mengatur parameter TrustServerCertificate ke True dalam penggunaan produksi.
TrustServerCertificate=True terlalu permisif dan tidak melindungi dari serangan man-in-the-middle. Sebagai gantinya, jika klien Anda mengharapkan nama domain yang berbeda di sertifikat server, gunakan HostNameInCertificate parameter untuk memberikan nama domain yang benar untuk validasi.
Misalnya, saat menggunakan driver ADO.NET untuk menyambungkan ke instans terkelola contoso-instance.123456.database.windows.net Anda melalui nama contoso-instance.contoso.comdomain kustom , atur parameter Encrypt=True koneksi dan atur HostNameInCertificate=contoso-instance.123456.database.windows.net. Konfigurasi ini memungkinkan driver memvalidasi sertifikat server terhadap nama domain titik akhir VNet-lokal yang diharapkan.
Penting
Beberapa driver non-Microsoft mungkin tidak menggunakan TLS secara default atau mungkin mengandalkan versi TLS yang lebih lama (lebih lama dari 1.2) untuk berfungsi. Dalam hal ini, server masih memungkinkan Anda untuk menyambungkan ke database Anda. Namun, evaluasi risiko keamanan yang memungkinkan driver dan aplikasi tersebut terhubung ke SQL Database, terutama jika Anda menyimpan data sensitif.
Untuk informasi selengkapnya tentang TLS dan konektivitas, lihat pertimbangan TLS.
Enkripsi data transparan (enkripsi saat data diam) dengan kunci yang dikelola oleh layanan
Enkripsi data transparan (TDE) untuk SQL Database, SQL Managed Instance, dan Azure Synapse Analytics menambahkan lapisan keamanan untuk membantu melindungi data tidak aktif dari akses tidak sah atau offline ke file atau cadangan mentah. Skenario umum termasuk pencurian pusat data atau pembuangan perangkat keras atau media yang tidak aman seperti drive disk dan pita cadangan. TDE mengenkripsi seluruh database dengan menggunakan algoritma enkripsi AES, yang tidak memerlukan pengembang aplikasi untuk membuat perubahan apa pun pada aplikasi yang ada.
Di Azure, semua database yang baru dibuat dienkripsi secara default dan kunci enkripsi database dilindungi oleh sertifikat server bawaan. Layanan ini mengelola pemeliharaan dan rotasi sertifikat dan tidak memerlukan input dari pengguna. Jika Anda lebih suka mengontrol kunci enkripsi, Anda dapat mengelola kunci di Azure Key Vault.
Enkripsi data transparan (enkripsi saat istirahat) dengan kunci yang dikelola pelanggan
Jika Anda memerlukan kontrol yang lebih besar atas kunci enkripsi, enkripsi data transparan (TDE) mendukung kunci yang dikelola pelanggan (CMK). CMK ini dikaitkan dengan server logis dan membungkus kunci enkripsi database untuk semua database dalam server tersebut. Atau, Anda dapat mengonfigurasi CMK di tingkat database individual. Dengan mengelola CMK, Anda dapat mengontrol rotasi kunci, pencabutan, dan audit, yang sering diperlukan untuk kebijakan kepatuhan atau keamanan yang ketat.
Selalu Terenkripsi dan Selalu Terenkripsi dengan enklave aman (enkripsi saat digunakan)
Always Encrypted dan Always Encrypted dengan enklave aman adalah fitur yang dirancang untuk melindungi data sensitif yang disimpan dalam kolom database tertentu dari akses (misalnya, nomor kartu kredit, nomor identifikasi nasional/regional, atau data yang berdasarkan kebutuhan akan informasi ). Perlindungan ini mencakup administrator database atau pengguna istimewa lainnya yang berwenang untuk mengakses database untuk melakukan tugas manajemen tetapi tidak memiliki kebutuhan bisnis untuk mengakses data tertentu di kolom terenkripsi. Data selalu dienkripsi, yang berarti data terenkripsi hanya didekripsi untuk diproses oleh aplikasi klien dengan akses ke kunci enkripsi. Kunci enkripsi tidak pernah diekspos ke SQL Database atau SQL Managed Instance dan dapat disimpan baik di Windows Certificate Store atau di Azure Key Vault.
Penyelubungan data dinamis
Masking data dinamis membatasi paparan data sensitif dengan menutupinya kepada pengguna yang tidak memiliki hak istimewa. Masking data dinamis secara otomatis menemukan data yang berpotensi sensitif di Azure SQL Database dan SQL Managed Instance dan memberikan rekomendasi yang dapat ditindak untuk menutupi bidang tersebut, dengan dampak minimal ke lapisan aplikasi. Ini bekerja dengan mengaburkan data sensitif dalam kumpulan hasil kueri di atas bidang database yang ditunjuk, sementara data dalam database tidak diubah. Untuk informasi selengkapnya, lihat Mulai dengan SQL Database dan masking data dinamis SQL Managed Instance.
Ledger
Ledger di Azure SQL Database dan SQL Managed Instance adalah fitur yang menyediakan bukti kriptografi integritas data. Dengan menggunakan ledger, Anda memiliki kemampuan pendeteksian perubahan untuk melindungi data Anda. Anda dapat membuktikan secara kriptografi kepada pihak lain, seperti auditor atau pihak bisnis lainnya, bahwa data Anda tidak diubah.
Ledger menggunakan teknologi bukti manipulasi untuk merekam perubahan database dalam buku besar yang tidak dapat diubah, memastikan bahwa setiap modifikasi yang tidak sah dapat dideteksi. Fitur ini sangat berguna untuk skenario yang memerlukan kepatuhan terhadap peraturan, auditabilitas, dan kepercayaan antara beberapa pihak. Dengan mengaktifkan ledger, Anda dapat memverifikasi integritas data Anda, mengurangi risiko penipuan atau manipulasi data.
Manajemen keamanan
Penilaian kerentanan
Penilaian kerentanan adalah layanan yang mudah dikonfigurasi yang dapat menemukan, melacak, dan membantu meremediasi potensi kerentanan database dengan tujuan untuk secara proaktif meningkatkan keamanan database secara keseluruhan. Penilaian Kerentanan (Vulnerability Assessment - VA) adalah bagian dari penawaran Pertahanan Microsoft untuk SQL, yang merupakan paket terpadu untuk kemampuan keamanan SQL tingkat lanjut. Anda dapat mengakses dan mengelola penilaian kerentanan melalui portal Pertahanan Microsoft untuk SQL pusat.
Penemuan dan klasifikasi data
Penemuan dan klasifikasi data menyediakan kemampuan dasar yang disertakan dalam Azure SQL Database dan SQL Managed Instance untuk menemukan, mengklasifikasikan, dan memberi label data sensitif dalam database Anda. Menemukan dan mengklasifikasikan data Anda yang paling sensitif (bisnis, keuangan, layanan kesehatan, data pribadi, dan banyak lagi) memainkan peran penting dalam posisi perlindungan informasi organisasi Anda. Ini berfungsi sebagai infrastruktur untuk:
- Berbagai skenario keamanan, seperti pemantauan (pengauditan) dan pemberitahuan tentang akses anomali ke data sensitif.
- Mengontrol akses ke, dan menambah keamanan database yang berisi data yang sangat sensitif.
- Membantu memenuhi standar privasi data dan persyaratan kepatuhan peraturan.
Untuk informasi selengkapnya, lihat Mulai dengan penemuan dan klasifikasi data.
Kepatuhan
Selain fitur dan fungsionalitas yang membantu aplikasi Anda memenuhi berbagai persyaratan keamanan, Azure SQL Database juga berpartisipasi dalam audit reguler. Ini telah disertifikasi terhadap sejumlah standar kepatuhan. Untuk informasi selengkapnya, lihat Microsoft Azure Trust Center, di mana Anda dapat menemukan daftar terbaru sertifikasi kepatuhan SQL Database.