Enkripsi data transparan untuk SQL Database, SQL Managed Instance, dan Azure Synapse Analytics
Berlaku untuk: Azure SQL Database Azure SQL Managed InstanceAzure Synapse Analytics
Enkripsi data transparan (TDE) membantu melindungi Azure SQL Database, Azure SQL Managed Instance, dan Azure Synapse Analytics terhadap ancaman aktivitas luring yang berbahaya dengan mengenkripsi data yang tidak aktif. Itu melakukan enkripsi real time dan dekripsi databasenya, cadangan terkait, dan file log transaksi yang tidak aktif tanpa memerlukan perubahan pada aplikasi. Secara default, TDE diaktifkan untuk semua Azure SQL Databases yang baru disebarkan, dan harus diaktifkan secara manual untuk database Azure SQL Database yang lebih lama. Untuk Azure SQL Managed Instance, TDE diaktifkan pada tingkat instans dan database yang baru dibuat. TDE harus diaktifkan secara manual untuk Azure Synapse Analytics.
Catatan
Artikel ini berlaku untuk Azure SQL Database, Azure SQL Managed Instance, dan Azure Synapse Analytics (kumpulan SQL khusus (sebelumnya SQL DW)). Untuk dokumentasi tentang Enkripsi Data Transparan untuk kumpulan SQL khusus di dalam ruang kerja Synapse, lihat enkripsi Azure Synapse Analytics.
Beberapa item yang dianggap sebagai konten pelanggan, seperti nama tabel, nama objek, dan nama indeks, mungkin dikirimkan dalam file log untuk dukungan dan pemecahan masalah oleh Microsoft.
TDE melakukan enkripsi I/O secara real time dan dekripsi data pada tingkat halaman. Setiap halaman didekripsi ketika dibaca ke dalam memori, lalu dienkripsi sebelum ditulis ke disk. TDE mengenkripsi penyimpanan seluruh database dengan menggunakan kunci konten yang disebut Kunci Enkripsi Database (DEK). Pada startup database, DEK terenkripsi didekripsi dan kemudian digunakan untuk dekripsi dan enkripsi ulang file database dalam proses mesin database SQL Server. DEK dilindungi oleh pelindung TDE. Pelindung TDE adalah sertifikat yang dikelola layanan (enkripsi data transparan yang dikelola layanan) atau kunci asimetris yang disimpan di Azure Key Vault (enkripsi data transparan yang dikelola pelanggan).
Untuk Azure SQL Database dan Azure Synapse, pelindung TDE diatur di tingkat server dan diwarisi oleh semua database yang terkait dengan server tersebut. Untuk Azure SQL Managed Instance, pelindung TDE diatur pada tingkat instans dan diwarisi oleh semua database terenkripsi pada instans tersebut. Istilah server mengacu pada server dan instans di seluruh dokumen ini, kecuali dinyatakan berbeda.
Penting
Semua database SQL yang baru dibuat dienkripsi secara default dengan menggunakan enkripsi data transparan yang dikelola layanan. Saat sumber database dienkripsi, database target yang dibuat melalui pemulihan, replikasi geografis, dan salinan database dienkripsi secara default. Namun, ketika sumber database tidak dienkripsi, database target yang dibuat melalui pemulihan, replikasi geografis, dan salinan database tidak dienkripsi secara default. Database SQL yang ada yang dibuat sebelum Mei 2017 dan database SQL Managed Instance yang ada yang dibuat sebelum Februari 2019 tidak dienkripsi secara default. Database SQL Managed Instance yang dibuat melalui pemulihan mewarisi status enkripsi dari sumber. Untuk memulihkan database terenkripsi TDE yang ada, sertifikat TDE yang diperlukan harus terlebih dahulu diimpor ke dalam SQL Managed Instance. Untuk mengetahui status enkripsi untuk database, jalankan kueri pemilihan dari DMV sys.dm_database_encryption_keys dan periksa status encryption_state_desc
kolom.
Catatan
TDE tidak dapat digunakan untuk mengenkripsi database sistem, seperti master
database, di SQL Database dan SQL Managed Instance. Database master
berisi objek yang diperlukan untuk melakukan operasi TDE pada database pengguna. Disarankan untuk tidak menyimpan data sensitif apa pun dalam database sistem. Pengecualiannya adalah tempdb
, yang selalu dienkripsi dengan TDE untuk melindungi data yang disimpan di sana.
Enkripsi data transparan yang dikelola layanan
Di Azure, pengaturan default untuk TDE adalah kunci enkripsi dilindungi oleh sertifikat server bawaan. Sertifikat server bawaan bersifat unik untuk setiap server dan algoritma enkripsi yang digunakan adalah AES 256. Jika sebuah database berada dalam hubungan replikasi geo, baik database utama dan database geo-sekunder dilindungi oleh kunci server induk database utama. Jika dua database tersambung ke server yang sama, mereka juga berbagi sertifikat bawaan yang sama. Microsoft secara otomatis memutar sertifikat ini sesuai dengan kebijakan keamanan internal dan kunci akarnya dilindungi oleh penyimpanan rahasia internal Microsoft. Pelanggan dapat memverifikasi kepatuhan SQL Database dan SQL Managed Instance dengan kebijakan keamanan internal dalam laporan audit pihak ketiga independen yang tersedia di Pusat Kepercayaan Microsoft.
Microsoft juga dengan mulus memindahkan dan mengelola kunci sesuai kebutuhan untuk replikasi dan pemulihan geo.
Enkripsi data transparan yang dikelola pelanggan - Bring Your Own Key
TDE yang dikelola pelanggan juga disebut sebagai dukungan Bring Your Own Key (BYOK) untuk TDE. Dalam skenario ini, Pelindung TDE yang mengenkripsi DEK adalah kunci asimetris yang dikelola pelanggan, yang disimpan dan dikelola dalam Azure Key Vault milik pelanggan (sistem pengelolaan kunci eksternal berbasis cloud Azure) dan tidak pernah meninggalkan brankas kuncinya. Pelindung TDE dapat dihasilkan oleh brankas kunci atau ditransfer ke brankas kunci dari sebuah perangkat modul keamanan perangkat keras lokal (HSM). SQL Database, SQL Managed Instance, dan Azure Synapse perlu diberikan izin akses ke brankas kunci milik pelanggan untuk mendekripsi dan mengenkripsi DEK. Jika izin akses server ke brankas kunci dicabut, database tidak akan dapat diakses, dan semua data dienkripsi.
Dengan integrasi TDE dengan Azure Key Vault, pengguna dapat mengontrol tugas pengelolaan kunci termasuk rotasi kunci, izin brankas utama, pencadangan kunci, dan mengaktifkan audit/pelaporan pada semua pelindung TDE menggunakan fungsionalitas Azure Key Vault. Key Vault menyediakan pengelolaan kunci pusat, mempengaruhi HSM yang dipantau dengan ketat, dan mengaktifkan pemisahan tugas antara pengelolaan kunci dan data untuk membantu memenuhi kepatuhan terhadap kebijakan keamanan. Untuk mempelajari selengkapnya tentang BYOK untuk Azure SQL Database dan Azure Synapse, lihat Enkripsi data transparan dengan integrasi Azure Key Vault.
Untuk mulai menggunakan TDE dengan integrasi Azure Key Vault, lihat panduan Mengaktifkan enkripsi data transparan dengan menggunakan kunci Anda sendiri dari Key Vault.
Memindahkan database yang dilindungi enkripsi data transparan
Anda tidak perlu mendekripsi database untuk operasi dalam Azure. Pengaturan TDE pada database sumber atau database utama diwarisi secara transparan pada target. Operasi yang disertakan melibatkan:
- Pemulihan Geo
- Pemulihan layanan mandiri titik waktu tertentu
- Pemulihan database yang dihapus
- Replikasi Geo Aktif
- Pembuatan salinan database
- Pemulihan file cadangan ke Azure SQL Managed Instance
Penting
Mengambil cadangan SALIN-SAJA manual dari database yang dienkripsi oleh TDE yang dikelola layanan tidak didukung di Azure SQL Managed Instance, karena sertifikat yang digunakan untuk enkripsinya tidak dapat diakses. Dalam hal demikian, gunakan fitur pemulihan titik waktu tertentu untuk memindahkan jenis database ini ke SQL Managed Instance lain, atau beralih ke kunci yang dikelola pelanggan.
Saat Anda mengekspor database yang dilindungi TDE, konten database yang diekspor tidak dienkripsi. Isi yang diekspor ini disimpan dalam berkas BACPAC yang tidak terenkripsi. Pastikan untuk melindungi file BACPAC dengan tepat dan mengaktifkan TDE setelah impor database baru selesai.
Misalnya, jika file BACPAC diekspor dari sebuah instans SQL Server, konten yang diimpor dari database baru tidak dienkripsi secara otomatis. Demikian pula, jika file BACPAC diimpor ke sebuah instans SQL Server, database barunya juga tidak dienkripsi secara otomatis.
Satu pengecualian adalah ketika Anda mengekspor database ke dan dari SQL Database. TDE diaktifkan pada database baru, tetapi file BACPAC itu sendiri masih belum dienkripsi.
Mengelola enkripsi data transparan
Mengelola TDE di portal Microsoft Azure.
Untuk mengonfigurasi TDE melalui portal Microsoft Azure, Anda harus tersambung sebagai Pemilik Azure, Kontributor, atau Pengelola Keamanan SQL.
Mengaktifkan dan menonaktifkan TDE pada tingkat database. Untuk Azure SQL Managed Instance gunakan Transact-SQL (T-SQL) untuk mengaktifkan dan menonaktifkan TDE pada sebuah database. Untuk Azure SQL Database dan Azure Synapse, Anda bisa mengelola TDE untuk database di portal Microsoft Azure setelah Anda masuk dengan akun Admin Azure atau Kontributor. Temukan pengaturan TDE di bawah database pengguna Anda. Secara default, kunci enkripsi tingkat server digunakan. Sertifikat TDE secara otomatis dibuat untuk server yang berisi database.
Anda mengatur kunci master TDE, yang dikenal sebagai pelindung TDE, di tingkat server atau tingkat instans. Untuk menggunakan TDE dengan dukungan BYOK dan melindungi database Anda dengan kunci dari Azure Key Vault, buka pengaturan TDE di bawah server atau instans terkelola Anda.
Anda juga dapat menggunakan kunci yang dikelola pelanggan untuk TDE pada tingkat database untuk Azure SQL Database. Untuk informasi selengkapnya, lihat Enkripsi data transparan (TDE) dengan kunci yang dikelola pelanggan di tingkat database.