Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir: Azure SQL Veritabanı
Azure SQL Yönetilen Örneği
Azure Synapse Analytics
Bu makalede, Azure Key Vault'ta müşteri tarafından yönetilen anahtarlarla saydam veri şifrelemesi (TDE) kullanmak üzere yapılandırılmış bir veritabanının erişilemez duruma gelmesine neden olan Azure Key Vault anahtar erişim sorunlarını tanımlama ve çözme işlemleri açıklanmaktadır.
Uyarı
Microsoft Entra Id daha önce Azure Active Directory (Azure AD) olarak biliniyordu.
Giriş
TDE, Azure Key Vault'ta müşteri tarafından yönetilen bir anahtar kullanacak şekilde yapılandırıldığında, veritabanının çevrimiçi kalması için bu TDE Koruyucusu'na sürekli erişim gerekir. Mantıksal SQL sunucusu veya yönetilen örnek Azure Key Vault'ta müşteri tarafından yönetilen TDE koruyucusunun erişimini kaybederse, veritabanı uygun hata iletisiyle tüm bağlantıları reddetmeye başlar ve durumunu Azure portalında Erişilemez olarak değiştirir.
İlk 30 dakika boyunca, temel alınan Azure anahtar kasası anahtar erişimi sorunu çözülürse veritabanı otomatik olarak iyileştirilir ve otomatik olarak çevrimiçi olur. Bu, aralıklı ve geçici tüm ağ kesintisi senaryolarında kullanıcı eylemi gerektirmeyecek ve veritabanı otomatik olarak çevrimiçi olur. Çoğu durumda, temel anahtar kasası anahtar erişimi sorununu çözmek için kullanıcı eylemi gerekir.
Erişilemeyen bir veritabanı artık gerekli değilse, maliyetlerin oluşmasını durdurmak için hemen silinebilir. Azure anahtar kasası anahtarına erişim geri yüklenene ve veritabanı yeniden çevrimiçi olana kadar veritabanındaki diğer tüm eylemlere izin verilmez. Müşteri tarafından yönetilen anahtarlarla şifrelenmiş bir veritabanına erişilemezken, TDE seçeneğinin sunucuda müşteri tarafından yönetilen anahtarlardan hizmet tarafından yönetilen anahtarlara değiştirilmesi de mümkün değildir. Bu, TDE Koruyucusu izinleri iptal edilirken verileri yetkisiz erişimden korumak için gereklidir.
Bir veritabanına 30 dakikadan uzun bir süredir erişilemiyorsa, artık otomatik olarak çalışmayacaktır. Gerekli Azure anahtar kasası anahtar erişimi bu süreden sonra geri yüklendiyse, veritabanını yeniden çevrimiçi yapmak için anahtara erişimi el ile yeniden doğrulamanız gerekir. Bu durumda veritabanını yeniden çevrimiçi duruma getirmek, veritabanının boyutuna bağlı olarak önemli miktarda zaman alabilir. Veritabanı yeniden çevrimiçi olduktan sonra yük devretme grubu, PITR geçmişi ve tüm etiketler gibi önceden yapılandırılmış ayarlar kaybolur. Bu nedenle, temel anahtar kasası anahtar erişim sorunlarını en kısa sürede fark etmenize ve çözmenize olanak tanıyan Eylem Gruplarını kullanarak bir bildirim sistemi uygulamanızı öneririz.
Veritabanlarının erişilemez duruma gelmesine neden olan yaygın hatalar
TDE'yi Key Vault ile kullandığınızda oluşan sorunların çoğu aşağıdaki yanlış yapılandırmalardan biri nedeniyle oluşur:
Anahtar kasası kullanılamıyor veya yok
- Anahtar kasası yanlışlıkla silindi.
- Güvenlik duvarı Azure Key Vault için yapılandırıldı, ancak Microsoft hizmetlerine erişime izin vermiyor.
- Aralıklı bir ağ hatası anahtar kasasının kullanılamaz duruma çıkmasına neden olur.
Anahtar kasasına erişim izni yok veya anahtar yok
- Anahtar yanlışlıkla silindi, devre dışı bırakıldı veya anahtarın süresi doldu.
- Sunucunun yönetilen kimliği (sistem tarafından atanan veya kullanıcı tarafından atanan) yanlışlıkla silindi.
- Sunucu farklı bir aboneliğe taşındı. Farklı bir aboneliğe taşındığında sunucuya yeni bir yönetilen kimlik (sistem tarafından atanan veya kullanıcı tarafından atanan) atanmalıdır.
- Anahtarlar için sunucunun yönetilen kimliğine verilen izinler yeterli değildir (Alma, Kaydırma ve Sarmayı Kaldırma izinlerini içermez).
- Sunucunun yönetilen kimliğine yönelik izinler anahtar kasasından iptal edildi.
Sık karşılaşılan hataları belirleme ve çözme
Bu bölümde, en yaygın hatalar için sorun giderme adımlarını listeleyeceğiz.
Eksik sunucu kimliği
Hata İletisi
401 AzureKeyVaultNoServerIdentity - The server identity is not correctly configured on server. Please contact support.
Algılama
Sunucuya bir kimliğin atandığından emin olmak için aşağıdaki cmdlet'i veya komutu kullanın:
- Azure PowerShell: Get-AzSqlServer
- Azure CLI: az-sql-server-show
Azaltma
Sunucu için kullanıcı tarafından atanan veya sistem tarafından atanan yönetilen kimliği yapılandırmak için aşağıdaki cmdlet'i veya komutu kullanın:
- Azure PowerShell: Set-AzSqlServer seçeneğini belirleyin
-AssignIdentity. - Azure CLI: az sql server update seçeneğini belirleyin
--assign_identity.
Azure portalında anahtar kasasına gidin ve ardından Erişim ilkeleri'ne gidin. Şu adımları tamamlayın:
- Önceki adımda oluşturduğunuz sunucunun AppId değerini eklemek için Yeni Ekle düğmesini kullanın.
- Şu anahtar izinlerini atayın: Alma, Sarmalama ve Sarmayı Kaldırma
Daha fazla bilgi edinmek için bkz. Sunucunuza yönetilen kimlik atama.
Önemli
Azure SQL Veritabanı veya Azure SQL Yönetilen Örneği için mantıksal sunucu, Key Vault ile TDE'nin ilk yapılandırmasından sonra yeni bir Microsoft Entra kiracısına taşınırsa, bu yönetilen kimlik yapılandırmasının yeni kiracıda yeniden yapılandırılması gerekir.
Eksik anahtar kasası
Hata İletisi
503 AzureKeyVaultConnectionFailed - The operation could not be completed on the server because attempts to connect to Azure Key Vault have failed.
Algılama
Anahtar URI'sini ve anahtar kasasını tanımlamak için:
Belirli bir sunucu örneğinin anahtar URI'sini almak için aşağıdaki cmdlet'i veya komutu kullanın:
- Azure PowerShell: Get-AzSqlServerKeyVaultKey
- Azure CLI: az-sql-server-tde-key-show
Anahtar kasasını tanımlamak için anahtar URI'sini kullanın:
- Azure PowerShell: Anahtar kasasıyla ilgili ayrıntıları almak için $MyServerKeyVaultKey değişkeninin özelliklerini inceleyebilirsiniz.
- Azure CLI: Anahtar kasası hakkındaki ayrıntılar için döndürülen sunucu şifreleme koruyucusunu inceleyin.
Azaltma
Anahtar kasasının kullanılabilir olduğunu onaylayın:
- Anahtar kasasının kullanılabilir olduğundan ve sunucunun erişimi olduğundan emin olun.
- Anahtar kasası bir güvenlik duvarının arkasındaysa, Microsoft hizmetlerinin anahtar kasasına erişmesine izin veren onay kutusunun seçili olduğundan emin olun.
- Anahtar kasası yanlışlıkla silinmişse, yapılandırmayı baştan tamamlamanız gerekir.
Eksik anahtar
Hata iletileri
404 ServerKeyNotFound - The requested server key was not found on the current subscription.
409 ServerKeyDoesNotExists - The server key does not exist.
Algılama
Anahtar URI'sini ve anahtar kasasını tanımlamak için:
- Mantıksal SQL Server örneğine eklenen anahtar URI'sini tanımlamak için Eksik anahtar kasası cmdlet'ini veya komutlarını kullanın. Komutları çalıştırmak anahtarların listesini döndürür.
Azaltma
TDE koruyucusunun Key Vault'ta mevcut olduğunu onaylayın:
- Anahtar kasasını belirleyin, ardından Azure portalında anahtar kasasına gidin.
- Anahtar URI'sinin tanımladığı anahtarın mevcut olduğundan emin olun.
Süresi dolmuş anahtar
Hata iletileri
The server <server_name> requires the Key Vault Crypto Service Encryption User permission for the RBAC policy or following Azure Key Vault permissions: Get, WrapKey, UnwrapKey. Please grant the missing permissions to the service principal with ID <akv_key>. Ensure the key is active, not expired or disabled, set with the key activation date no later than the current date, and that trusted Microsoft services can bypass the firewall if applicable.
Algılama
Anahtar kasasında süresi dolan anahtarı tanımlamak için:
- Azure portalını kullanın, Anahtar kasası hizmet menüsü >Nesneler>Anahtarları'na gidin ve anahtar süre sonunu denetleyin.
- Get-AzKeyVaultKey PowerShell komutunu kullanın.
- Az keyvault key show azure CLI komutunu kullanın.
Azaltma
- Anahtarın süresinin dolduğunu onaylamak için anahtar kasası anahtarının son kullanma tarihini denetleyin.
- Anahtar son kullanma tarihini uzatın.
- Aşağıdakilerden 1'i içeren Anahtar yeniden doğrulama seçeneğini belirleyerek veritabanını yeniden çevrimiçi yapın:
- Mevcut anahtarı yeniden deneyin.
- Yedekleme anahtarını seçin.
Daha fazla bilgi için bkz. Erişilemez TDE koruyucusu.
Uyarı
Anahtarlar, bir hataya tepki vermek için yeterli süre sağlamak için süre dolmadan önce belirtilen sayıda gün içinde döndürülmelidir. Daha fazla bilgi için bkz. Key Vault için Azure İlkesi yerleşik tanımları.
Eksik izinler
Hata İletisi
401 AzureKeyVaultMissingPermissions - The server is missing required permissions on the Azure Key Vault.
Algılama
Anahtar URI'sini ve anahtar kasasını tanımlamak için:
- Mantıksal SQL Server örneğinin kullandığı anahtar kasasını tanımlamak için Eksik anahtar kasası cmdlet'ini veya komutlarını kullanın.
Azaltma
Sunucunun anahtar kasası için izinleri olduğunu ve anahtara erişmek için doğru izinlere sahip olduğunu onaylayın:
- Azure portalında anahtar kasası >Erişim ilkeleri'ne gidin. Sunucunun yönetilen kimliğini (sistem tarafından atanan veya kullanıcı tarafından atanan) bulun.
- Sunucu kimliği varsa, şu anahtar izinlerine sahip olduğundan emin olun: Get, WrapKey ve UnwrapKey.
- Sunucu kimliği yoksa , Yeni Ekle düğmesini kullanarak ekleyin.
Etkinlik günlüğünden TDE durumunu alma
Azure Key Vault anahtar erişim sorunları nedeniyle veritabanı durumunun izlenmesine izin vermek için aşağıdaki olaylar Azure Resource Manager URL'sine göre kaynak kimliği için Etkinlik Günlüğü'ne kaydedilir.
Uyarı
Olayların, anahtar kasası erişim sorununun oluştuğu zamandan itibaren Etkinlik Günlüğü'nde görünmesi en az 15-30 dakika sürebilir.
Hizmetin Azure Key Vault anahtarına erişimini kaybetmesi olayı
Azure SQL Veritabanı
EventName: MakeDatabaseInaccessible
Durum: Başlatıldı
Açıklama: {server_name} Sunucusundaki {database_name} veritabanı Azure Key Vault Anahtarı'na erişimi kaybetti ve şu anda erişilemez duruma geçti.
Yönetilen Azure SQL Örneği
EventName: MakeManagedDbInaccessible
Durum: Başlatıldı
Açıklama: {server_name} yönetilen sunucusundaki { database_name} veritabanı Azure Key Vault Anahtarı'na erişimi kaybetti ve şu anda erişilemez duruma geçti.
Sorun 30 dakika içinde çözülmediğinde ve Azure Key Vault anahtar erişiminin el ile doğrulanması gerektiğinde gerçekleşen olay
Azure SQL Veritabanı
EventName: MakeDatabaseInaccessible
Durum: Başarılı
Açıklama: Veritabanına erişilemiyor ve kullanıcının Azure anahtar kasası hatalarını çözmesini ve Yeniden Doğrulama anahtarını kullanarak Azure anahtar kasası anahtarına erişimi yeniden başlatmasını gerektirir.
Yönetilen Azure SQL Örneği
EventName: MakeManagedDbInaccessible
Durum: Başarılı
Açıklama: {server_name} yönetilen sunucusundaki { database_name} veritabanına erişilemiyor ve kullanıcının Azure Key Vault Anahtarına yeniden erişim oluşturmasını gerektiriyor.
Azure Key Vault anahtar erişiminin yeniden doğrulanması başarılı olduğunda ve veritabanı yeniden çevrimiçi olduğunda gerçekleşen olay
Azure SQL Veritabanı
EventName: MakeDatabaseAccessible
Durum: Başlatıldı
Açıklama: Azure Key Vault Anahtarına erişim yeniden oluşturuldu, {server_name} sunucusundaki {database_name} veritabanını erişilebilir hale getirme işlemi başlatıldı.
Yönetilen Azure SQL Örneği
EventName: MakeManagedDatabaseAccessible
Durum: Başlatıldı
Açıklama: Azure Key Vault Anahtarına erişim yeniden oluşturuldu, yönetilen sunucudaki {database_name} veritabanının {server_name} erişilebilir olmasını sağlama işlemi başlatıldı.
Veritabanı başarıyla yeniden çevrimiçi olduğunda gerçekleşen olay
Azure SQL Veritabanı
EventName: MakeDatabaseAccessible
Durum: Başarılı
Açıklama: Azure Key Vault Anahtarına erişim yeniden oluşturuldu ve {server_name} sunucusundaki {database_name} veritabanı artık çevrimiçi.
Yönetilen Azure SQL Örneği
EventName: MakeManagedDatabaseAccessible
Durum: Başarılı
Açıklama: Azure Key Vault Anahtarına erişim yeniden oluşturuldu ve {server_name} yönetilen sunucusundaki {database_name} veritabanı artık çevrimiçi.
Azure Key Vault anahtar erişiminin yeniden doğrulanması başarısız olduğunda oluşan olay
Azure SQL Veritabanı
EventName: MakeDatabaseAccessible
Durum: Başarısız
Açıklama: Azure Key Vault Anahtarına erişim yeniden oluşturuldu, {database_name} veritabanını {server_name} sunucusunda erişilebilir hale getirme işlemi başarısız oldu
Yönetilen Azure SQL Örneği
EventName: MakeManagedDatabaseAccessible
Durum: Başarısız
Açıklama: Azure Key Vault Anahtarına erişim yeniden oluşturuldu, {database_name} veritabanını yönetilen sunucuda {server_name} erişilebilir hale getirme işlemi başarısız oldu