Kesalahan umum untuk enkripsi data transparan dengan kunci yang dikelola pelanggan di Azure Key Vault
Berlaku untuk: Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Artikel ini menjelaskan cara mengidentifikasi dan mengatasi masalah akses kunci Azure Key Vault yang menyebabkan database yang dikonfigurasi menggunakan enkripsi data transparan (TDE) dengan kunci yang dikelola pelanggan di Azure Key Vault menjadi tidak dapat diakses.
Catatan
ID Microsoft Entra sebelumnya dikenal sebagai Azure Active Directory (Azure AD).
Pendahuluan
Ketika TDE dikonfigurasi untuk menggunakan kunci yang dikelola pelanggan di Azure Key Vault, akses berkelanjutan ke Pelindung TDE ini diperlukan agar database tetap online. Jika server SQL logis atau instans terkelola kehilangan akses ke pelindung TDE yang dikelola pelanggan di Azure Key Vault, database akan mulai menolak semua koneksi dengan pesan kesalahan yang sesuai dan mengubah statusnya menjadi Tidak dapat diakses di portal Azure.
Selama 30 menit pertama, jika masalah akses kunci brankas kunci Azure yang mendasar diselesaikan, database akan disembunyikan secara otomatis dan online secara otomatis. Ini berarti bahwa untuk semua skenario pemadaman jaringan terputus-terputus dan sementara, tidak ada tindakan pengguna yang diperlukan, dan database akan online secara otomatis. Dalam kebanyakan kasus, tindakan pengguna diperlukan untuk mengatasi masalah akses kunci brankas kunci yang mendasar.
Jika database yang tidak dapat diakses tidak lagi diperlukan, database dapat segera dihapus untuk berhenti dikenakan biaya. Semua tindakan lain pada database tidak diizinkan sampai akses ke kunci brankas kunci Azure telah dipulihkan dan database kembali online. Mengubah opsi TDE dari kunci yang dikelola pelanggan ke kunci yang dikelola layanan di server juga tidak dimungkinkan saat database yang dienkripsi dengan kunci yang dikelola pelanggan tidak dapat diakses. Ini diperlukan untuk melindungi data dari akses yang tidak sah sementara izin ke Pelindung TDE telah dicabut.
Setelah database tidak dapat diakses selama lebih dari 30 menit, database tidak akan lagi disembuhkan secara otomatis. Jika akses kunci brankas kunci Azure yang diperlukan telah dipulihkan setelah periode tersebut, Anda harus memvalidasi ulang akses ke kunci secara manual untuk membuat database kembali online. Membawa database kembali online dalam hal ini dapat memakan waktu yang signifikan tergantung pada ukuran database. Setelah database kembali online, pengaturan yang dikonfigurasi sebelumnya seperti grup failover, riwayat PITR, dan tag apa pun akan hilang. Oleh karena itu, sebaiknya terapkan sistem pemberitahuan menggunakan Grup Tindakan yang memungkinkan untuk mengetahui dan mengatasi masalah akses kunci brankas kunci yang mendasar sesegera mungkin.
Kesalahan umum yang menyebabkan database menjadi tidak dapat diakses
Sebagian besar masalah yang terjadi saat Anda menggunakan TDE dengan Key Vault disebabkan oleh salah satu kesalahan konfigurasi berikut:
Brankas kunci tidak tersedia atau tidak ada
- Brankas kunci dihapus secara tidak sengaja.
- Firewall dikonfigurasi untuk Azure Key Vault, tetapi tidak mengizinkan akses ke layanan Microsoft.
- Kesalahan jaringan terputus-terputus menyebabkan brankas kunci tidak tersedia.
Tidak ada izin untuk mengakses brankas kunci atau kunci tidak ada
- Kunci tidak sengaja dihapus, dinonaktifkan, atau kunci kedaluwarsa.
- Identitas terkelola server (ditetapkan sistem atau ditetapkan pengguna) tidak sengaja dihapus.
- Server dipindahkan ke langganan lain. Identitas terkelola baru (ditetapkan sistem atau ditetapkan pengguna) harus ditetapkan ke server saat dipindahkan ke langganan lain.
- Izin yang diberikan ke identitas terkelola server untuk kunci tidak cukup (tidak menyertakan izin Dapatkan, Bungkus, dan Bongkar).
- Izin untuk identitas terkelola server dicabut dari brankas kunci.
Mengidentifikasi dan mengatasi kesalahan umum
Di bagian ini, kami mencantumkan langkah-langkah pemecahan masalah untuk kesalahan yang paling umum.
Identitas server hilang
Pesan kesalahan
401 AzureKeyVaultNoServerIdentity - Identitas server tidak dikonfigurasi dengan benar di server. Silakan hubungi dukungan.
Deteksi
Gunakan cmdlet atau perintah berikut untuk memastikan bahwa identitas telah ditetapkan ke server:
Azure PowerShell: Get-AzSqlServer
Azure CLI: az-sql-server-show
Mitigasi
Gunakan cmdlet atau perintah berikut untuk mengonfigurasi identitas terkelola yang ditetapkan pengguna atau yang ditetapkan sistem untuk server:
Azure PowerShell: Set-AzSqlServer dengan
-AssignIdentity
opsi .Azure CLI: az sql server update dengan
--assign_identity
opsi .
Di portal Azure, buka brankas kunci, lalu buka Kebijakan akses. Selesaikan langkah-langkah berikut:
- Gunakan tombol Tambahkan Baru untuk menambahkan AppId untuk server yang Anda buat di langkah sebelumnya.
- Tetapkan izin kunci berikut: Dapatkan, Bungkus, dan Buka Bungkus
Untuk mempelajari selengkapnya, lihat Menetapkan identitas terkelola ke server Anda.
Penting
Jika server logis untuk Azure SQL Database atau Azure SQL Managed Instance dipindahkan ke penyewa Microsoft Entra baru setelah konfigurasi awal TDE dengan Key Vault, konfigurasi identitas terkelola ini harus di-redone di penyewa baru.
Brankas kunci hilang
Pesan kesalahan
503 AzureKeyVaultConnectionFailed - Operasi tidak dapat diselesaikan di server karena upaya untuk menyambungkan ke Azure Key Vault telah gagal.
Deteksi
Untuk mengidentifikasi URI kunci dan brankas kunci:
Gunakan cmdlet atau perintah berikut untuk mendapatkan URI kunci instans server tertentu:
Azure PowerShell: Get-AzSqlServerKeyVaultKey
Azure CLI: az-sql-server-tde-key-show
Gunakan URI kunci untuk mengidentifikasi brankas kunci:
Azure PowerShell: Anda dapat memeriksa properti variabel $MyServerKeyVaultKey untuk mendapatkan detail tentang brankas kunci.
Azure CLI: Periksa pelindung enkripsi server yang dikembalikan untuk detail tentang brankas kunci.
Mitigasi
Konfirmasikan bahwa brankas kunci tersedia:
- Pastikan brankas kunci tersedia dan server memiliki akses.
- Jika brankas kunci berada di belakang firewall, pastikan bahwa kotak centang untuk mengizinkan layanan Microsoft mengakses brankas kunci dipilih.
- Jika brankas kunci telah dihapus secara tidak sengaja, Anda harus menyelesaikan konfigurasi dari awal.
Kunci hilang
Pesan kesalahan
404 ServerKeyNotFound - Kunci server yang diminta tidak ditemukan pada langganan saat ini.
409 ServerKeyDoesNotExists - Kunci server tidak ada.
Deteksi
Untuk mengidentifikasi URI kunci dan brankas kunci:
- Gunakan cmdlet atau perintah di Brankas kunci hilang untuk mengidentifikasi URI kunci yang ditambahkan ke instans SQL Server logis. Menjalankan perintah mengembalikan daftar kunci.
Mitigasi
Konfirmasikan bahwa pelindung TDE ada di Key Vault:
- Identifikasi brankas kunci, lalu buka brankas kunci di portal Microsoft Azure.
- Pastikan bahwa kunci yang diidentifikasi oleh URI kunci ada.
Masa berlaku kunci berakhir
Pesan kesalahan
Server <server_name>
memerlukan izin Pengguna Enkripsi Layanan Kripto Key Vault untuk kebijakan RBAC atau izin Azure Key Vault berikut: Dapatkan, WrapKey, UnwrapKey. Berikan izin yang hilang kepada perwakilan layanan dengan ID <akv_key>
. Pastikan kunci aktif, tidak kedaluwarsa, atau dinonaktifkan, diatur dengan tanggal aktivasi kunci tidak lebih lambat dari tanggal saat ini, dan bahwa layanan Microsoft tepercaya dapat melewati firewall jika berlaku.
Deteksi
Untuk mengidentifikasi kunci yang kedaluwarsa di brankas kunci:
- Gunakan portal Azure, buka menu> Key vault service Objects>Keys, dan periksa kedaluwarsa kunci.
- Gunakan perintah PowerShell, Get-AzKeyVaultKey.
- Gunakan perintah Azure CLI, az keyvault key show.
Mitigasi
- Periksa tanggal kedaluwarsa untuk kunci brankas kunci untuk mengonfirmasi bahwa kunci kedaluwarsa.
- Perpanjang tanggal kedaluwarsa kunci.
- Bawa database kembali online dengan memilih opsi Validasi ulang kunci dengan 1 dari yang berikut ini:
- Coba lagi kunci yang ada.
- Pilih kunci cadangan.
Untuk informasi selengkapnya, lihat Pelindung TDE yang tidak dapat diakses.
Catatan
Kunci harus diputar pada jumlah hari yang ditentukan sebelum kedaluwarsa untuk memberikan waktu yang cukup untuk bereaksi terhadap kegagalan. Untuk informasi selengkapnya, lihat Definisi bawaan Azure Policy untuk Key Vault.
Izin tidak ada
Pesan kesalahan
401 AzureKeyVaultMissingPermissions - Server kehilangan izin yang diperlukan di Azure Key Vault.
Deteksi
Untuk mengidentifikasi URI kunci dan brankas kunci:
- Gunakan cmdlet atau perintah di Brankas kunci yang hilang untuk mengidentifikasi brankas kunci yang digunakan instans SQL Server logis.
Mitigasi
Konfirmasikan bahwa server memiliki izin ke brankas kunci dan izin yang benar untuk mengakses kunci:
- Di portal Azure, buka kebijakan Akses brankas >kunci. Temukan identitas terkelola server (ditetapkan sistem atau ditetapkan pengguna).
- Jika identitas server ada, pastikan identitas tersebut memiliki izin kunci berikut: Get, WrapKey, dan UnwrapKey.
- Jika identitas server tidak ada, tambahkan dengan menggunakan tombol Tambahkan Baru .
Mendapatkan status TDE dari log Aktivitas
Untuk memungkinkan pemantauan status database karena masalah akses kunci Azure Key Vault, peristiwa berikut akan dicatat ke Log Aktivitas untuk ID sumber daya berdasarkan URL Azure Resource Manager.
Catatan
Peristiwa mungkin memakan waktu setidaknya 15-30 menit untuk muncul di Log Aktivitas dari masalah akses brankas kunci waktu terjadi.
Peristiwa saat layanan kehilangan akses ke kunci Azure Key Vault
Azure SQL Database
EventName: MakeDatabaseInaccessible
Status: Dimulai
Deskripsi: Database {database_name} di Server {server_name} telah kehilangan akses ke Kunci Azure Key Vault dan sekarang beralih ke status yang tidak dapat diakses.
Instans Terkelola Azure SQL
EventName: MakeManagedDbInaccessible
Status: Dimulai
Deskripsi: Database { database_name} di server terkelola {server_name} telah kehilangan akses ke Kunci Azure Key Vault dan sekarang beralih ke status yang tidak dapat diakses.
Peristiwa ketika masalah tidak diselesaikan dalam waktu 30 menit dan akses kunci Azure Key Vault harus divalidasi secara manual
Azure SQL Database
EventName: MakeDatabaseInaccessible
Status: Berhasil
Deskripsi: Database tidak dapat diakses dan mengharuskan pengguna untuk mengatasi kesalahan brankas kunci Azure dan membangun kembali akses ke kunci brankas kunci Azure menggunakan Validasi ulang kunci.
Instans Terkelola Azure SQL
EventName: MakeManagedDbInaccessible
Status: Berhasil
Deskripsi: Database { database_name} di server terkelola {server_name} tidak dapat diakses dan mengharuskan pengguna untuk membuat ulang akses ke Kunci Azure Key Vault.
Peristiwa saat validasi ulang akses kunci Azure Key Vault telah berhasil dan db kembali online
Azure SQL Database
EventName: MakeDatabaseAccessible
Status: Dimulai
Deskripsi: Akses ke Kunci Azure Key Vault telah dibuat ulang, operasi untuk membuat database {database_name} di server {server_name} dapat diakses dimulai.
Instans Terkelola Azure SQL
EventName: MakeManagedDatabaseAccessible
Status: Dimulai
Deskripsi: Akses ke Kunci Azure Key Vault telah dibuat ulang, operasi untuk membuat database {database_name} di server terkelola {server_name} dapat diakses dimulai.
Peristiwa ketika database berhasil kembali online
Azure SQL Database
EventName: MakeDatabaseAccessible
Status: Berhasil
Deskripsi: Akses ke Kunci Azure Key Vault telah dibuat ulang dan database {database_name} di server {server_name} sekarang online.
Instans Terkelola Azure SQL
EventName: MakeManagedDatabaseAccessible
Status: Berhasil
Deskripsi: Akses ke Kunci Azure Key Vault telah dibuat ulang dan database {database_name} di server terkelola {server_name} sekarang online.
Peristiwa saat validasi ulang akses kunci Azure Key Vault gagal
Azure SQL Database
EventName: MakeDatabaseAccessible
Status: Gagal
Deskripsi: Akses ke Kunci Azure Key Vault telah dibuat ulang, operasi untuk membuat database {database_name} dapat diakses di server {server_name} gagal
Instans Terkelola Azure SQL
EventName: MakeManagedDatabaseAccessible
Status: Gagal
Deskripsi: Akses ke Kunci Azure Key Vault telah dibuat ulang, operasi untuk membuat database {database_name} dapat diakses di server terkelola {server_name} gagal
Konten terkait
- Pelajari tentang Azure Resource Health.
- Siapkan Grup Tindakan untuk menerima pemberitahuan dan pemberitahuan berdasarkan preferensi Anda, misalnya, Email/SMS/Push/Voice, Logic App, Webhook, ITSM, atau Automation Runbook.
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk