TDE korumalı veritabanının sertifikasını Azure SQL Yönetilen Örneği’ne geçirme
Şunlar için geçerlidir: Azure SQL Yönetilen Örneği
yerel geri yükleme seçeneğini kullanarak Saydam Veri Şifrelemesi (TDE) ile korunan bir veritabanını Azure SQL Yönetilen Örneği geçirirken, veritabanı geri yüklemesinden önce SQL Server örneğinden ilgili sertifikanın geçirilmesi gerekir. Bu makalede, sertifikanın el ile Azure SQL Yönetilen Örneği geçiş işleminde size yol gösterilir:
- Sertifikayı Kişisel Bilgi Değişimi (.pfx) dosyasına aktarma
- Sertifikayı bir dosyadan base-64 dizesine ayıklama
- PowerShell cmdlet'ini kullanarak karşıya yükleme
Hem TDE korumalı veritabanının hem de ilgili sertifikanın sorunsuz geçişi için tam olarak yönetilen bir hizmet kullanan alternatif bir seçenek için bkz. Azure Veritabanı Geçiş Hizmeti kullanarak şirket içi veritabanınızı Azure SQL Yönetilen Örneği geçirme.
Önemli
Geçirilen sertifika yalnızca TDE korumalı veritabanını geri yüklemek için kullanılır. Geri yükleme tamamlandıktan hemen sonra geçirilen sertifika, örnekte ayarladığınız TDE türüne bağlı olarak hizmet tarafından yönetilen bir sertifika veya anahtar kasasından asimetrik bir anahtar olan farklı bir koruyucuyla değiştirilir.
Önkoşullar
Bu makaledeki adımları tamamlayabilmeniz için şu önkoşullar gereklidir:
- Şirket içi sunucuya veya dosya olarak dışarı aktarılan sertifikaya erişimi olan başka bir bilgisayara yüklenmiş Pvk2Pfx komut satırı aracı. Pvk2Pfx aracı, bağımsız bir komut satırı ortamı olan Enterprise Windows Driver Kit'in bir parçasıdır.
- Windows PowerShell sürüm 5.0 veya üstü yüklenmiş olmalıdır.
Aşağıdakilere sahip olduğunuzdan emin olun:
- Azure PowerShell modülü yüklendi ve güncelleştirildi.
- Az.Sql modülü.
Not
Bu makalede, Azure ile etkileşim için önerilen PowerShell modülü olan Azure Az PowerShell modülü kullanılır. Az PowerShell modülünü kullanmaya başlamak için Azure PowerShell’i yükleyin. Az PowerShell modülüne nasıl geçeceğinizi öğrenmek için bkz. Azure PowerShell’i AzureRM’den Az’ye geçirme.
Önemli
PowerShell Azure Resource Manager modülü Azure SQL Yönetilen Örneği tarafından hala desteklenmektedir, ancak gelecekteki tüm geliştirmeler Az.Sql modülüne yöneliktir. Bu cmdlet'ler için bkz . AzureRM.Sql. Az modülündeki ve AzureRM modüllerindeki komutların bağımsız değişkenleri önemli ölçüde aynıdır.
Modülü yüklemek/güncelleştirmek için PowerShell'de aşağıdaki komutları çalıştırın:
Install-Module -Name Az.Sql
Update-Module -Name Az.Sql
TDE sertifikasını bir .pfx dosyasına dışarı aktarma
Sertifika doğrudan kaynak SQL Server örneğinden veya orada tutulduysa sertifika deposundan dışarı aktarılabilir.
Sertifikayı kaynak SQL Server örneğinden dışarı aktarma
Sertifikayı SQL Server Management Studio ile dışarı aktarmak ve .pfx biçimine dönüştürmek için aşağıdaki adımları kullanın. TDE_Cert ve full_path genel adları, adımlar aracılığıyla sertifika ve dosya adları ve yolları için kullanılır. Bunlar gerçek adlarla değiştirilmelidir.
SSMS'de yeni bir sorgu penceresi açın ve kaynak SQL Server örneğine bağlanın.
TDE korumalı veritabanlarını listelemek ve geçirilecek veritabanının şifrelemesini koruyan sertifikanın adını almak için aşağıdaki betiği kullanın:
USE master GO SELECT db.name as [database_name], cer.name as [certificate_name] FROM sys.dm_database_encryption_keys dek LEFT JOIN sys.certificates cer ON dek.encryptor_thumbprint = cer.thumbprint INNER JOIN sys.databases db ON dek.database_id = db.database_id WHERE dek.encryption_state = 3
Sertifikayı, ortak ve özel anahtar bilgilerinin tutulduğu dosya çiftine (.cer ve .pvk) dışarı aktarmak için şu betiği yürütün:
USE master GO BACKUP CERTIFICATE TDE_Cert TO FILE = 'c:\full_path\TDE_Cert.cer' WITH PRIVATE KEY ( FILE = 'c:\full_path\TDE_Cert.pvk', ENCRYPTION BY PASSWORD = '<SomeStrongPassword>' )
Pvk2Pfx aracını kullanarak yeni oluşturulan bir dosya çiftinden .pfx dosyasına sertifika bilgilerini kopyalamak için PowerShell konsolunu kullanın:
.\pvk2pfx -pvk c:/full_path/TDE_Cert.pvk -pi "<SomeStrongPassword>" -spc c:/full_path/TDE_Cert.cer -pfx c:/full_path/TDE_Cert.pfx
Sertifikayı bir sertifika deposundan dışarı aktarma
Sertifika SQL Server yerel makine sertifika deposunda tutulursa, aşağıdaki adımlar kullanılarak dışarı aktarılabilir:
PowerShell konsolunu açın ve Aşağıdaki komutu yürüterek Microsoft Yönetim Konsolu'nun Sertifikalar ek bileşenini açın:
certlm
Sertifikalar MMC ek bileşeninde, sertifika listesini görmek için Kişisel > Sertifikalar yolunu genişletin.
Sertifikaya sağ tıklayın ve Dışarı Aktar'a tıklayın.
Sertifikayı ve özel anahtarı .pfx biçiminde dışarı aktarmak için sihirbazı izleyin.
Azure PowerShell cmdlet'ini kullanarak sertifikayı Azure SQL Yönetilen Örneği yükleme
PowerShell’deki hazırlık adımlarını başlatın:
# import the module into the PowerShell session Import-Module Az # connect to Azure with an interactive dialog for sign-in Connect-AzAccount # list subscriptions available and copy id of the subscription target the managed instance belongs to Get-AzSubscription # set subscription for the session Select-AzSubscription <subscriptionId>
Tüm hazırlık adımları tamamlandıktan sonra aşağıdaki komutları çalıştırarak base-64 kodlanmış sertifikayı hedef yönetilen örneğe yükleyin:
# If you are using PowerShell 6.0 or higher, run this command: $fileContentBytes = Get-Content 'C:/full_path/TDE_Cert.pfx' -AsByteStream # If you are using PowerShell 5.x, uncomment and run this command instead of the one above: # $fileContentBytes = Get-Content 'C:/full_path/TDE_Cert.pfx' -Encoding Byte $base64EncodedCert = [System.Convert]::ToBase64String($fileContentBytes) $securePrivateBlob = $base64EncodedCert | ConvertTo-SecureString -AsPlainText -Force $password = "<password>" $securePassword = $password | ConvertTo-SecureString -AsPlainText -Force Add-AzSqlManagedInstanceTransparentDataEncryptionCertificate -ResourceGroupName "<resourceGroupName>" ` -ManagedInstanceName "<managedInstanceName>" -PrivateBlob $securePrivateBlob -Password $securePassword
Sertifika artık belirtilen yönetilen örnek tarafından kullanılabilir ve karşılık gelen TDE korumalı veritabanının yedeklemesi başarıyla geri yüklenebilir.
Not
Karşıya yüklenen sertifika sys.certificates katalog görünümünde görünmez. Sertifikanın başarıyla karşıya yüklendiğini onaylamak için RESTORE FILELISTONLY komutunu çalıştırabilirsiniz.
Sonraki adımlar
Bu makalede, Saydam Veri Şifrelemesi olan bir veritabanının şifreleme anahtarını koruyan sertifikayı şirket içi veya IaaS SQL Server örneğinden Azure SQL Yönetilen Örneği geçirmeyi öğrendiniz.
Veritabanı yedeğini Azure SQL Yönetilen Örneği geri yüklemeyi öğrenmek için bkz. Veritabanı yedeğini Azure SQL Yönetilen Örneği geri yükleme.
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin