Kesalahan umum untuk enkripsi data transparan dengan kunci yang dikelola pelanggan di Azure Key Vault

Berlaku untuk:Azure SQL DatabaseAzure SQL Managed InstanceAzure 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).

Pengantar

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 disembuhkan 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 pulih 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:

Mitigasi

Gunakan cmdlet atau perintah berikut untuk mengonfigurasi identitas terkelola yang ditetapkan pengguna atau yang ditetapkan sistem untuk server:

Di portal Azure, buka brankas kunci, lalu buka Kebijakan akses. Selesaikan langkah-langkah berikut:

  1. Gunakan tombol Tambahkan Baru untuk menambahkan AppId untuk server yang Anda buat di langkah sebelumnya.
  2. 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 AzureKeyVault Koneksi ionFailed - Operasi tidak dapat diselesaikan di server karena upaya untuk menyambungkan ke Azure Key Vault telah gagal.

Deteksi

Untuk mengidentifikasi URI kunci dan brankas kunci:

  1. Gunakan cmdlet atau perintah berikut untuk mendapatkan URI kunci instans server tertentu:

  2. 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:

  1. Identifikasi brankas kunci, lalu buka brankas kunci di portal Microsoft Azure.
  2. Pastikan bahwa kunci yang diidentifikasi oleh URI kunci ada.

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

Langkah berikutnya

  • 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.