Bagikan melalui


Enkripsi data dalam database SQL di Microsoft Fabric

Berlaku untuk:âś…Database SQL di Microsoft Fabric

Penting

Fitur ini sedang dalam tahap pratinjau.

Microsoft Fabric mengenkripsi semua data yang tersimpan menggunakan kunci yang dikelola oleh Microsoft. Semua data database SQL disimpan di akun Azure Storage jarak jauh. Untuk mematuhi persyaratan enkripsi saat tidak aktif menggunakan kunci yang dikelola Microsoft, setiap akun Azure Storage yang digunakan oleh database SQL dikonfigurasi dengan enkripsi sisi layanan diaktifkan.

Dengan kunci yang dikelola pelanggan untuk ruang kerja Fabric, Anda dapat menggunakan kunci Azure Key Vault untuk menambahkan lapisan perlindungan lain ke data di ruang kerja Microsoft Fabric Anda, termasuk semua data dalam database SQL di Microsoft Fabric. Kunci yang dikelola pelanggan memberikan fleksibilitas yang lebih besar, memungkinkan Anda mengelola rotasi, akses kontrol, dan audit penggunaannya. Kunci yang dikelola pelanggan juga membantu organisasi memenuhi kebutuhan tata kelola data dan mematuhi standar perlindungan dan enkripsi data.

  • Ketika kunci yang dikelola pelanggan dikonfigurasi untuk ruang kerja di Microsoft Fabric, enkripsi data transparan secara otomatis diaktifkan untuk semua database SQL (dan tempdb) dalam ruang kerja tersebut menggunakan kunci yang dikelola pelanggan yang ditentukan. Proses ini sepenuhnya mulus dan tidak memerlukan intervensi manual.
    • Meskipun proses enkripsi dimulai secara otomatis untuk semua database SQL yang ada, proses ini tidak seketika; durasi tergantung pada ukuran setiap database SQL, dengan database SQL yang lebih besar membutuhkan lebih banyak waktu untuk menyelesaikan enkripsi.
    • Setelah kunci yang dikelola pelanggan dikonfigurasi, database SQL apa pun yang dibuat di ruang kerja juga akan dienkripsi menggunakan kunci yang dikelola pelanggan.
  • Jika kunci yang dikelola pelanggan dihapus, proses dekripsi dipicu untuk semua database SQL di ruang kerja. Seperti enkripsi, dekripsi juga tergantung pada ukuran database SQL dan dapat memakan waktu untuk menyelesaikannya. Setelah didekripsi, database SQL kembali menggunakan kunci yang dikelola Microsoft untuk enkripsi.

Cara kerja enkripsi data transparan dalam database SQL di Microsoft Fabric

Enkripsi data transparan melakukan enkripsi dan dekripsi secara real-time terhadap database, cadangan terkait, dan file log transaksi dalam keadaan diam.

  • Proses ini terjadi di tingkat halaman, yang berarti setiap halaman didekripsi saat dibaca ke dalam memori dan dienkripsi ulang sebelum ditulis kembali ke disk.
  • Enkripsi data transparan mengamankan seluruh database menggunakan kunci simetris yang dikenal sebagai Kunci Enkripsi Database (DEK).
  • Ketika database dimulai, DEK terenkripsi didekripsi dan digunakan oleh mesin database SQL Server untuk mengelola operasi enkripsi dan dekripsi.
  • DEK itu sendiri dilindungi oleh pelindung enkripsi data transparan, yang merupakan kunci asimetris yang dikelola pelanggan—khususnya, kunci yang dikelola pelanggan yang dikonfigurasi di tingkat ruang kerja.

Diagram enkripsi untuk database SQL di Microsoft Fabric.

Pencadangan dan pemulihan

Setelah database SQL dienkripsi dengan kunci yang dikelola pelanggan, cadangan yang baru dibuat juga dienkripsi dengan kunci yang sama.

Ketika kunci diubah, cadangan lama database SQL tidak diperbarui untuk menggunakan kunci terbaru. Untuk memulihkan cadangan yang dienkripsi dengan kunci yang dikelola pelanggan, pastikan bahwa materi kunci tersedia di Azure Key Vault. Oleh karena itu, kami menyarankan agar pelanggan menyimpan semua versi lama kunci yang dikelola pelanggan di Azure Key Vault, sehingga cadangan database SQL dapat dipulihkan.

Proses pemulihan database SQL akan selalu mematuhi pengaturan ruang kerja kunci yang dikelola pelanggan. Tabel di bawah ini menguraikan berbagai skenario pemulihan berdasarkan pengaturan kunci yang dikelola pelanggan dan apakah cadangan dienkripsi.

Cadangannya adalah... Pengaturan ruang kerja kunci yang dikelola pelanggan Status enkripsi setelah pemulihan
Tidak dienkripsi Disabled Database SQL tidak dienkripsi
Tidak dienkripsi Diaktifkan Database SQL dienkripsi dengan kunci yang dikelola pelanggan
Dienkripsi dengan kunci yang dikelola pelanggan Disabled Database SQL tidak dienkripsi
Dienkripsi dengan kunci yang dikelola pelanggan Diaktifkan Database SQL dienkripsi dengan kunci yang dikelola pelanggan
Dienkripsi dengan kunci yang dikelola pelanggan Aktif tetapi kunci yang dikelola oleh pelanggan berbeda Database SQL dienkripsi dengan kunci baru yang dikelola pelanggan

Memverifikasi keberhasilan kunci yang dikelola pelanggan

Setelah Anda mengaktifkan enkripsi kunci yang dikelola pelanggan di ruang kerja, database yang ada akan dienkripsi. Database baru di ruang kerja juga akan dienkripsi saat kunci yang dikelola pelanggan diaktifkan. Untuk memverifikasi apakah database Anda berhasil dienkripsi, jalankan kueri T-SQL berikut:

SELECT DB_NAME(database_id) as DatabaseName, * 
FROM sys.dm_database_encryption_keys 
WHERE database_id <> 2;
  • Database dienkripsi jika encryption_state_desc bidang ditampilkan ENCRYPTED dengan ASYMMETRIC_KEY sebagai encryptor_type.
  • Jika statusnya adalah ENCRYPTION_IN_PROGRESS, percent_complete kolom akan menunjukkan kemajuan perubahan status enkripsi. Ini akan menjadi 0 jika tidak ada perubahan status yang sedang berlangsung.
  • Jika tidak dienkripsi, database tidak akan muncul dalam hasil sys.dm_database_encryption_keyskueri .

Memecahkan masalah kunci yang dikelola pelanggan yang tidak dapat diakses

Ketika kunci yang dikelola pelanggan dikonfigurasi untuk ruang kerja di Microsoft Fabric, akses berkelanjutan ke kunci diperlukan agar database SQL tetap online. Jika database SQL kehilangan akses ke kunci di Azure Key Vault, dalam waktu hingga 10 menit database SQL mulai menolak semua koneksi dan mengubah statusnya menjadi Tidak Dapat Diakses. Pengguna akan menerima pesan kesalahan yang sesuai seperti "Database <database ID>.database.fabric.microsoft.com tidak dapat diakses karena kesalahan kritis Azure Key Vault.".

  • Jika akses kunci dipulihkan dalam waktu 30 menit, database SQL akan secara otomatis sembuh dalam satu jam ke depan.
  • Jika akses kunci dipulihkan setelah lebih dari 30 menit, pemulihan otomatis database SQL tidak dimungkinkan. Membawa kembali database SQL memerlukan langkah tambahan dan dapat mengambil sejumlah besar waktu tergantung pada ukuran database SQL.

Gunakan langkah-langkah berikut untuk memvalidasi ulang kunci yang dikelola pelanggan:

  1. Di ruang kerja Anda, klik kanan pada database SQL, atau menu konteks .... Pilih pengaturan.
  2. Pilih Enkripsi (pratinjau).
  3. Untuk mencoba memvalidasi ulang kunci yang dikelola pelanggan, pilih tombol Validasi ulang kunci yang dikelola pelanggan . Jika validasi ulang berhasil, memulihkan akses ke database SQL Anda dapat memakan waktu.

Nota

Saat Anda memvalidasi ulang kunci untuk satu database SQL, kunci secara otomatis divalidasi ulang untuk semua database SQL dalam ruang kerja Anda.

Keterbatasan

Batasan saat ini saat menggunakan kunci yang dikelola pelanggan untuk database SQL di Microsoft Fabric:

  • Kunci 4.096 bit tidak didukung untuk SQL Database di Microsoft Fabric. Panjang kunci yang didukung adalah 2.048 bit dan 3.072 bit.
  • Kunci yang dikelola pelanggan harus berupa kunci asimetris RSA atau RSA-HSM.
  • Saat ini, enkripsi kunci yang dikelola pelanggan tersedia di wilayah berikut:
    • AS: US Timur 2, US Tengah Selatan
    • Asia: Australia Timur, Asia Tenggara, UEA Utara
    • Eropa: Eropa Utara, Eropa Barat