S'applique à :
Azure SQL Database
Note
Le niveau de base de données TDE CMK est disponible pour Azure SQL Database (toutes les éditions SQL Database). Il n’est pas disponible pour Azure SQL Managed Instance, SQL Server local, machines virtuelles Azure et Azure Synapse Analytics (pools SQL dédiés (anciennement SQL DW)).
Dans ce guide, nous suivons les étapes de configuration de la géoréplication et de la restauration des sauvegardes sur une base de données Azure SQL Database. Azure SQL Database est configuré avec le chiffrement transparent des données (TDE) et les clés gérées par le client (CMK) au niveau de la base de données, en utilisant une identité managée affectée par l’utilisateur pour accéder à Azure Key Vault. Dans ce guide, Azure Key Vault et le serveur logique pour Azure SQL se trouvent tous deux dans le même locataire Microsoft Entra, mais ils peuvent se trouver dans des locataires différents.
Note
Microsoft Entra ID était précédemment connu sous le nom d'Azure Active Directory (Azure AD).
Prerequisites
Importante
Après la création ou la restauration de la base de données, la nouvelle base de données a les mêmes paramètres que la base source, mais peut avoir des clés manquantes. Dans tous les cas où une nouvelle base de données est créée à partir d’une base de données source, le nombre de clés rapportées pour une base de données cible peut être inférieur au nombre de clés rapportées pour une base de données source. Le nombre de clés retournées dépend des exigences de caractéristiques individuelles utilisées pour créer une base de données cible. Pour lister toutes les clés disponibles pour une base de données nouvellement créée, utilisez les API disponibles dans Voir les paramètres de clés gérées par le client au niveau de la base de données sur une Azure SQL Database.
Créer une base de données Azure SQL avec des clés gérées par le client au niveau de la base de données en tant que réplica secondaire ou en tant que copie
Utilisez les instructions ou les commandes suivantes pour créer un réplica secondaire ou une cible de copie d’une base de données Azure SQL configurée avec des clés gérées par le client au niveau de la base de données. Une identité managée affectée par l’utilisateur est nécessaire pour configurer une clé gérée par le client pour Transparent Data Encryption lors de la phase de création de la base de données.
Pour créer une base de données dans Azure SQL Database en tant que copie avec des clés gérées par le client au niveau de la base de données, procédez comme suit :
Utilisez l’interface Azure CLI, PowerShell ou l’API REST pour vérifier la liste des clés actuelles utilisées par la base de données source. Pour les commandes, voir Afficher les paramètres de clés gérées par le client au niveau de la base de données sur une Azure SQL Database.
Accédez au portail Azure, puis accédez à la base de données Azure SQL configurée avec des clés gérées par le client au niveau de la base de données. Créez une copie de la base de données en sélectionnant Copier dans le menu Vue d’ensemble de la base de données.
Le menu Créer une base de données SQL – Copier la base de données s’affiche. Utilisez un autre serveur pour créer cette base de données, tout en utilisant les mêmes paramètres que ceux de la base de données que vous tentez de copier. Dans la section Gestion des clés de chiffrement transparent des données, sélectionnez Configurer le chiffrement transparent des données.
Lorsque le menu Chiffrement transparent des données s’affiche, passez en revue les paramètres CMK de cette base de données de copie. Les paramètres et les clés doivent être identiques à ceux utilisés dans la base de données source.
Sélectionnez Appliquer pour continuer, puis sélectionnez Vérifier + créer et Créer pour créer la base de données copiée.
Pour créer une réplique secondaire disposant de clés gérées par le client au niveau de la base de données, suivez ces étapes :
Utilisez l’interface Azure CLI, PowerShell ou l’API REST pour vérifier la liste des clés actuelles utilisées par la base de données source. Pour les commandes, voir Afficher les paramètres de clés gérées par le client au niveau de la base de données sur une Azure SQL Database.
Accédez au portail Azure, puis accédez à la base de données Azure SQL configurée avec des clés gérées par le client au niveau de la base de données. Dans les paramètres Gestion des données de la base de données, sélectionnez Réplicas. Sélectionnez Créer un réplica pour créer un réplica secondaire de la base de données.
Le menu Créer une base de données SQL – Géoréplica s’affiche. Utilisez un serveur secondaire pour créer cette base de données, tout en utilisant les mêmes paramètres que ceux de la base de données que vous tentez de répliquer. Dans la section Gestion des clés de chiffrement transparent des données, sélectionnez Configurer le chiffrement transparent des données.
Lorsque le menu Chiffrement transparent des données s’affiche, passez en revue les paramètres CMK de ce réplica de base de données. Les paramètres et les clés doivent être identiques à ceux utilisés dans la base de données primaire.
Sélectionnez Appliquer pour continuer, puis sélectionnez Examiner + créer, et Créer pour créer la réplique secondaire.
Pour plus d’informations sur l’installation de la version actuelle d’Azure CLI, consultez Installer Azure CLI.
Préremplissez la liste des clés actuellement utilisées par la base de données primaire en utilisant le paramètre expand-keys avec current comme valeur keys-filter.
az sql db show --name $databaseName --resource-group $resourceGroup --server $serverName --expand-keys --keys-filter current
Sélectionnez l’identité managée affectée par l’utilisateur (et l’ID de client fédéré si vous configurez l’accès interlocataire).
Créez une base de données en tant que réplica secondaire, et fournissez la liste préremplie des clés obtenues auprès de la base de données source et l’identité ci-dessus (et l’ID de client fédéré si vous configurez l’accès interlocataire).
# 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
Importante
$keys est une liste de clés séparées par un espace, récupérées auprès de la base de données source.
Pour créer une copie de la base de données, az sql db copy peut être utilisé avec les mêmes paramètres.
# 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
Pour des instructions d’installation du module Az PowerShell, consultez Installer Azure PowerShell.
Préremplissez la liste des clés actuelles utilisées par la base de données primaire en utilisant la commande Get-AzSqlDatabase et les paramètres -ExpandKeyList et -KeysFilter "current". Excluez -KeysFilter si vous souhaitez récupérer toutes les clés.
$database = Get-AzSqlDatabase -ResourceGroupName <ResourceGroupName> -ServerName <ServerName> -DatabaseName <DatabaseName> -ExpandKeyList -KeysFilter "current"
Sélectionnez l’identité managée affectée par l’utilisateur (et l’ID de client fédéré si vous configurez l’accès interlocataire).
Créez une base de données secondaire en utilisant la commande New-AzSqlDatabaseSecondary, et fournissez la liste préremplie des clés obtenues auprès de la base de données source et l’identité ci-dessus (et l’ID de client fédéré en cas de configuration de l’accès interlocataire) dans l’appel d’API en utilisant les paramètres -KeyList, -AssignIdentity, -UserAssignedIdentityId, -EncryptionProtector (et si nécessaire, -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
Pour créer une copie de la base de données, New-AzSqlDatabaseCopy peut être utilisé avec les mêmes paramètres.
# 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
Voici un exemple de modèle ARM qui crée une réplica secondaire et une copie d’une base de données Azure SQL configurée avec une identité managée affectée par l’utilisateur et TDE géré par le client au niveau de la base de données.
Pour en savoir plus, ainsi que sur les modèles ARM, consultez Modèles Azure Resource Manager pour Azure SQL Database.
Utilisez un déploiement personnalisé dans le portail Azure et créez votre propre modèle dans l’éditeur. Ensuite, enregistrez la configuration une fois que vous avez collé l’exemple.
Préremplissez la liste des clés actuelles utilisées par la base de données primaire en utilisant la requête d’API REST suivante :
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'))
Sélectionnez l’identité managée affectée par l’utilisateur (et l’ID de client fédéré si vous configurez l’accès interlocataire).
Créez une base de données en tant que réplica secondaire, et fournissez la liste préremplie des clés obtenues auprès de la base de données source et l’identité ci-dessus (et l’ID de client fédéré si vous configurez l’accès interlocataire) dans le modèle ARM comme paramètre 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')]"
}
}
]
}
Voici un exemple de paramètre encryption_protector et keys_to_add :
"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"
}
Pour créer une copie de la base de données, le modèle suivant peut être utilisé avec les mêmes paramètres.
{
"$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')]"
}
}
]
}
Restaurer une base de données Azure SQL avec des clés gérées par le client au niveau de la base de données
Cette section vous guide tout au long des étapes de restauration d’une base de données Azure SQL configurée avec des clés gérées par le client au niveau de la base de données. Une identité managée affectée par l’utilisateur est nécessaire pour configurer une clé gérée par le client pour Transparent Data Encryption lors de la phase de création de la base de données.
Restauration dans le temps
La section suivante explique comment restaurer une base de données configurée avec des clés gérées par le client au niveau de la base de données à un point donné dans le temps. Pour en savoir plus sur la récupération de sauvegarde pour SQL Database, consultez Restaurer une base de données à partir d’une sauvegarde dans Azure SQL Database.
Accédez au portail Azure, puis accédez à la base de données Azure SQL configurée avec des clés gérées par le client au niveau de la base de données que vous souhaitez restaurer.
Pour restaurer la base de données à un point dans le temps, sélectionnez Restaurer dans le menu Vue d’ensemble de la base de données.
Le menu Créer une base de données SQL – Restaurer la base de données s’affiche. Remplissez les détails nécessaires de la source et de la base de données. Dans la section Gestion des clés de chiffrement transparent des données, sélectionnez Configurer le chiffrement transparent des données.
Lorsque le menu Chiffrement transparent des données s’affiche, passez en revue les paramètres CMK de la base de données. Les paramètres et les clés doivent être identiques à ceux utilisés dans la base de données que vous tentez de restaurer.
Sélectionnez Appliquer pour continuer, puis sélectionnez Vérifier + créer et Créer pour créer la base de données copiée.
Pour plus d’informations sur l’installation de la version actuelle d’Azure CLI, consultez Installer Azure CLI.
Préremplissez la liste des clés utilisées par la base de données primaire en utilisant le paramètre expand-keys avec votre point de restauration dans le temps comme keys-filter.
az sql db show --name $databaseName --resource-group $resourceGroup --server $serverName --expand-keys --keys-filter $timestamp
Sélectionnez l’identité managée affectée par l’utilisateur (et l’ID de client fédéré si vous configurez l’accès interlocataire).
Créez une base de données en tant que cible de restauration, et fournissez la liste préremplie des clés obtenues auprès de la base de données source et l’identité ci-dessus (et l’ID de client fédéré si vous configurez l’accès interlocataire).
# 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
Importante
$keys est une liste de clés séparées par un espace, récupérées auprès de la base de données source.
Pour des instructions d’installation du module Az PowerShell, consultez Installer Azure PowerShell.
Préremplissez la liste des clés utilisées par la base de données primaire en utilisant la commande Get-AzSqlDatabase et les paramètres -ExpandKeyList et -KeysFilter "2023-01-01" (2023-01-01 est un exemple du point dans le temps auquel vous souhaitez restaurer la base de données). Excluez -KeysFilter si vous souhaitez récupérer toutes les clés.
$database = Get-AzSqlDatabase -ResourceGroupName <ResourceGroupName> -ServerName <ServerName> -DatabaseName <DatabaseName> -ExpandKeyList -KeysFilter <Timestamp>
Sélectionnez l’identité managée affectée par l’utilisateur (et l’ID de client fédéré si vous configurez l’accès interlocataire).
Utilisez la commande Restore-AzSqlDatabase avec le paramètre -FromPointInTimeBackup, et fournissez la liste préremplie des clés obtenues à partir des étapes ci-dessus et l’identité ci-dessus (et l’ID de client fédéré si vous configurez l’accès interlocataire) dans l’appel d’API en utilisant les paramètres -KeyList, -AssignIdentity, -UserAssignedIdentityId, -EncryptionProtector (et si nécessaire, -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
Restauration d’une base de données qui a été supprimée
La section suivante explique comment restaurer une base de données supprimée qui a été configurée avec des clés gérées par le client au niveau de la base de données. Pour en savoir plus sur la récupération de sauvegarde pour SQL Database, consultez Restaurer une base de données à partir d’une sauvegarde dans Azure SQL Database.
Accédez au portail Azure, puis accédez au serveur logique de la base de données supprimée que vous souhaitez restaurer. Dans le menu Gestion des données, sélectionnez Bases de données.
Sélectionnez la base de données supprimée que vous souhaitez restaurer.
Le menu Créer une base de données SQL – Restaurer la base de données s’affiche. Remplissez les détails nécessaires de la source et de la base de données. Dans la section Gestion des clés de chiffrement transparent des données, sélectionnez Configurer le chiffrement transparent des données.
Lorsque le menu Chiffrement transparent des données s’affiche, configurez l’identité managée affectée par l’utilisateur, la clé gérée par le client et la section Clés de base de données supplémentaires pour votre base de données.
Sélectionnez Appliquer pour continuer, puis sélectionnez Vérifier + créer et Créer pour créer la base de données copiée.
Pour plus d’informations sur l’installation de la version actuelle d’Azure CLI, consultez Installer Azure CLI.
Préremplissez la liste des clés utilisées par la base de données supprimée en utilisant le paramètre expand-keys. Il est recommandé de passer toutes les clés que la base de données source utilisait. Vous pouvez aussi tenter une restauration avec les clés fournies au moment de la suppression en utilisant le paramètre keys-filter.
az sql db show-deleted --name $databaseName --resource-group $resourceGroup --server $serverName --restorable-dropped-database-id "databaseName,133201549661600000" --expand-keys
Importante
restorable-dropped-database-id peut être récupéré en listant toutes les bases de données supprimées restaurables dans le serveur et est au format databaseName,deletedTimestamp.
Sélectionnez l’identité managée affectée par l’utilisateur (et l’ID de client fédéré si vous configurez l’accès interlocataire).
Créez une base de données en tant que cible de restauration, et fournissez la liste préremplie des clés obtenues auprès de la base de données source supprimée et l’identité ci-dessus (et l’ID de client fédéré si vous configurez l’accès interlocataire).
# 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"
Importante
$keys est une liste de clés séparées par un espace, récupérées auprès de la base de données source.
Pour des instructions d’installation du module Az PowerShell, consultez Installer Azure PowerShell.
Préremplissez la liste des clés utilisées par la base de données primaire en utilisant la commande Get-AzSqlDeletedDatabaseBackup et le paramètre -ExpandKeyList. Il est recommandé de passer toutes les clés que la base de données source utilisait. Vous pouvez aussi tenter une restauration avec les clés fournies au moment de la suppression en utilisant le paramètre -KeysFilter.
$database = Get-AzSqlDeletedDatabaseBackup -ResourceGroupName <ResourceGroupName> -ServerName <ServerName> -DatabaseId "dbName,133201549661600000" -ExpandKeyList -DeletionDate "2/6/2023" -DatabaseName <databaseName>
Importante
DatabaseId peut être récupéré en listant toutes les bases de données supprimées restaurables dans le serveur et est au format databaseName,deletedTimestamp.
Sélectionnez l’identité managée affectée par l’utilisateur (et l’ID de client fédéré si vous configurez l’accès interlocataire).
Utilisez la commande Restore-AzSqlDatabase avec le paramètre -FromDeletedDatabaseBackup, et fournissez la liste préremplie des clés obtenues à partir des étapes ci-dessus et l’identité ci-dessus (et l’ID de client fédéré si vous configurez l’accès interlocataire) dans l’appel d’API en utilisant les paramètres -KeyList, -AssignIdentity, -UserAssignedIdentityId, -EncryptionProtector (et si nécessaire, -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
Restauration géographique
La section suivante explique comment restaurer une sauvegarde géorépliquée d’une base de données qui a été configurée avec des clés gérées par le client au niveau de la base de données. Pour en savoir plus sur la récupération de sauvegarde pour SQL Database, consultez Restaurer une base de données à partir d’une sauvegarde dans Azure SQL Database.
Accédez au portail Azure, puis accédez au serveur logique où vous souhaitez restaurer la base de données.
Dans le menu Vue d’ensemble, sélectionnez Créer une base de données.
Le menu Créer une base de données SQL Database s’affiche. Remplissez les onglets De base and Réseaux de votre nouvelle base de données. Dans Paramètres supplémentaires, sélectionnez Sauvegarde dans la section Utiliser les données existantes, puis sélectionnez une sauvegarde géorépliquée.
Accédez à l’onglet Sécurité . Dans la section Gestion des clés de chiffrement transparent des données, sélectionnez Configurer le chiffrement transparent des données.
Lorsque le menu Chiffrement transparent des données s’affiche, sélectionnez Clé gérée par le client (CMK) au niveau de la base de données.
L’identité managée affectée par l’utilisateur, la clé gérée par le client et les clés de base de données supplémentaires doivent correspondre à la base de données source que vous souhaitez restaurer. Vérifiez que l’identité managée affectée par l’utilisateur a accès à Azure Key Vault qui contient la clé gérée par le client utilisée dans la sauvegarde.
Sélectionnez Appliquer pour continuer, puis sélectionnez Vérifier + créer et Créer pour créer la base de données de sauvegarde.
Pour plus d’informations sur l’installation de la version actuelle d’Azure CLI, consultez Installer Azure CLI.
Préremplissez la liste des clés utilisées par la géosauvegarde de la base de données configurée avec des clés gérées par le client au niveau de la base de données en utilisant le paramètre expand-keys.
az sql db geo-backup --database-name $databaseName --g $resourceGroup --server $serverName --expand-keys
Sélectionnez l’identité managée affectée par l’utilisateur (et l’ID de client fédéré si vous configurez l’accès interlocataire).
Créez une base de données en tant que cible de géorestauration, et fournissez la liste préremplie des clés obtenues auprès de la base de données source supprimée et l’identité ci-dessus (et l’ID de client fédéré si vous configurez l’accès interlocataire).
# 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
Importante
$keys est une liste de clés séparées par un espace, récupérées auprès de la base de données source.
Pour des instructions d’installation du module Az PowerShell, consultez Installer Azure PowerShell.
Préremplissez la liste des clés utilisées par la base de données primaire en utilisant la commande Get-AzSqlDatabaseGeoBackup et -ExpandKeyList pour récupérer toutes les clés.
$database = Get-AzSqlDatabaseGeoBackup -ResourceGroupName <ResourceGroupName> -ServerName <ServerName> -DatabaseName <databaseName> -ExpandKeyList
Importante
DatabaseId peut être récupéré en listant toutes les bases de données supprimées restaurables dans le serveur et est au format databaseName,deletedTimestamp.
Sélectionnez l’identité managée affectée par l’utilisateur (et l’ID de client fédéré si vous configurez l’accès interlocataire).
Utilisez la commande Restore-AzSqlDatabase avec le paramètre -FromGeoBackup, et fournissez la liste préremplie des clés obtenues à partir des étapes ci-dessus et l’identité ci-dessus (et l’ID de client fédéré si vous configurez l’accès interlocataire) dans l’appel d’API en utilisant les paramètres -KeyList, -AssignIdentity, -UserAssignedIdentityId, -EncryptionProtector (et si nécessaire, -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
Importante
Les sauvegardes avec conservation à long terme (LTR, Long Term Retention) ne fournissent pas la liste des clés utilisées par la sauvegarde. Pour restaurer une sauvegarde LTR, toutes les clés utilisées par la base de données source doivent être passées à la cible de restauration LTR.
Option de rotation automatique des clés pour les bases de données copiées ou restaurées
Vous pouvez configurer des bases de données nouvellement copiées ou restaurées pour faire automatiquement tourner la clé gérée par le client utilisée pour le chiffrement transparent des données. Pour des informations sur la façon d’activer la rotation automatique des clés, voir Rotation automatique des clés au niveau de la base de données.
Contenu connexe