Transparent Data Encryption untuk Azure Synapse Analytics

Tip

Microsoft Fabric Data Warehouse adalah gudang relasional skala perusahaan pada fondasi data lake, dengan arsitektur siap masa depan, AI bawaan, dan fitur baru. Jika Anda baru menggunakan pergudangan data, mulailah dengan Fabric Data Warehouse. Beban kerja kumpulan SQL terdedikasi yang ada dapat ditingkatkan ke Fabric untuk mengakses kemampuan baru di seluruh ilmu data, analitik waktu nyata, dan pelaporan.

Berlaku untuk: Kumpulan SQL khusus Azure Synapse Analytics (sebelumnya SQL DW)

Transparent Data Encryption (TDE) melindungi pool SQL khusus dari aktivitas offline berbahaya dengan mengenkripsi file basis data, file log transaksi, dan cadangan saat tidak digunakan. Enkripsi dan dekripsi dilakukan secara real time dan tidak memerlukan perubahan aplikasi.

Anda harus mengaktifkan TDE secara manual untuk pool SQL khusus mandiri Azure Synapse Analytics.

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 simetris 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. Pelindung TDE melindungi DEK. Pelindung TDE adalah salah satu dari sertifikat yang dikelola layanan (enkripsi data transparan yang dikelola layanan).

Untuk Azure Synapse, Anda mengatur pelindung TDE di tingkat server dan semua database yang terkait dengan server tersebut mewarisinya.

Note

Artikel ini membahas pool SQL khusus mandiri (sebelumnya SQL DW) yang dihosting di server logis. Untuk pool SQL khusus di workspace Synapse, lihat Enkripsi untuk workspace Azure Synapse Analytics.

Cara kerja TDE

TDE mengenkripsi halaman basis data dengan menggunakan DEK, yaitu Kunci Enkripsi Basis Data yang simetris. DEK disimpan di rekaman boot database dan pelindung TDE melindunginya. Protector adalah sertifikat yang dikelola oleh layanan.

Anda mengonfigurasi pelindung TDE pada server logis dan pool SQL khusus di server tersebut mewarisinya. Setiap halaman akan didekripsi saat dibaca ke memori dan dienkripsi sebelum ditulis ke penyimpanan.

TDE yang dikelola oleh layanan

Di Azure, pengaturan default untuk TDE adalah DEK dilindungi oleh sertifikat server yang tertanam. Sertifikat server bawaan unik untuk setiap server dan algoritma enkripsi yang digunakan adalah AES 256 dalam mode Cipher Block Chaining (CBC). 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 setahun sekali, sesuai dengan kebijakan keamanan internal, dan kunci akar 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 secara mulus memindahkan dan mengelola kunci sesuai kebutuhan untuk replikasi dan pemulihan global.

TDE yang dikelola pelanggan

Dengan TDE yang dikelola pelanggan, pelindung adalah kunci asimetris yang Anda kendalikan di Azure Key Vault atau Azure Key Vault Managed HSM. Anda mengontrol pembuatan kunci, izin akses, rotasi, cadangan, dan penghapusan. Kunci tidak keluar dari keystore.

Mencabut akses server logis ke kunci membuat pool SQL khusus yang dienkripsi menjadi tidak dapat diakses. Lindungi penyimpanan kunci dengan soft delete, perlindungan purge, pemantauan, dan akses dengan hak istimewa seminimal mungkin.

Azure Synapse perlu diberikan izin ke Key Vault milik pelanggan untuk mendekripsi dan mengenkripsi DEK. Jika izin akses server ke brankas kunci dicabut, database tidak akan dapat diakses, dan semua data dienkripsi.

Untuk persyaratan dan rekomendasi, lihat Customer-managed TDE untuk Azure Synapse Analytics.

Pindahkan database yang dilindungi Transparent Data Encryption

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 Data Geografis
  • Pemulihan layanan mandiri titik waktu tertentu
  • Pemulihan database yang dihapus
  • Replikasi Geo Aktif
  • Pembuatan salinan database

Saat Anda mengekspor database yang dilindungi TDE ke file BACPAC, konten database yang diekspor tidak dienkripsi. Jika Anda mengimpor ke database kosong yang ada, enkripsi bergantung pada apakah TDE diaktifkan pada database tersebut atau tidak.

Kelola Transparent Data Encryption

portal Azure

Untuk mengaktifkan atau menonaktifkan TDE, buka pool SQL khusus di portal Azure, pilih Enkripsi data transparan, dan simpan status yang dibutuhkan. Untuk mengonfigurasi pelindung yang dikelola pelanggan, buka Transparent data encryption pada server logis dan pilih kunci dari Azure Key Vault. 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.

PowerShell

Mengelola TDE dengan menggunakan PowerShell.

Important

Modul Az menggantikan AzureRM. Semua pengembangan di masa depan adalah untuk modul Az.Sql.

Untuk mengonfigurasi TDE melalui PowerShell, Anda harus tersambung sebagai Pemilik Azure, Kontributor, atau Pengelola Keamanan SQL.

Gunakan cmdlet Az.Sql berikut:

Cmdlet Kegunaan
Set-AzSqlDatabaseTransparentDataEncryption Aktifkan atau nonaktifkan TDE untuk pool SQL khusus.
Get-AzSqlDatabaseTransparentDataEncryption Dapatkan status TDE saat ini.
Add-AzSqlServerKeyVaultKey Tambahkan kunci ke server logikal.
Get-AzSqlServerKeyVaultKey Daftar kunci yang tersedia untuk server logis.
Set-AzSqlServerTransparentDataEncryptionProtector Atur pelindung TDE milik server.
Get-AzSqlServerTransparentDataEncryptionProtector Dapatkan pelindung TDE saat ini.
Remove-AzSqlServerKeyVaultKey Hapus kunci dari server logis.

Transact-SQL

Mengelola TDE dengan menggunakan T-SQL.

Sambungkan ke database dengan menggunakan login yang merupakan administrator atau anggota peran dbmanager dalam master database.

Command Description
ALTER DATABASE (Azure SQL Database) SET ENCRYPTION ON/OFF mengenkripsi atau mendekripsi database
sys.dm_database_encryption_keys Mengembalikan informasi tentang status enkripsi database dan kunci enkripsi database terkait
sys.dm_pdw_nodes_database_encryption_keys Mengembalikan informasi tentang status enkripsi dari setiap simpul Azure Synapse dan kunci enkripsi databasenya yang terkait

Anda tidak bisa mengalihkan pelindung TDE ke kunci dari Azure Key Vault dengan menggunakan Transact-SQL. Gunakan PowerShell atau portal Microsoft Azure.

REST API

Sumber daya manajemen SQL berikut berlaku untuk server logis dan pool SQL khusus.

Untuk mengonfigurasi TDE melalui REST API, Anda harus tersambung sebagai Pemilik Azure, Kontributor, atau Pengelola Keamanan SQL.

Gunakan set perintah berikut untuk pool SQL khusus mandiri Azure Synapse Analytics:

Command Description
Membuat atau Memperbarui Server Menambahkan identitas dari ID Microsoft Entra (sebelumnya Azure Active Directory) ke server. (digunakan untuk memberikan akses ke Azure Key Vault)
Membuat atau Memperbarui Kunci Server Menambahkan kunci Azure Key Vault ke server.
Menghapus Kunci Server Menghapus kunci Azure Key Vault dari server.
Mendapatkan Kunci Server Mendapatkan kunci Azure Key Vault tertentu dari server.
Mencantumkan Kunci Server Menurut Server Mendapatkan kunci Azure Key Vault untuk server.
Membuat atau Memperbarui Pelindung Enkripsi Mengatur pelindung TDE untuk server.
Mendapatkan Pelindung Enkripsi Mendapatkan pelindung TDE untuk server.
Mencantumkan Pelindung Enkripsi Menurut Server Mendapatkan pelindung TDE untuk server.
Membuat atau Memperbarui Konfigurasi Enkripsi Data Transparan Mengaktifkan atau menonaktifkan TDE untuk database.
Mendapatkan Konfigurasi Enkripsi Data Transparan Mendapatkan konfigurasi TDE untuk database.
Mencantumkan Hasil Konfigurasi Enkripsi Data Transparan Mendapatkan hasil enkripsi untuk database.