Identitas terkelola untuk enkripsi data transparan dengan kunci yang dikelola pelanggan
Berlaku untuk: Azure SQL Database Azure SQL Managed Instance
ID Microsoft Entra, sebelumnya Azure Active Directory, menyediakan identitas yang dikelola secara otomatis untuk mengautentikasi ke layanan Azure apa pun yang mendukung autentikasi Microsoft Entra, seperti Azure Key Vault, tanpa mengekspos kredensial dalam kode. Untuk informasi selengkapnya, lihat Jenis identitas terkelola di Azure.
Identitas terkelola terdiri dari dua jenis:
- Ditetapkan sistem
- Ditetapkan-pengguna
Untuk informasi selengkapnya, lihat Identitas terkelola di ID Microsoft Entra untuk Azure SQL.
Untuk TDE dengan kunci yang dikelola pelanggan (CMK) di Azure SQL, identitas terkelola di server digunakan untuk memberikan hak akses ke server di brankas kunci. Misalnya, identitas terkelola yang ditetapkan sistem server harus disediakan dengan izin brankas kunci sebelum mengaktifkan TDE dengan CMK di server.
Selain identitas terkelola yang ditetapkan sistem yang telah didukung untuk TDE dengan CMK, identitas terkelola yang ditetapkan pengguna (UMI) yang ditetapkan ke server dapat digunakan untuk mengizinkan server mengakses brankas kunci. Prasyarat untuk mengaktifkan akses brankas kunci adalah memastikan identitas terkelola yang ditetapkan pengguna telah diberikan izin Dapatkan, wrapKey, dan unwrapKey pada brankas kunci. Karena identitas terkelola yang ditetapkan pengguna adalah sumber daya mandiri yang dapat dibuat dan diberikan akses ke brankas kunci, TDE dengan kunci yang dikelola pelanggan sekarang dapat diaktifkan pada waktu pembuatan untuk server atau database.
Catatan
Untuk menetapkan identitas terkelola yang ditetapkan oleh pengguna ke server logis atau instans terkelola, pengguna harus memiliki peran Kontributor SQL Server atau Kontributor SQL Managed Instance Azure RBAC bersama dengan peran Azure RBAC lainnya yang berisi tindakan Microsoft.ManagedIdentity/userAssignedIdentities/*/assign/action.
Manfaat dari penggunaan UMI untuk TDE yang dikelola pelanggan
Memungkinkan kemampuan untuk melakukan pra-otorisasi akses brankas kunci untuk server logis Azure SQL atau instans terkelola dengan membuat identitas terkelola yang ditetapkan pengguna, dan memberikannya akses ke brankas kunci, bahkan sebelum server atau database dibuat
Memungkinkan pembuatan server logis Azure SQL dengan TDE dan CMK yang diaktifkan
Memungkinkan identitas terkelola yang ditetapkan pengguna yang sama untuk ditetapkan ke beberapa server, menghilangkan kebutuhan untuk secara individual mengaktifkan identitas terkelola yang ditetapkan sistem untuk setiap server logis Azure SQL atau instans terkelola, dan menyediakan akses ke brankas kunci
Menyediakan kemampuan untuk memberlakukan CMK pada waktu pembuatan server dengan kebijakan Azure bawaan yang tersedia
Pertimbangan saat menggunakan UMI untuk TDE yang dikelola pelanggan
- Secara default, TDE di Azure SQL menggunakan identitas terkelola yang ditetapkan pengguna utama yang diatur dalam server untuk akses brankas kunci. Jika tidak ada identitas yang ditetapkan pengguna yang telah ditetapkan ke server, maka identitas server yang ditetapkan sistem akan digunakan untuk akses brankas kunci.
- Saat menggunakan identitas terkelola yang ditetapkan pengguna untuk TDE dengan CMK, tetapkan identitas ke server dan atur sebagai identitas utama untuk server
- Identitas terkelola utama yang ditetapkan pengguna memerlukan akses brankas kunci berkelanjutan (izin dapatkan, wrapKey, unwrapKey). Jika akses identitas ke brankas kunci dicabut atau izin yang memadai tidak disediakan, database akan berpindah ke status Tidak Dapat Diakses
- Jika identitas terkelola yang ditetapkan pengguna utama sedang diperbarui ke identitas terkelola yang ditetapkan pengguna yang berbeda, identitas baru harus diberikan izin yang diperlukan ke brankas kunci sebelum memperbarui yang utama
- Untuk mengalihkan server dari yang ditetapkan pengguna ke identitas terkelola yang ditetapkan sistem untuk akses brankas kunci, berikan identitas terkelola yang ditetapkan sistem dengan izin brankas kunci yang diperlukan, lalu hapus semua identitas terkelola yang ditetapkan pengguna dari server
Penting
Identitas terkelola yang ditetapkan pengguna utama yang digunakan untuk TDE dengan CMK tidak boleh dihapus dari Azure. Menghapus identitas ini akan menyebabkan server kehilangan akses ke brankas kunci dan database menjadi tidak dapat diakses.
Batasan dan masalah yang diketahui
- Jika brankas kunci berada di belakang VNet yang menggunakan firewall, opsi untuk Mengizinkan Layanan Microsoft Tepercaya melewati firewall ini harus diaktifkan di menu Jaringan brankas kunci jika Anda ingin menggunakan identitas terkelola yang ditetapkan pengguna atau identitas terkelola yang ditetapkan sistem. Setelah opsi ini diaktifkan, kunci yang tersedia tidak dapat dicantumkan di menu TDE server SQL di portal Azure. Untuk mengatur CMK individual, pengidentifikasi kunci harus digunakan. Ketika opsi untuk Mengizinkan Layanan Microsoft Tepercaya melewati firewall ini tidak diaktifkan, kesalahan berikut dikembalikan:
Failed to save Transparent Data Encryption settings for SQL resource: <ServerName>. Error message: The managed identity with ID '/subscriptions/subsriptionID/resourcegroups/resource_name/providers/Microsoft.ManagedIdentity/userAssignedIdentities/umi_name' requires the following Azure Key Vault permissions: 'Get, WrapKey, UnwrapKey' to the key 'https://keyvault_name/keys/key_name'. Please grant the missing permissions to the identity. Additionally ensure the key is not expired and is not disabled. For expired key, please extend the key expiry time so that SQL can use it to perform wrap and unwrap operations. If your key vault is behind a virtual network or firewall, ensure you select the 'Allow trusted Microsoft services to bypass this firewall' option. (https://aka.ms/sqltdebyokcreateserver).
- Jika Anda mendapatkan kesalahan di atas, periksa apakah brankas kunci berada di belakang jaringan virtual atau firewall, dan pastikan opsi Izinkan Layanan Microsoft Tepercaya untuk melewati firewall ini diaktifkan.
- Identitas Terkelola yang Ditetapkan Pengguna untuk SQL Managed Instances saat ini hanya didukung pada brankas kunci yang memiliki akses publik dari semua jaringan yang diaktifkan. Ini tidak didukung ketika firewall AKV memfilter jaringan virtual dan alamat IP tertentu atau menggunakan koneksi titik akhir privat.
- Ketika beberapa identitas terkelola yang ditetapkan pengguna ditetapkan ke server atau instans terkelola, jika satu identitas dihapus dari server menggunakan panel Identitas portal Azure, operasi berhasil tetapi identitas tidak dihapus dari server. Menghapus semua identitas terkelola yang ditetapkan pengguna secara bersama dari portal Microsoft Azure berhasil.
- Ketika server atau instans terkelola dikonfigurasi dengan TDE yang dikelola pelanggan, lalu identitas terkelola yang ditetapkan sistem dan yang ditetapkan pengguna diaktifkan di server, menghapus identitas terkelola yang ditetapkan pengguna dari server tanpa terlebih dahulu memberikan akses identitas terkelola yang ditetapkan sistem ke brankas kunci menghasilkan pesan Terjadi kesalahan tak terduga. Pastikan identitas terkelola yang ditetapkan sistem telah diberikan akses brankas kunci sebelum menghapus identitas terkelola yang ditetapkan pengguna utama (dan identitas terkelola yang ditetapkan pengguna lainnya) dari server.