Veritabanı düzeyinde müşteri tarafından yönetilen anahtarlarla saydam veri şifrelemesi için coğrafi çoğaltma ve yedekleme geri yüklemesini yapılandırma
Veritabanı Düzeyi TDE CMK, Azure SQL Veritabanı (tüm SQL Veritabanı sürümleri) için kullanılabilir. Azure SQL Yönetilen Örneği, şirket içi SQL Server, Azure VM'leri ve Azure Synapse Analytics (ayrılmış SQL havuzları (eski adı SQL DW) için kullanılamaz.
Bu kılavuzda, bir Azure SQL Veritabanı coğrafi çoğaltmayı ve yedekleme geri yüklemesini yapılandırma adımlarını inceleyeceğiz. Azure SQL Veritabanı, Azure Key Vault'a erişmek için kullanıcı tarafından atanan yönetilen kimlik kullanılarak veritabanı düzeyinde saydam veri şifrelemesi (TDE) ve müşteri tarafından yönetilen anahtarlar (CMK) ile yapılandırılır. Hem Azure Key Vault hem de Azure SQL için mantıksal sunucu bu kılavuz için aynı Microsoft Entra kiracısındadır, ancak farklı kiracılarda olabilir.
Not
Microsoft Entra Id daha önce Azure Active Directory (Azure AD) olarak biliniyordu.
Önkoşullar
Bu işlemlerin kaynak veritabanı olan veritabanı düzeyinde müşteri tarafından yönetilen anahtarlarla yapılandırılmış bir Azure SQL Veritabanı sahip olun. Daha fazla bilgi için bkz . Veritabanı düzeyinde müşteri tarafından yönetilen anahtarlarla saydam veri şifrelemesi (TDE).
Veritabanı oluşturulduktan veya geri yüklendikten sonra Azure portalındaki Saydam Veri Şifrelemesi menüsünde yeni veritabanı kaynak veritabanıyla aynı ayarlarla gösterilir, ancak anahtarlar eksik olabilir. Kaynak veritabanından yeni bir veritabanının oluşturulduğu her durumda, Azure portalı ek veritabanı anahtarları listesinde hedef veritabanı için görüntülenen anahtar sayısı, kaynak veritabanı için görüntülenen anahtar sayısından az olabilir. Bunun nedeni, görüntülenen anahtarların sayısının hedef veritabanı oluşturmak için kullanılan tek tek özellik gereksinimlerine bağlı olmasıdır. Yeni bir veritabanı için kullanılabilen tüm anahtarları listelemek için, Azure SQL Veritabanı veritabanı düzeyinde müşteri tarafından yönetilen anahtar ayarlarını görüntüleme bölümündeki kullanılabilir API'leri kullanın.
veritabanı düzeyinde müşteri tarafından yönetilen anahtarları ikincil anahtar veya kopya olarak içeren bir Azure SQL Veritabanı oluşturma
Veritabanı düzeyinde müşteri tarafından yönetilen anahtarlarla yapılandırılmış bir Azure SQL Veritabanı ikincil çoğaltma oluşturmak veya hedefini kopyalamak için aşağıdaki yönergeleri veya komutları kullanın. Veritabanı oluşturma aşamasında saydam veri şifrelemesi için müşteri tarafından yönetilen anahtar ayarlamak için kullanıcı tarafından atanan yönetilen kimlik gereklidir.
Veritabanı düzeyinde müşteri tarafından yönetilen anahtarlara sahip bir veritabanı kopyası oluşturma
Azure SQL Veritabanı'da veritabanı düzeyinde müşteri tarafından yönetilen anahtarlarla bir kopya olarak veritabanı oluşturmak için şu adımları izleyin:
Azure portalına gidin ve veritabanı düzeyinde müşteri tarafından yönetilen anahtarlarla yapılandırılan Azure SQL Veritabanı gidin. Veri Şifreleme menüsünün Saydam Veri Şifrelemesi sekmesine erişin ve veritabanı tarafından kullanılan geçerli anahtarların listesini denetleyin.
Veritabanının Genel Bakış menüsünden Kopyala'yı seçerek veritabanının bir kopyasını oluşturun.
SQL Veritabanı Oluştur - Veritabanını kopyala menüsü görüntülenir. Bu veritabanı için farklı bir sunucu kullanın, ancak kopyalamaya çalıştığınız veritabanıyla aynı ayarları kullanın. Saydam Veri Şifrelemesi Anahtar Yönetimi bölümünde Saydam veri şifrelemesini yapılandır'ı seçin.
Saydam Veri Şifrelemesi menüsü görüntülendiğinde, bu kopyalama veritabanının CMK ayarlarını gözden geçirin. Ayarlar ve anahtarlar, kaynak veritabanında kullanılan kimlik ve anahtarlarla doldurulmalıdır.
Devam etmek için Uygula'yı ve ardından Gözden geçir + oluştur'u ve kopya veritabanını oluşturmak için Oluştur'u seçin.
Veritabanı düzeyinde müşteri tarafından yönetilen anahtarlara sahip ikincil bir çoğaltma oluşturma
Azure portalına gidin ve veritabanı düzeyinde müşteri tarafından yönetilen anahtarlarla yapılandırılan Azure SQL Veritabanı gidin. Saydam Veri Şifrelemesi menüsüne erişin ve veritabanı tarafından kullanılan geçerli anahtarların listesini denetleyin.
Veritabanının veri yönetimi ayarları'nın altında Çoğaltmalar'ı seçin. Veritabanının ikincil çoğaltmasını oluşturmak için Çoğaltma oluştur'u seçin.
SQL Veritabanı Oluştur - Coğrafi Çoğaltma menüsü görüntülenir. Bu veritabanı için ikincil bir sunucu kullanın, ancak çoğaltmaya çalıştığınız veritabanıyla aynı ayarları kullanın. Saydam Veri Şifrelemesi Anahtar Yönetimi bölümünde Saydam veri şifrelemesini yapılandır'ı seçin.
Saydam Veri Şifrelemesi menüsü görüntülendiğinde, bu veritabanı çoğaltması için CMK ayarlarını gözden geçirin. Ayarlar ve anahtarlar, birincil veritabanında kullanılan kimlik ve anahtarlarla doldurulmalıdır.
Devam etmek için Uygula'yı ve ardından Gözden geçir + oluştur'u ve kopya veritabanını oluşturmak için Oluştur'u seçin.
Azure CLI'nın geçerli sürümünü yükleme hakkında bilgi için Bkz . Azure CLI'yi yükleme makalesi.
parametresini currentkeys-filterkullanarak birincil veritabanı tarafından kullanılan geçerli anahtarların expand-keys listesini önceden doldurma.
az sql db show --name $databaseName --resource-group $resourceGroup --server $serverName --expand-keys --keys-filter current
Kullanıcı tarafından atanan yönetilen kimliği (ve kiracılar arası erişimi yapılandırıyorsanız federasyon istemci kimliğini) seçin.
İkincil olarak yeni bir veritabanı oluşturun ve kaynak veritabanından ve yukarıdaki kimlikten (ve kiracılar arası erişimi yapılandırıyorsanız federasyon istemci kimliğinden) elde edilen anahtarların önceden doldurulmuş listesini sağlayın.
# Create a secondary replica with Active Geo Replication with the same name as the primary database
az sql db replica create -g $resourceGroup -s $serverName -n $databaseName --partner-server $secondaryServer --partner-database $secondaryDatabase --partner-resource-group $secondaryResourceGroup -i --encryption-protector $encryptionProtector --user-assigned-identity-id $umi --keys $keys
Önemli
$keys, kaynak veritabanından alınan anahtarların boşlukla ayrılmış listesidir.
Veritabanının bir kopyasını oluşturmak için az sql db copy aynı parametrelerle kullanılabilir.
# Create a copy of a database configured with database level customer-managed keys
az sql db copy -g $resourceGroup -s $serverName -n $databaseName --dest-name $secondaryDatabase -i --encryption-protector $encryptionProtector --user-assigned-identity-id $umi --keys $keys
Get-AzSqlDatabase komutunu ve ve -KeysFilter "current" parametrelerini kullanarak birincil veritabanı tarafından kullanılan geçerli anahtarların -ExpandKeyList listesini önceden doldurma. Tüm anahtarları almak istiyorsanız hariç tutun -KeysFilter .
Aşağıda, kullanıcı tarafından atanan yönetilen kimlik ve veritabanı düzeyinde müşteri tarafından yönetilen TDE ile yapılandırılmış bir Azure SQL Veritabanı ikincil çoğaltması ve kopyası oluşturan arm şablonu örneği verilmiştır.
Azure portalında özel dağıtım kullanın ve düzenleyicide kendi şablonunuzu oluşturun. Ardından, örnekte yapıştırdıktan sonra yapılandırmayı kaydedin .
Aşağıdaki REST API isteğini kullanarak birincil veritabanı tarafından kullanılan geçerli anahtarların listesini önceden girin:
GET https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}?api-version=2022-08-01-preview&$expand=keys($filter=pointInTime('current'))
Kullanıcı tarafından atanan yönetilen kimliği (ve kiracılar arası erişimi yapılandırıyorsanız federasyon istemci kimliğini) seçin.
İkincil olarak yeni bir veritabanı oluşturun ve arm şablonunda kaynak veritabanından ve yukarıdaki kimlikten (ve kiracılar arası erişimi yapılandırıyorsa federasyon istemci kimliğinden) alınan anahtarların önceden doldurulmuş listesini parametre olarak keys_to_add sağlayın.
Veritabanı düzeyinde müşteri tarafından yönetilen anahtarlarla Azure SQL Veritabanı geri yükleme
Bu bölümde, veritabanı düzeyinde müşteri tarafından yönetilen anahtarlarla yapılandırılmış bir Azure SQL Veritabanı geri yükleme adımları gösterilmektedir. Veritabanı oluşturma aşamasında saydam veri şifrelemesi için müşteri tarafından yönetilen anahtar ayarlamak için kullanıcı tarafından atanan yönetilen kimlik gereklidir.
Belirli bir noktaya geri yükleme
Aşağıdaki bölümde, veritabanı düzeyinde müşteri tarafından yönetilen anahtarlarla yapılandırılmış bir veritabanının belirli bir zamana nasıl geri yükleneceği açıklanmaktadır. SQL Veritabanı yedekleme kurtarma hakkında daha fazla bilgi edinmek için bkz. SQL Veritabanı'da veritabanını kurtarma.
Azure portalına gidin ve geri yüklemek istediğiniz veritabanı düzeyinde müşteri tarafından yönetilen anahtarlarla yapılandırılmış Azure SQL Veritabanı gidin.
Veritabanını belirli bir noktaya geri yüklemek için veritabanının Genel Bakış menüsünden Geri Yükle'yi seçin.
SQL Veritabanı Oluştur - Veritabanını geri yükle menüsü görüntülenir. Gereken kaynak ve veritabanı ayrıntılarını doldurun. Saydam Veri Şifrelemesi Anahtar Yönetimi bölümünde Saydam veri şifrelemesini yapılandır'ı seçin.
Saydam Veri Şifrelemesi menüsü görüntülendiğinde, veritabanının CMK ayarlarını gözden geçirin. Ayarlar ve anahtarlar, geri yüklemeye çalıştığınız veritabanında kullanılan kimlik ve anahtarlarla doldurulmalıdır.
Devam etmek için Uygula'yı ve ardından Gözden geçir + oluştur'u ve kopya veritabanını oluşturmak için Oluştur'u seçin.
Azure CLI'nın geçerli sürümünü yükleme hakkında bilgi için Bkz . Azure CLI'yi yükleme makalesi.
parametresini kullanarak expand-keys birincil veritabanı tarafından kullanılan anahtar listesini, geri yükleme noktanız olarak keys-filterzaman içinde önceden doldurma.
az sql db show --name $databaseName --resource-group $resourceGroup --server $serverName --expand-keys --keys-filter $timestamp
Kullanıcı tarafından atanan yönetilen kimliği (ve kiracılar arası erişimi yapılandırıyorsanız federasyon istemci kimliğini) seçin.
Geri yükleme hedefi olarak yeni bir veritabanı oluşturun ve kaynak veritabanından ve yukarıdaki kimlikten (ve kiracılar arası erişimi yapılandırıyorsanız federasyon istemci kimliğinden) elde edilen anahtarların önceden doldurulmuş listesini sağlayın.
# Create a restored database
az sql db restore --dest-name $destName --name $databaseName --resource-group $resourceGroup --server $serverName --subscription $subscriptionId --time $timestamp -i --encryption-protector $encryptionProtector --user-assigned-identity-id $umi --keys $keys
Önemli
$keys, kaynak veritabanından alınan anahtarların boşlukla ayrılmış listesidir.
Aşağıdaki bölümde, müşteri tarafından yönetilen anahtarlarla veritabanı düzeyinde yapılandırılmış silinmiş bir veritabanının nasıl geri yükleneceği açıklanmaktadır. SQL Veritabanı yedekleme kurtarma hakkında daha fazla bilgi edinmek için bkz. SQL Veritabanı'da veritabanını kurtarma.
Azure portalına gidin ve geri yüklemek istediğiniz silinen veritabanının mantıksal sunucusuna gidin. Veri yönetimi'nin altında Silinmiş veritabanları'yı seçin.
Geri yüklemek istediğiniz silinen veritabanını seçin.
SQL Veritabanı Oluştur - Veritabanını geri yükle menüsü görüntülenir. Gereken kaynak ve veritabanı ayrıntılarını doldurun. Saydam Veri Şifrelemesi Anahtar Yönetimi bölümünde Saydam veri şifrelemesini yapılandır'ı seçin.
Saydam Veri Şifrelemesi menüsü görüntülendiğinde veritabanınız için Kullanıcı Tarafından Atanan Yönetilen Kimlik, Müşteri Tarafından Yönetilen Anahtar ve Ek Veritabanı Anahtarları bölümünü yapılandırın.
Devam etmek için Uygula'yı ve ardından Gözden geçir + oluştur'u ve kopya veritabanını oluşturmak için Oluştur'u seçin.
Azure CLI'nın geçerli sürümünü yükleme hakkında bilgi için Bkz . Azure CLI'yi yükleme makalesi.
parametresini kullanarak expand-keys bırakılan veritabanı tarafından kullanılan anahtar listesini önceden doldurma. Kaynak veritabanının kullandığı tüm anahtarların geçirilmesi önerilir. Ayrıca, parametresini kullanarak keys-filter silme zamanında sağlanan anahtarlarla geri yüklemeyi de deneyebilirsiniz.
az sql db show-deleted --name $databaseName --resource-group $resourceGroup --server $serverName --restorable-dropped-database-id "databaseName,133201549661600000" --expand-keys
Önemli
restorable-dropped-database-id , sunucusundaki tüm geri yüklenebilir bırakılan veritabanları listelenerek alınabilir ve biçimindedir databaseName,deletedTimestamp.
Kullanıcı tarafından atanan yönetilen kimliği (ve kiracılar arası erişimi yapılandırıyorsanız federasyon istemci kimliğini) seçin.
Geri yükleme hedefi olarak yeni bir veritabanı oluşturun ve silinen kaynak veritabanından ve yukarıdaki kimlikten (ve kiracılar arası erişimi yapılandırıyorsanız federasyon istemci kimliğinden) alınan anahtarların önceden doldurulmuş listesini sağlayın.
# Create a restored database
az sql db restore --dest-name $destName --name $databaseName --resource-group $resourceGroup --server $serverName --subscription $subscriptionId --time $timestamp -i --encryption-protector $encryptionProtector --user-assigned-identity-id $umi --keys $keys --deleted-time "2023-02-06T11:02:46.160000+00:00"
Önemli
$keys , kaynak veritabanından alınan anahtarların boşlukla ayrılmış listesidir.
Get-AzSqlDeletedDatabaseBackup komutunu ve parametresini kullanarak birincil veritabanı tarafından kullanılan anahtarların -ExpandKeyList listesini önceden girin. Kaynak veritabanının kullandığı tüm anahtarların geçirilmesi önerilir. Ayrıca, parametresini kullanarak -KeysFilter silme zamanında sağlanan anahtarlarla geri yüklemeyi de deneyebilirsiniz.
Aşağıdaki bölümde, veritabanı düzeyinde müşteri tarafından yönetilen anahtarlarla yapılandırılan veritabanının coğrafi olarak çoğaltılmış yedeğinin nasıl geri yükleneceği açıklanmaktadır. SQL Veritabanı yedekleme kurtarma hakkında daha fazla bilgi edinmek için bkz. SQL Veritabanı'da veritabanını kurtarma.
Azure portalına gidin ve veritabanını geri yüklemek istediğiniz mantıksal sunucuya gidin.
Genel Bakış menüsünde Veritabanı oluştur'u seçin.
SQL Veritabanı oluştur menüsü görüntülenir. Yeni veritabanınız için Temel ve Ağ sekmelerini doldurun. Ek ayarlar'da Mevcut verileri kullan bölümünde Yedekle'yiseçin ve coğrafi olarak çoğaltılmış bir yedekleme seçin.
Güvenlik sekmesine gidin. Saydam Veri Şifrelemesi Anahtar Yönetimi bölümünde Saydam veri şifrelemesini yapılandır'ı seçin.
Saydam Veri Şifrelemesi menüsü görüntülendiğinde Veritabanı düzeyi Müşteri Tarafından Yönetilen Anahtar (CMK) öğesini seçin. Kullanıcı Tarafından Atanan Yönetilen Kimlik, Müşteri Tarafından Yönetilen Anahtar ve Ek Veritabanı Anahtarları, geri yüklemek istediğiniz kaynak veritabanıyla eşleşmelidir. Kullanıcı tarafından atanan yönetilen kimliğin yedeklemede kullanılan müşteri tarafından yönetilen anahtarı içeren anahtar kasasına erişimi olduğundan emin olun.
Devam etmek için Uygula'yı ve ardından Gözden geçir + oluştur'u ve yedekleme veritabanını oluşturmak için Oluştur'u seçin.
Azure CLI'nın geçerli sürümünü yükleme hakkında bilgi için Bkz . Azure CLI'yi yükleme makalesi.
parametresini kullanarak veritabanı düzeyinde müşteri tarafından yönetilen anahtarlarla yapılandırılan veritabanının coğrafi yedeklemesi tarafından kullanılan anahtarların expand-keys listesini önceden doldurma.
az sql db geo-backup --database-name $databaseName --g $resourceGroup --server $serverName --expand-keys
Kullanıcı tarafından atanan yönetilen kimliği (ve kiracılar arası erişimi yapılandırıyorsanız federasyon istemci kimliğini) seçin.
Coğrafi geri yükleme hedefi olarak yeni bir veritabanı oluşturun ve silinen kaynak veritabanından ve yukarıdaki kimlikten (ve kiracılar arası erişimi yapılandırıyorsanız federasyon istemci kimliğinden) elde edilen anahtarların önceden doldurulmuş listesini sağlayın.
# Create a geo restored database
az sql db geo-backup restore --geo-backup-id "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/recoverableDatabases/{databaseName}" --dest-database $destName --resource-group $resourceGroup --dest-server $destServerName -i --encryption-protector $encryptionProtector --user-assigned-identity-id $umi --keys $keys
Önemli
$keys , kaynak veritabanından alınan anahtarların boşlukla ayrılmış listesidir.
Get-AzSqlDatabaseGeoBackup komutunu ve -ExpandKeyList tüm anahtarları almak için öğesini kullanarak birincil veritabanı tarafından kullanılan anahtarların listesini önceden girin.
Uzun süreli saklama (LTR) yedeklemeleri, yedekleme tarafından kullanılan anahtarların listesini sağlamaz. BIR LTR yedeklemesini geri yüklemek için, kaynak veritabanı tarafından kullanılan tüm anahtarların LTR geri yükleme hedefine geçirilmesi gerekir.
Not
veritabanı düzeyinde müşteri tarafından yönetilen anahtarlarla ikincil veya kopya olarak Azure SQL Veritabanı oluşturma bölümünde vurgulanan ARM şablonuna, parametre değiştirilerek createMode veritabanını ARM şablonuyla geri yüklemek için başvurulabilir.
Kopyalanan veya geri yüklenen veritabanları için otomatik anahtar döndürme seçeneği
Yeni kopyalanan veya geri yüklenen veritabanları, saydam veri şifrelemesi için kullanılan müşteri tarafından yönetilen anahtarı otomatik olarak döndürecek şekilde yapılandırılabilir. Azure portalında veya API'leri kullanarak otomatik anahtar döndürmeyi etkinleştirme hakkında bilgi için bkz . Veritabanı düzeyinde otomatik anahtar döndürme.
Sonraki adımlar
Çeşitli veritabanı düzeyinde CMK işlemleriyle ilgili aşağıdaki belgeleri gözden geçirin: