Van toepassing op:
Azure SQL Database
Opmerking
TDE CMK op databaseniveau is beschikbaar voor Azure SQL Database (alle SQL Database-edities). Het is niet beschikbaar voor Azure SQL Managed Instance, on-premises SQL Server, Azure-VM's en Azure Synapse Analytics (toegewezen SQL-pools (voorheen SQL DW)).
In deze handleiding doorlopen we de stappen voor het configureren van geo-replicatie en het herstellen van back-ups in een Azure SQL Database. De Azure SQL Database is geconfigureerd met TDE (Transparent Data Encryption) en door de klant beheerde sleutels (CMK) op databaseniveau, waarbij gebruik wordt gemaakt van een door de gebruiker toegewezen beheerde identiteit voor toegang tot Azure Key Vault. Zowel de Azure Key Vault als de logische server voor Azure SQL bevinden zich in dezelfde Microsoft Entra-tenant voor deze handleiding, maar ze kunnen zich in verschillende tenants bevinden.
Vereiste voorwaarden
Belangrijk
Nadat de database is gemaakt of hersteld, wordt in het menu Transparante gegevensversleuteling in Azure Portal de nieuwe database weergegeven met dezelfde instellingen als de brondatabase, maar er ontbreken mogelijk sleutels. In alle gevallen waarin een nieuwe database wordt gemaakt op basis van een brondatabase, kan het aantal sleutels dat wordt weergegeven voor een doeldatabase in azure Portal , de lijst aanvullende databasesleutels kleiner zijn dan het aantal sleutels dat wordt weergegeven voor een brondatabase. Dit komt doordat het aantal weergegeven sleutels afhankelijk is van de vereisten voor afzonderlijke functies die worden gebruikt om een doeldatabase te maken. Als u alle sleutels wilt weergeven die beschikbaar zijn voor een nieuwe database, gebruikt u de beschikbare API's in De instellingen voor door de klant beheerde sleutels op databaseniveau weergeven in een Azure SQL Database.
Een Azure SQL Database maken met door de klant beheerde sleutels op databaseniveau als secundaire sleutel of kopie
Gebruik de volgende instructies of opdrachten om een secundaire replica of kopiedoel van een Azure SQL Database te maken dat op databaseniveau is geconfigureerd met door de klant beheerde sleutels. Een door de gebruiker toegewezen beheerde identiteit is vereist voor het instellen van een door de klant beheerde sleutel voor transparante gegevensversleuteling tijdens de aanmaakfase van de database.
Een databasekopie maken met door de klant beheerde sleutels op databaseniveau
Als u een database in Azure SQL Database wilt maken als kopie met door de klant beheerde sleutels op databaseniveau, voert u de volgende stappen uit:
Ga naar Azure Portal en navigeer naar de Azure SQL Database die is geconfigureerd met door de klant beheerde sleutels op databaseniveau. Open het tabblad Transparante gegevensversleuteling van het menu Gegevensversleuteling en controleer de lijst met huidige sleutels die door de database worden gebruikt.
Maak een kopie van de database door Kopiëren te selecteren in het menu Overzicht van de database.
Het menu SQL Database maken - Database kopiëren wordt weergegeven. Gebruik een andere server voor deze database, maar dezelfde instellingen als de database die u probeert te kopiëren. Selecteer In de sectie Transparant gegevensversleutelingssleutelbeheertransparante gegevensversleuteling configureren.
Wanneer het menu Transparante gegevensversleuteling wordt weergegeven, controleert u de CMK-instellingen voor deze kopieerdatabase. De instellingen en sleutels moeten worden gevuld met dezelfde identiteit en sleutels die in de brondatabase worden gebruikt.
Selecteer Toepassen om door te gaan en selecteer Beoordelen en maken, en Maak om de kopiedatabase te maken.
Een secundaire replica maken met door de klant beheerde sleutels op databaseniveau
Ga naar Azure Portal en navigeer naar de Azure SQL Database die is geconfigureerd met door de klant beheerde sleutels op databaseniveau. Open het menu Transparante gegevensversleuteling en controleer de lijst met huidige sleutels die door de database worden gebruikt.
Selecteer Replica's onder Instellingen voor gegevensbeheer voor de database. Selecteer Replica maken om een secundaire replica van de database te maken.
Het menu SQL Database maken - Geo Replica wordt weergegeven. Gebruik een secundaire server voor deze database, maar dezelfde instellingen als de database die u wilt repliceren. Selecteer In de sectie Transparant gegevensversleutelingssleutelbeheertransparante gegevensversleuteling configureren.
Wanneer het menu Transparante gegevensversleuteling wordt weergegeven, controleert u de CMK-instellingen voor deze databasereplica. De instellingen en sleutels moeten worden gevuld met dezelfde identiteit en sleutels die in de primaire database worden gebruikt.
Selecteer Toepassen om door te gaan en selecteer Beoordelen en maken, en Maak om de kopiedatabase te maken.
Zie Azure CLI installeren artikel voor meer informatie over het installeren van de huidige versie van Azure CLI.
De lijst met huidige sleutels die door de primaire database worden gebruikt, vooraf invullen met behulp van de expand-keys-parameter en current als keys-filter.
az sql db show --name $databaseName --resource-group $resourceGroup --server $serverName --expand-keys --keys-filter current
Selecteer de door de gebruiker toegewezen beheerde identiteit (en federatieve client-id als u cross-tenanttoegang configureert).
Maak een nieuwe database als secundaire database en geef de vooraf ingevulde lijst met sleutels op die zijn verkregen uit de brondatabase en de bovenstaande identiteit (en federatieve client-id bij het configureren van toegang tussen tenants).
# 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
Belangrijk
$keys is een door spatie gescheiden lijst met sleutels die zijn opgehaald uit de brondatabase.
Als u een kopie van de database wilt maken, kan az sql db copy worden gebruikt met dezelfde parameters.
# 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
Zie Azure PowerShell-installeren voor installatie-instructies voor Az PowerShell-module.
De lijst van huidige sleutels die door de primaire database worden gebruikt, vooraf vullen door het gebruik van de opdracht Get-AzSqlDatabase en de parameters -ExpandKeyList en -KeysFilter "current". Sluit -KeysFilter uit als u alle sleutels wilt ophalen.
$database = Get-AzSqlDatabase -ResourceGroupName <ResourceGroupName> -ServerName <ServerName> -DatabaseName <DatabaseName> -ExpandKeyList -KeysFilter "current"
Selecteer de door de gebruiker toegewezen beheerde identiteit (en federatieve client-id als u cross-tenanttoegang configureert).
Maak een nieuwe database als secundaire met behulp van de opdracht New-AzSqlDatabaseSecondary en geef de vooraf ingevulde lijst met sleutels op die zijn verkregen uit de brondatabase en de bovenstaande identiteit (en federatieve client-id als u cross-tenanttoegang configureert) in de API-aanroep met behulp van de -KeyListparameters , -AssignIdentity, -UserAssignedIdentityId( -EncryptionProtector en indien nodig -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
Als u een kopie van de database wilt maken, kan New-AzSqlDatabaseCopy worden gebruikt met dezelfde parameters.
# Create a copy of a database configured with database level customer-managed keys
$database = Get-AzSqlDatabase -ResourceGroupName <ResourceGroupName> -ServerName <ServerName> -DatabaseName <DatabaseName> -ExpandKeyList -KeysFilter "current"
New-AzSqlDatabaseCopy -CopyDatabaseName <CopyDatabaseName> -CopyResourceGroupName <CopyResourceGroupName> -CopyServerName <CopyServerName> -DatabaseName <DatabaseName> -ResourceGroupName <ResourceGroupName> -ServerName <ServerName> -AssignIdentity -UserAssignedIdentityId <UserAssignedIdentityId> -EncryptionProtector <CustomerManagedKeyId> -FederatedClientId <FederatedClientId>
-KeyList $database.Keys.Keys
Hier volgt een voorbeeld van een ARM-sjabloon waarmee een secundaire replica en kopie van een Azure SQL Database wordt gemaakt die is geconfigureerd met een door de gebruiker toegewezen beheerde identiteit en door de klant beheerde TDE op databaseniveau.
Zie Azure Resource Manager-sjablonen voor Azure SQL Database voor meer informatie en ARM-sjablonen.
Gebruik een aangepaste implementatie in Azure Portal en bouw uw eigen sjabloon in de editor. Sla vervolgens de configuratie op nadat u in het voorbeeld hebt geplakt.
De lijst met huidige sleutels die worden gebruikt door de primaire database vooraf invullen met behulp van de volgende REST API-aanvraag:
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'))
Selecteer de door de gebruiker toegewezen beheerde identiteit (en federatieve client-id als u cross-tenanttoegang configureert).
Maak een nieuwe database als secundaire database en geef de vooraf ingevulde lijst met sleutels op die zijn verkregen uit de brondatabase en de bovenstaande identiteit (en federatieve client-id als u cross-tenanttoegang configureert) in de ARM-sjabloon als parameter keys_to_add .
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"server_name": {
"type": "String"
},
"database_name": {
"type": "String"
},
"user_assigned_identity": {
"type": "String"
},
"encryption_protector": {
"type": "String"
},
"location": {
"type": "String"
},
"source_database_id": {
"type": "String"
},
"keys_to_add": {
"type": "Object"
}
},
"variables": {},
"resources": [
{
"type": "Microsoft.Sql/servers/databases",
"apiVersion": "2022-08-01-preview",
"name": "[concat(parameters('server_name'), concat('/',parameters('database_name')))]",
"location": "[parameters('location')]",
"sku": {
"name": "Basic",
"tier": "Basic",
"capacity": 5
},
"identity": {
"type": "UserAssigned",
"userAssignedIdentities": {
"[parameters('user_assigned_identity')]": {}
}
},
"properties": {
"collation": "SQL_Latin1_General_CP1_CI_AS",
"maxSizeBytes": 104857600,
"catalogCollation": "SQL_Latin1_General_CP1_CI_AS",
"zoneRedundant": false,
"readScale": "Disabled",
"requestedBackupStorageRedundancy": "Geo",
"maintenanceConfigurationId": "/subscriptions/e1775f9f-xxxx-xxxx-xxxx-xxxxxxxxxxxx/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_Default",
"isLedgerOn": false,
"encryptionProtector": "[parameters('encryption_protector')]",
"keys": "[parameters('keys_to_add')]",
"createMode": "Secondary",
"sourceDatabaseId": "[parameters('source_database_id')]"
}
}
]
}
Een voorbeeld van de encryption_protector en keys_to_add parameter is:
"keys_to_add": {
"value": {
"https://yourvault.vault.azure.net/keys/yourkey1/fd021f84a0d94d43b8ef33154bca0000": {},
"https://yourvault.vault.azure.net/keys/yourkey2/fd021f84a0d94d43b8ef33154bca0000": {}
}
},
"encryption_protector": {
"value": "https://yourvault.vault.azure.net/keys/yourkey2/fd021f84a0d94d43b8ef33154bca0000"
}
Als u een kopie van de database wilt maken, kan de volgende sjabloon worden gebruikt met dezelfde parameters.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"server_name": {
"type": "String"
},
"database_name": {
"type": "String"
},
"user_assigned_identity": {
"type": "String"
},
"encryption_protector": {
"type": "String"
},
"location": {
"type": "String"
},
"source_database_id": {
"type": "String"
},
"keys_to_add": {
"type": "Object"
}
},
"variables": {},
"resources": [
{
"type": "Microsoft.Sql/servers/databases",
"apiVersion": "2022-08-01-preview",
"name": "[concat(parameters('server_name'), concat('/',parameters('database_name')))]",
"location": "[parameters('location')]",
"sku": {
"name": "Basic",
"tier": "Basic",
"capacity": 5
},
"identity": {
"type": "UserAssigned",
"userAssignedIdentities": {
"[parameters('user_assigned_identity')]": {}
}
},
"properties": {
"collation": "SQL_Latin1_General_CP1_CI_AS",
"maxSizeBytes": 104857600,
"catalogCollation": "SQL_Latin1_General_CP1_CI_AS",
"zoneRedundant": false,
"readScale": "Disabled",
"requestedBackupStorageRedundancy": "Geo",
"maintenanceConfigurationId": "/subscriptions/e1775f9f-xxxx-xxxx-xxxx-xxxxxxxxxxxx/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_Default",
"isLedgerOn": false,
"encryptionProtector": "[parameters('encryption_protector')]",
"keys": "[parameters('keys_to_add')]",
"createMode": "Copy",
"sourceDatabaseId": "[parameters('source_database_id')]"
}
}
]
}
Een Azure SQL Database herstellen met door de klant beheerde sleutels op databaseniveau
In deze sectie wordt u begeleid bij de stappen voor het herstellen van een Azure SQL Database die is geconfigureerd met door de klant beheerde sleutels op databaseniveau. Een door de gebruiker toegewezen beheerde identiteit is vereist voor het instellen van een door de klant beheerde sleutel voor transparante gegevensversleuteling tijdens de aanmaakfase van de database.
Herstel op een specifiek tijdstip
In de volgende sectie wordt beschreven hoe u een database herstelt die is geconfigureerd met door de klant beheerde sleutels op databaseniveau naar een bepaald tijdstip. Voor meer informatie over het herstel van een back-up in SQL Database kunt u Een database herstellen vanuit een back-up in Azure SQL Database bekijken.
Ga naar Azure Portal en navigeer naar de Azure SQL Database die is geconfigureerd met door de klant beheerde sleutels op databaseniveau die u wilt herstellen.
Als u de database naar een bepaald tijdstip wilt herstellen, selecteert u Herstellen in het menu Overzicht van de database.
Het menu Database maken - Database herstellen wordt weergegeven. Vul de benodigde bron- en databasegegevens in. Selecteer In de sectie Transparant gegevensversleutelingssleutelbeheertransparante gegevensversleuteling configureren.
Wanneer het menu Transparante gegevensversleuteling wordt weergegeven, controleert u de CMK-instellingen voor de database. De instellingen en sleutels moeten worden gevuld met dezelfde identiteit en sleutels die worden gebruikt in de database die u probeert te herstellen.
Selecteer Toepassen om door te gaan en selecteer Beoordelen en maken, en Maak om de kopiedatabase te maken.
Zie Azure CLI installeren artikel voor meer informatie over het installeren van de huidige versie van Azure CLI.
Gebruik de expand-keys-parameter om de lijst met sleutels vooraf in te vullen, die door de primaire database worden gebruikt, waarbij uw herstelpunt als keys-filter fungeert.
az sql db show --name $databaseName --resource-group $resourceGroup --server $serverName --expand-keys --keys-filter $timestamp
Selecteer de door de gebruiker toegewezen beheerde identiteit (en federatieve client-id als u cross-tenanttoegang configureert).
Maak een nieuwe database als hersteldoel en geef de vooraf ingevulde lijst met sleutels op die zijn verkregen uit de brondatabase en de bovenstaande identiteit (en federatieve client-id bij het configureren van toegang tussen tenants).
# 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
Belangrijk
$keys is een door spatie gescheiden lijst met sleutels die zijn opgehaald uit de brondatabase.
Zie Azure PowerShell-installeren voor installatie-instructies voor Az PowerShell-module.
De lijst met sleutels die door de primaire database worden gebruikt vooraf invullen met behulp van de opdracht Get-AzSqlDatabase en de parameters -ExpandKeyList en -KeysFilter "2023-01-01" (2023-01-01 is een voorbeeld van het tijdstip dat u wilt herstellen voor de database). Sluit -KeysFilter uit als u alle sleutels wilt ophalen.
$database = Get-AzSqlDatabase -ResourceGroupName <ResourceGroupName> -ServerName <ServerName> -DatabaseName <DatabaseName> -ExpandKeyList -KeysFilter <Timestamp>
Selecteer de door de gebruiker toegewezen beheerde identiteit (en federatieve client-id als u cross-tenanttoegang configureert).
Gebruik de opdracht Restore-AzSqlDatabase met de -FromPointInTimeBackup parameter en geef de vooraf ingevulde lijst met sleutels op die zijn verkregen uit de bovenstaande stappen en de bovenstaande identiteit (en de federatieve client-id als u cross-tenanttoegang configureert) in de API-aanroep met behulp van de -KeyListparameters , -AssignIdentity-UserAssignedIdentityId, -EncryptionProtector (en indien nodig-FederatedClientId) .
$database = Get-AzSqlDatabase -ResourceGroupName <ResourceGroupName> -ServerName <ServerName> -DatabaseName <DatabaseName> -ExpandKeyList -KeysFilter <Timestamp>
# Create a restored database
Restore-AzSqlDatabase -FromPointInTimeBackup -PointInTime <Timestamp> -ResourceId '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}' -ResourceGroupName <ResourceGroupName> -ServerName <ServerName> -TargetDatabaseName <TargetDatabaseName> -KeyList $database.Keys.Keys -EncryptionProtector <EncryptionProtector> -UserAssignedIdentityId <UserAssignedIdentityId> -AssignIdentity
Herstel van verwijderde database
In de volgende sectie wordt beschreven hoe u een verwijderde database herstelt die is geconfigureerd met door de klant beheerde sleutels op databaseniveau. Voor meer informatie over het herstel van een back-up in SQL Database kunt u Een database herstellen vanuit een back-up in Azure SQL Database bekijken.
Ga naar Azure Portal en navigeer naar de logische server voor de verwijderde database die u wilt herstellen. Selecteer Verwijderde databases onder Gegevensbeheer.
Selecteer de verwijderde database die u wilt herstellen.
Het menu Database maken - Database herstellen wordt weergegeven. Vul de benodigde bron- en databasegegevens in. Selecteer In de sectie Transparant gegevensversleutelingssleutelbeheertransparante gegevensversleuteling configureren.
Wanneer het menu Transparante gegevensversleuteling wordt weergegeven, configureert u de sectie Door de gebruiker toegewezen beheerde identiteit, door de klant beheerde sleutel en de sectie Aanvullende databasesleutels voor uw database.
Selecteer Toepassen om door te gaan en selecteer Beoordelen en maken, en Maak om de kopiedatabase te maken.
Zie Azure CLI installeren artikel voor meer informatie over het installeren van de huidige versie van Azure CLI.
De lijst met sleutels die door de verwijderde database worden gebruikt vooraf ingevuld met behulp van de expand-keys parameter. Het is raadzaam om alle sleutels door te geven die door de brondatabase zijn gebruikt. U kunt ook een herstelpoging uitvoeren met de sleutels die tijdens het verwijderen zijn opgegeven met behulp van de keys-filter parameter.
az sql db show-deleted --name $databaseName --resource-group $resourceGroup --server $serverName --restorable-dropped-database-id "databaseName,133201549661600000" --expand-keys
Belangrijk
restorable-dropped-database-id kan worden opgehaald door alle herstelbare verwijderde databases op de server te lijst en heeft de indeling databaseName,deletedTimestamp.
Selecteer de door de gebruiker toegewezen beheerde identiteit (en federatieve client-id als u cross-tenanttoegang configureert).
Maak een nieuwe database als hersteldoel en geef de vooraf ingevulde lijst met sleutels op die zijn verkregen uit de verwijderde brondatabase en de bovenstaande identiteit (en federatieve client-id bij het configureren van toegang tussen tenants).
# 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"
Belangrijk
$keys is een door spaties gescheiden lijst met sleutels die zijn opgehaald uit de brondatabase.
Zie Azure PowerShell-installeren voor installatie-instructies voor Az PowerShell-module.
Vul de lijst met sleutels vooraf in die door de primaire database worden gebruikt, met behulp van de opdracht Get-AzSqlDeletedDatabaseBackup en de -ExpandKeyList parameter. Het is raadzaam om alle sleutels door te geven die door de brondatabase zijn gebruikt. U kunt ook een herstelpoging uitvoeren met de sleutels die tijdens het verwijderen zijn opgegeven met behulp van de -KeysFilter parameter.
$database = Get-AzSqlDeletedDatabaseBackup -ResourceGroupName <ResourceGroupName> -ServerName <ServerName> -DatabaseId "dbName,133201549661600000" -ExpandKeyList -DeletionDate "2/6/2023" -DatabaseName <databaseName>
Belangrijk
DatabaseId kan worden opgehaald door alle herstelbare verwijderde databases op de server te lijst en heeft de indeling databaseName,deletedTimestamp.
Selecteer de door de gebruiker toegewezen beheerde identiteit (en federatieve client-id als u cross-tenanttoegang configureert).
Gebruik de opdracht Restore-AzSqlDatabase met de -FromDeletedDatabaseBackup parameter en geef de vooraf ingevulde lijst met sleutels op die zijn verkregen uit de bovenstaande stappen en de bovenstaande identiteit (en de federatieve client-id als u cross-tenanttoegang configureert) in de API-aanroep met behulp van de -KeyListparameters , -AssignIdentity-UserAssignedIdentityId, -EncryptionProtector (en indien nodig-FederatedClientId) .
$database = Get-AzSqlDeletedDatabaseBackup -ResourceGroupName <ResourceGroupName> -ServerName <ServerName> -DatabaseId "dbName,133201549661600000" -ExpandKeyList -DeletionDate <DeletionDate> -DatabaseName <databaseName>
# Create a restored database
Restore-AzSqlDatabase -FromDeletedDatabaseBackup -DeletionDate <Timestamp> -ResourceId '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/restorableDroppedDatabases/{databaseName}' -ResourceGroupName <ResourceGroupName> -ServerName <ServerName> -TargetDatabaseName <TargetDatabaseName> -KeyList $database.Keys.Keys -EncryptionProtector <EncryptionProtector> -UserAssignedIdentityId <UserAssignedIdentityId> -AssignIdentity
Geo-herstel
In de volgende sectie wordt beschreven hoe u een geo-gerepliceerde back-up van de database herstelt die is geconfigureerd met door de klant beheerde sleutels op databaseniveau. Voor meer informatie over het herstel van een back-up in SQL Database kunt u Een database herstellen vanuit een back-up in Azure SQL Database bekijken.
Ga naar Azure Portal en navigeer naar de logische server waar u de database wilt herstellen.
Selecteer Database maken in het menu Overzicht.
Het menu SQL Database maken wordt weergegeven. Vul de tabbladen Basic en Netwerken voor uw nieuwe database in. Selecteer in Aanvullende instellingenback-up voor het gedeelte Bestaande gegevens gebruiken en selecteer een geo-gerepliceerde back-up.
Ga naar het tabblad Beveiliging . Selecteer In de sectie Transparant gegevensversleutelingssleutelbeheertransparante gegevensversleuteling configureren.
Wanneer het menu Transparante gegevensversleuteling wordt weergegeven, selecteert u CMK (Database level Customer Managed Key) op databaseniveau. De door de gebruiker toegewezen beheerde identiteit, door de klant beheerde sleutel en aanvullende databasesleutels moeten overeenkomen met de brondatabase die u wilt herstellen. Zorg ervoor dat de door de gebruiker toegewezen beheerde identiteit toegang heeft tot de Azure Key Vault die de door de klant beheerde sleutel bevat die in de back-up is gebruikt.
Selecteer Toepassen om door te gaan en selecteer vervolgens Beoordelen + maken en Maken om de back-updatabase te creëren.
Zie Azure CLI installeren artikel voor meer informatie over het installeren van de huidige versie van Azure CLI.
De lijst met sleutels die worden gebruikt door de geo-back-up van de database die is geconfigureerd met door de klant beheerde sleutels op databaseniveau vooraf vullen met behulp van de expand-keys parameter.
az sql db geo-backup --database-name $databaseName --g $resourceGroup --server $serverName --expand-keys
Selecteer de door de gebruiker toegewezen beheerde identiteit (en federatieve client-id als u cross-tenanttoegang configureert).
Maak een nieuwe database als geo-hersteldoel en geef de vooraf ingevulde lijst met sleutels op die zijn verkregen uit de verwijderde brondatabase en de bovenstaande identiteit (en federatieve client-id bij het configureren van toegang tussen tenants).
# 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
Belangrijk
$keys is een door spaties gescheiden lijst met sleutels die zijn opgehaald uit de brondatabase.
Zie Azure PowerShell-installeren voor installatie-instructies voor Az PowerShell-module.
Gebruik de opdracht Get-AzSqlDatabaseGeoBackup om de lijst met sleutels die door de primaire database worden gebruikt vooraf in te vullen, en gebruik -ExpandKeyList om alle sleutels op te halen.
$database = Get-AzSqlDatabaseGeoBackup -ResourceGroupName <ResourceGroupName> -ServerName <ServerName> -DatabaseName <databaseName> -ExpandKeyList
Belangrijk
DatabaseId kan worden opgehaald door alle herstelbare verwijderde databases op de server te lijst en heeft de indeling databaseName,deletedTimestamp.
Selecteer de door de gebruiker toegewezen beheerde identiteit (en federatieve client-id als u cross-tenanttoegang configureert).
Gebruik de opdracht Restore-AzSqlDatabase met de -FromGeoBackup parameter en geef de vooraf ingevulde lijst met sleutels op die zijn verkregen uit de bovenstaande stappen en de bovenstaande identiteit (en de federatieve client-id als u cross-tenanttoegang configureert) in de API-aanroep met behulp van de -KeyListparameters , -AssignIdentity-UserAssignedIdentityId, -EncryptionProtector (en indien nodig-FederatedClientId) .
$database = Get-AzSqlDatabaseGeoBackup -ResourceGroupName <ResourceGroupName> -ServerName <ServerName> -DatabaseName <databaseName> -ExpandKeyList
# Create a restored database
Restore-AzSqlDatabase -FromGeoBackup -ResourceId "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/recoverableDatabases/{databaseName}" -ResourceGroupName <ResourceGroupName> -ServerName <ServerName> -TargetDatabaseName <TargetDatabaseName> -KeyList $database.Keys.Keys -EncryptionProtector <EncryptionProtector> -UserAssignedIdentityId <UserAssignedIdentityId> -AssignIdentity
Belangrijk
Back-ups voor langetermijnretentie (LTR) bieden geen lijst met sleutels die door de back-up worden gebruikt. Als u een LTR-back-up wilt herstellen, moeten alle sleutels die door de brondatabase worden gebruikt, worden doorgegeven aan het LTR-hersteldoel.
Optie voor automatische sleutelrotatie voor gekopieerde of herstelde databases
Nieuw gekopieerde of herstelde databases kunnen worden geconfigureerd om automatisch de door de klant beheerde sleutel te roteren die wordt gebruikt voor transparante gegevensversleuteling. Zie Automatische sleutelrotatie op databaseniveau voor informatie over het inschakelen van automatische sleutelrotatie in Azure Portal of het gebruik van API's.
Verwante inhoud