CmK na úrovni databáze je k dispozici pro Azure SQL Database (všechny edice SQL Database). Není k dispozici pro azure SQL Managed Instance, místní SQL Server, virtuální počítače Azure a Azure Synapse Analytics (vyhrazené fondy SQL (dříve SQL DW)).
V této příručce si projdeme postup konfigurace geografické replikace a obnovení zálohování ve službě Azure SQL Database. Azure SQL Database je nakonfigurované s transparentním šifrováním dat (TDE) a klíči spravovanými zákazníkem (CMK) na úrovni databáze s využitím spravované identity přiřazené uživatelem pro přístup ke službě Azure Key Vault. Azure Key Vault i logický server pro Azure SQL jsou v tomto průvodci ve stejném tenantovi Microsoft Entra, ale můžou být v různých tenantech.
Poznámka:
ID Microsoft Entra se dříve označovalo jako Azure Active Directory (Azure AD).
Stejnou příručku můžete použít ke konfiguraci klíčů spravovaných zákazníkem na úrovni databáze v jiném tenantovi zahrnutím parametru ID federovaného klienta. Další informace najdete v tématu Správa identit a klíčů pro transparentní šifrování dat s využitím klíčů spravovaných zákazníkem na úrovni databáze.
Důležité
Po vytvoření nebo obnovení databáze se v nabídce transparentní šifrování dat na webu Azure Portal zobrazí nová databáze se stejným nastavením jako zdrojová databáze, ale pravděpodobně chybí klíče. Ve všech případech, kdy se vytvoří nová databáze ze zdrojové databáze, může být počet klíčů zobrazených pro cílovou databázi v seznamu Další klíče databáze na webu Azure Portal menší než počet klíčů zobrazených pro zdrojovou databázi. Důvodem je to, že počet zobrazených klíčů závisí na požadavcích jednotlivých funkcí používaných k vytvoření cílové databáze. Pokud chcete zobrazit seznam všech klíčů dostupných pro nově vytvářenou databázi, použijte dostupná rozhraní API v zobrazení nastavení klíče spravovaného zákazníkem na úrovni databáze ve službě Azure SQL Database.
Vytvoření služby Azure SQL Database s klíči spravovanými zákazníkem na úrovni databáze jako sekundární nebo kopírování
Pomocí následujících pokynů nebo příkazů vytvořte sekundární repliku nebo cíl kopírování služby Azure SQL Database nakonfigurovaný pomocí klíčů spravovaných zákazníkem na úrovni databáze. Spravovaná identita přiřazená uživatelem se vyžaduje k nastavení klíče spravovaného zákazníkem pro transparentní šifrování dat během fáze vytváření databáze.
Vytvoření kopie databáze s klíči spravovanými zákazníkem na úrovni databáze
Pokud chcete vytvořit databázi ve službě Azure SQL Database jako kopii s klíči spravovanými zákazníkem na úrovni databáze, postupujte takto:
Přejděte na web Azure Portal a přejděte do služby Azure SQL Database nakonfigurované pomocí klíčů spravovaných zákazníkem na úrovni databáze. Přejděte na kartu transparentní šifrování dat nabídky Šifrování dat a zkontrolujte seznam aktuálních klíčů, které databáze používá.
Vytvořte kopii databáze výběrem možnosti Kopírovat z nabídky Přehled databáze.
Zobrazí se nabídka Vytvořit databázi SQL – Kopírovat databázi . Pro tuto databázi použijte jiný server, ale stejné nastavení jako databáze, kterou chcete zkopírovat. V části transparentní šifrování dat Správa klíčů vyberte Konfigurovat transparentní šifrování dat.
Jakmile se zobrazí nabídka transparentní šifrování dat, zkontrolujte nastavení CMK pro tuto databázi kopírování. Nastavení a klíče by měly být naplněny stejnou identitou a klíči používanými ve zdrojové databázi.
Pokračujte výběrem možnosti Použít a pak vyberte Zkontrolovat a vytvořit a vytvořit kopii databáze.
Vytvoření sekundární repliky s klíči spravovanými zákazníkem na úrovni databáze
Přejděte na web Azure Portal a přejděte do služby Azure SQL Database nakonfigurované pomocí klíčů spravovaných zákazníkem na úrovni databáze. Přejděte do nabídky transparentní šifrování dat a zkontrolujte seznam aktuálních klíčů, které databáze používá.
V části Nastavení správy dat pro databázi vyberte Repliky. Výběrem možnosti Vytvořit repliku vytvořte sekundární repliku databáze.
Zobrazí se nabídka Vytvořit databázi SQL – Geografická replika . Pro tuto databázi použijte sekundární server, ale stejné nastavení jako databáze, kterou se pokoušíte replikovat. V části transparentní šifrování dat Správa klíčů vyberte Konfigurovat transparentní šifrování dat.
Jakmile se zobrazí nabídka transparentní šifrování dat, zkontrolujte nastavení cmk pro tuto repliku databáze. Nastavení a klíče by měly být naplněny stejnou identitou a klíči použitými v primární databázi.
Pokračujte výběrem možnosti Použít a pak vyberte Zkontrolovat a vytvořit a vytvořit kopii databáze.
Předem vyplní seznam aktuálních klíčů, které primární databáze používá, pomocí parametru expand-keys jako current parametru keys-filter.
az sql db show --name $databaseName --resource-group $resourceGroup --server $serverName --expand-keys --keys-filter current
Vyberte spravovanou identitu přiřazenou uživatelem (a ID federovaného klienta, pokud konfigurujete přístup mezi tenanty).
Vytvořte novou databázi jako sekundární a zadejte předem vyplněný seznam klíčů získaných ze zdrojové databáze a výše uvedenou identitu (a ID federovaného klienta, pokud konfigurujete přístup mezi tenanty).
# 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
Důležité
$keys je seznam klíčů oddělených mezerami načtených ze zdrojové databáze.
Chcete-li vytvořit kopii databáze, lze az sql db copy použít se stejnými parametry.
# 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
Pomocí příkazu Get-AzSqlDatabase a -ExpandKeyList-KeysFilter "current" parametrů předem naplníte seznam aktuálních klíčů, které primární databáze používá. Vylučte -KeysFilter , pokud chcete načíst všechny klíče.
Vyberte spravovanou identitu přiřazenou uživatelem (a ID federovaného klienta, pokud konfigurujete přístup mezi tenanty).
Vytvořte novou databázi jako sekundární pomocí příkazu New-AzSqlDatabaseSecondary a zadejte předem vyplněný seznam klíčů získaných ze zdrojové databáze a výše uvedenou identitu (a ID federovaného klienta, pokud konfigurujete přístup mezi tenanty) ve volání rozhraní API pomocí -KeyListparametrů , -AssignIdentity, -UserAssignedIdentityId, -EncryptionProtector (a v případě potřeby), -FederatedClientId).
# Create a secondary replica with Active Geo Replication with the same name as the primary database
$database = Get-AzSqlDatabase -ResourceGroupName <ResourceGroupName> -ServerName <ServerName> -DatabaseName <DatabaseName> -ExpandKeyList -KeysFilter "current"
$database | New-AzSqlDatabaseSecondary -PartnerResourceGroupName <SecondaryResourceGroupName> -PartnerServerName <SecondaryServerName> -AllowConnections "All" -AssignIdentity -UserAssignedIdentityId <UserAssignedIdentityId> -EncryptionProtector <CustomerManagedKeyId> -FederatedClientId <FederatedClientId>
-KeyList $database.Keys.Keys
Tady je příklad šablony ARM, která vytvoří sekundární repliku a kopii služby Azure SQL Database nakonfigurovanou pomocí spravované identity přiřazené uživatelem a transparentního šifrování dat spravovaného zákazníkem na úrovni databáze.
Použití vlastního nasazení na webu Azure Portal a vytvoření vlastní šablony v editoru V dalším kroku uložte konfiguraci po vložení v příkladu.
Pomocí následujícího požadavku rozhraní REST API předem naplníte seznam aktuálních klíčů, které primární databáze používá:
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'))
Vyberte spravovanou identitu přiřazenou uživatelem (a ID federovaného klienta, pokud konfigurujete přístup mezi tenanty).
Vytvořte novou databázi jako sekundární databázi a jako parametr v šabloně ARM zadejte předem vyplněný seznam klíčů získaných ze zdrojové databáze a výše uvedenou identitu (a ID federovaného klienta, pokud konfigurujete přístup mezi tenanty keys_to_add ).
Obnovení služby Azure SQL Database pomocí klíčů spravovaných zákazníkem na úrovni databáze
Tato část vás provede postupem obnovení služby Azure SQL Database nakonfigurovaným pomocí klíčů spravovaných zákazníkem na úrovni databáze. Spravovaná identita přiřazená uživatelem se vyžaduje k nastavení klíče spravovaného zákazníkem pro transparentní šifrování dat během fáze vytváření databáze.
Obnovení k určitému bodu v čase
Následující část popisuje, jak obnovit databázi nakonfigurovanou pomocí klíčů spravovaných zákazníkem na úrovni databáze k určitému bodu v čase. Další informace o obnovení zálohování pro službu SQL Database najdete v tématu Obnovení databáze ve službě SQL Database.
Přejděte na web Azure Portal a přejděte do služby Azure SQL Database nakonfigurované pomocí klíčů spravovaných zákazníkem na úrovni databáze, které chcete obnovit.
Pokud chcete databázi obnovit k určitému bodu v čase, vyberte Obnovit z nabídky Přehled databáze.
Zobrazí se nabídka Vytvořit databázi SQL – Obnovit databázi . Vyplňte potřebné podrobnosti o zdroji a databázi. V části transparentní šifrování dat Správa klíčů vyberte Konfigurovat transparentní šifrování dat.
Jakmile se zobrazí nabídka transparentní šifrování dat, zkontrolujte nastavení CMK pro databázi. Nastavení a klíče by se měly naplnit stejnou identitou a klíči použitými v databázi, kterou se pokoušíte obnovit.
Pokračujte výběrem možnosti Použít a pak vyberte Zkontrolovat a vytvořit a vytvořit kopii databáze.
Předem naplní seznam klíčů používaných primární databází pomocí parametru expand-keys s bodem obnovení v čase jako keys-filter.
az sql db show --name $databaseName --resource-group $resourceGroup --server $serverName --expand-keys --keys-filter $timestamp
Vyberte spravovanou identitu přiřazenou uživatelem (a ID federovaného klienta, pokud konfigurujete přístup mezi tenanty).
Vytvořte novou databázi jako cíl obnovení a zadejte předem vyplněný seznam klíčů získaných ze zdrojové databáze a výše uvedenou identitu (a ID federovaného klienta, pokud konfigurujete přístup mezi tenanty).
# 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
Důležité
$keys je seznam klíčů oddělených mezerami načtených ze zdrojové databáze.
Vytvořte předem seznam klíčů používaných primární databází pomocí příkazu Get-AzSqlDatabase a parametrů2023-01-01 (-ExpandKeyList-KeysFilter "2023-01-01" je příkladem bodu v čase, do kterého chcete databázi obnovit). Vylučte -KeysFilter , pokud chcete načíst všechny klíče.
Následující část popisuje, jak obnovit odstraněnou databázi nakonfigurovanou pomocí klíčů spravovaných zákazníkem na úrovni databáze. Další informace o obnovení zálohování pro službu SQL Database najdete v tématu Obnovení databáze ve službě SQL Database.
Přejděte na web Azure Portal a přejděte na logický server odstraněné databáze, kterou chcete obnovit. V části Správa dat vyberte Odstraněné databáze.
Vyberte odstraněnou databázi, kterou chcete obnovit.
Zobrazí se nabídka Vytvořit databázi SQL – Obnovit databázi . Vyplňte potřebné podrobnosti o zdroji a databázi. V části transparentní šifrování dat Správa klíčů vyberte Konfigurovat transparentní šifrování dat.
Po zobrazení nabídky transparentní šifrování dat nakonfigurujte spravovanou identitu přiřazenou uživatelem, klíč spravovaný zákazníkem a další klíče databáze pro vaši databázi.
Pokračujte výběrem možnosti Použít a pak vyberte Zkontrolovat a vytvořit a vytvořit kopii databáze.
Předem naplní seznam klíčů používaných vyřazenou databází pomocí parametru expand-keys . Doporučujeme předat všechny klíče, které zdrojová databáze používala. Pomocí parametru keys-filter můžete také zkusit provést obnovení s klíči, které jsou k dispozici v době odstranění.
az sql db show-deleted --name $databaseName --resource-group $resourceGroup --server $serverName --restorable-dropped-database-id "databaseName,133201549661600000" --expand-keys
Důležité
restorable-dropped-database-id lze načíst výpisem všech obnovených vyřazených databází na serveru a je ve formátu databaseName,deletedTimestamp.
Vyberte spravovanou identitu přiřazenou uživatelem (a ID federovaného klienta, pokud konfigurujete přístup mezi tenanty).
Vytvořte novou databázi jako cíl obnovení a zadejte předem vyplněný seznam klíčů získaných z odstraněné zdrojové databáze a výše uvedenou identitu (a ID federovaného klienta, pokud konfigurujete přístup mezi tenanty).
# 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"
Důležité
$keys je seznam klíčů oddělených mezerami načtených ze zdrojové databáze.
Vytvořte předem seznam klíčů používaných primární databází pomocí příkazu Get-AzSqlDeletedDatabaseBackup a parametru -ExpandKeyList . Doporučujeme předat všechny klíče, které zdrojová databáze používala. Pomocí parametru -KeysFilter můžete také zkusit provést obnovení s klíči, které jsou k dispozici v době odstranění.
Následující část popisuje, jak obnovit geograficky replikovanou zálohu databáze, která je nakonfigurovaná pomocí klíčů spravovaných zákazníkem na úrovni databáze. Další informace o obnovení zálohování pro službu SQL Database najdete v tématu Obnovení databáze ve službě SQL Database.
Přejděte na web Azure Portal a přejděte na logický server, na kterém chcete databázi obnovit.
V nabídce Přehled vyberte Vytvořit databázi.
Zobrazí se nabídka Vytvořit databázi SQL. Vyplňte karty Základní a Sítě pro novou databázi. V části Další nastavení vyberte Zálohovat pro oddíl Použít existující data a vyberte geograficky replikovanou zálohu.
Přejděte na kartu Zabezpečení. V části transparentní šifrování dat Správa klíčů vyberte Konfigurovat transparentní šifrování dat.
Jakmile se zobrazí nabídka transparentní šifrování dat, vyberte Klíč spravovaný zákazníkem (CMK) na úrovni databáze. Spravovaná identita přiřazená uživatelem, klíč spravovaný zákazníkem a další klíče databáze musí odpovídat zdrojové databázi, kterou chcete obnovit. Ujistěte se, že spravovaná identita přiřazená uživatelem má přístup k trezoru klíčů, který obsahuje klíč spravovaný zákazníkem, který byl použit v zálohování.
Pokračujte výběrem možnosti Použít a pak vyberte Zkontrolovat a vytvořit a vytvořit záložní databázi.
Předem naplní seznam klíčů používaných geografickou zálohou databáze nakonfigurovanými klíči spravovanými zákazníkem na úrovni databáze pomocí parametru expand-keys .
az sql db geo-backup --database-name $databaseName --g $resourceGroup --server $serverName --expand-keys
Vyberte spravovanou identitu přiřazenou uživatelem (a ID federovaného klienta, pokud konfigurujete přístup mezi tenanty).
Vytvořte novou databázi jako cíl geografického obnovení a zadejte předem vyplněný seznam klíčů získaných z odstraněné zdrojové databáze a výše uvedenou identitu (a ID federovaného klienta, pokud konfigurujete přístup mezi tenanty).
# 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
Důležité
$keys je seznam klíčů oddělených mezerami načtených ze zdrojové databáze.
Zálohy dlouhodobého uchovávání (LTR) neposkytují seznam klíčů používaných zálohováním. Pokud chcete obnovit zálohu LTR, musí být všechny klíče používané zdrojovou databází předány cíli obnovení LTR.
Možnost automatické obměny klíčů pro zkopírované nebo obnovené databáze
Nově zkopírované nebo obnovené databáze je možné nakonfigurovat tak, aby automaticky obměněly klíč spravovaný zákazníkem používaný k transparentnímu šifrování dat. Informace o povolení automatické obměny klíčů na webu Azure Portal nebo použití rozhraní API najdete v tématu Automatické obměny klíčů na úrovni databáze.
Další kroky
Projděte si následující dokumentaci k různým operacím CMK na úrovni databáze: