Aplica-se a:
do Banco de Dados SQL do Azure
Observação
O TDE CMK de nível de banco de dados está disponível para o Banco de Dados SQL do Azure (todas as edições do Banco de Dados SQL). Ele não está disponível para Instância Gerenciada SQL do Azure, SQL Server local, VMs do Azure e Azure Synapse Analytics (pools SQL dedicados (anteriormente SQL DW)).
Neste guia, percorremos as etapas para configurar a replicação geográfica e a restauração de backup em um Banco de Dados SQL do Azure. O Banco de Dados SQL do Azure é configurado com criptografia de dados transparente (TDE) e chaves gerenciadas pelo cliente (CMK) no nível do banco de dados, utilizando uma identidade gerenciada atribuída pelo usuário para acessar o Cofre de Chaves do Azure. O Cofre da Chave do Azure e o servidor lógico para o SQL do Azure estão no mesmo locatário do Microsoft Entra para este guia, mas podem estar em locatários diferentes.
Observação
Microsoft Entra ID era anteriormente conhecido como Azure Ative Directory (Azure AD).
Pré-requisitos
Importante
Depois de a base de dados ser criada ou restaurada, a nova base de dados tem as mesmas definições da base de dados de origem, mas pode ter chaves em falta. Em todos os casos em que uma nova base de dados é criada a partir de uma base de dados de origem, o número de chaves reportadas para uma base de dados alvo pode ser inferior ao número de chaves reportadas para uma base de dados de origem. O número de chaves devolvidas depende dos requisitos individuais de funcionalidades usados para criar uma base de dados alvo. Para listar todas as chaves disponíveis para uma base de dados recém-criada, utilize as APIs disponíveis em Ver as definições de chave geridas pelo cliente ao nível da base de dados numa Base de Dados SQL do Azure.
Criar uma Base de Dados SQL do Azure com chaves geridas pelo cliente ao nível do banco de dados como base de dados secundária ou cópia
Use as instruções ou comandos a seguir para criar uma réplica secundária ou um destino de cópia de um Banco de Dados SQL do Azure configurado com chaves gerenciadas pelo cliente no nível do banco de dados. Uma identidade gerenciada atribuída pelo usuário é necessária para configurar uma chave gerenciada pelo cliente para criptografia de dados transparente durante a fase de criação do banco de dados.
Para criar um banco de dados no Banco de Dados SQL do Azure como uma cópia com chaves gerenciadas pelo cliente no nível do banco de dados, siga estas etapas:
Use a CLI do Azure, PowerShell ou a API REST para verificar a lista de chaves atuais em uso pela base de dados de origem. Para os comandos, consulte Visualizar as definições de chave geridas pelo cliente ao nível da base de dados numa Base de Dados SQL do Azure.
Vá para o do portal do Azure e navegue até o Banco de Dados SQL do Azure configurado com chaves gerenciadas pelo cliente no nível do banco de dados. Crie uma cópia do banco de dados selecionando Copiar no menu Visão Geral do banco de dados.
O menu Criar Banco de Dados SQL - Copiar banco de dados é exibido. Use um servidor diferente para esse banco de dados, mas as mesmas configurações do banco de dados que você está tentando copiar. Na seção Gerenciamento transparente de chaves de criptografia de dados , selecione Configurar criptografia de dados transparente.
Quando o menu Criptografia de dados transparente for exibido, revise as configurações de CMK para esse banco de dados de cópia. As configurações e chaves devem ser preenchidas com a mesma identidade e chaves usadas no banco de dados de origem.
Selecione Aplicar para continuar e, em seguida, selecione Rever + criare Criar para criar a cópia da base de dados.
Para criar uma réplica secundária que tenha chaves geridas pelo cliente ao nível da base de dados, siga estes passos:
Use a CLI do Azure, PowerShell ou a API REST para verificar a lista de chaves atuais em uso pela base de dados de origem. Para os comandos, consulte Visualizar as definições de chave geridas pelo cliente ao nível da base de dados numa Base de Dados SQL do Azure.
Vá para o do portal do Azure e navegue até o Banco de Dados SQL do Azure configurado com chaves gerenciadas pelo cliente no nível do banco de dados. Em Configurações de gerenciamento de dados para o banco de dados, selecione Réplicas. Selecione Criar réplica para criar uma réplica secundária do banco de dados.
O menu Criar Banco de Dados SQL - Réplica Geográfica é exibido. Use um servidor secundário para esse banco de dados, mas as mesmas configurações do banco de dados que você está tentando replicar. Na seção Gerenciamento transparente de chaves de criptografia de dados , selecione Configurar criptografia de dados transparente.
Quando o menu Criptografia de dados transparente for exibido, reveja as configurações de CMK para essa réplica de banco de dados. As configurações e chaves devem ser preenchidas com a mesma identidade e chaves usadas no banco de dados primário.
Selecione Aplicar para continuar e, em seguida, selecione Rever + criar e Criar para criar a réplica secundária.
Para obter informações sobre como instalar a versão atual da CLI do Azure, consulte o artigo Instalar a CLI do Azure.
Pré-preencha a lista de chaves atuais em uso pelo banco de dados primário usando o parâmetro expand-keys com current como o keys-filter.
az sql db show --name $databaseName --resource-group $resourceGroup --server $serverName --expand-keys --keys-filter current
Selecione a identidade gerenciada atribuída pelo usuário (e a ID do cliente federado se estiver configurando o acesso entre locatários).
Crie um novo banco de dados como secundário e forneça a lista pré-preenchida de chaves obtidas do banco de dados de origem e a identidade acima (e ID de cliente federado se configurar o acesso entre locatários).
# 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 é uma lista separada por espaço de chaves recuperadas do banco de dados de origem.
Para criar uma cópia do banco de dados, az sql db copy pode ser usado com os mesmos parâmetros.
# 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
Para obter instruções de instalação do módulo Az PowerShell, consulte Instalar o Azure PowerShell.
Pré-preencha a lista de chaves atuais em uso pelo banco de dados primário usando o comando Get-AzSqlDatabase e os parâmetros -ExpandKeyList e -KeysFilter "current". Exclua -KeysFilter se desejar recuperar todas as chaves.
$database = Get-AzSqlDatabase -ResourceGroupName <ResourceGroupName> -ServerName <ServerName> -DatabaseName <DatabaseName> -ExpandKeyList -KeysFilter "current"
Selecione a identidade gerenciada atribuída pelo usuário (e a ID do cliente federado se estiver configurando o acesso entre locatários).
Crie um novo banco de dados como secundário usando o comando New-AzSqlDatabaseSecondary e forneça a lista pré-preenchida de chaves obtidas do banco de dados de origem e a identidade acima (e ID de cliente federado se configurar o acesso entre locatários) na chamada de API usando os parâmetros -KeyList, -AssignIdentity, -UserAssignedIdentityId, -EncryptionProtector (e, se necessário, -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
Para criar uma cópia do banco de dados, New-AzSqlDatabaseCopy pode ser usado com os mesmos parâmetros.
# 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
Aqui está um exemplo de um modelo ARM que cria uma réplica secundária e uma cópia de um Banco de Dados SQL do Azure configurado com uma identidade gerenciada atribuída pelo usuário e TDE gerenciada pelo cliente no nível do banco de dados.
Para obter mais informações e modelos ARM, consulte Modelos do Azure Resource Manager para o Banco de Dados SQL do Azure.
Use uma implantação Personalizada no portal do Azuree Criar seu próprio modelo no editor. Em seguida, Guarde a configuração depois de colá-lo no exemplo.
Pré-preencha a lista de chaves atuais em uso pelo banco de dados primário usando a seguinte solicitação de API REST:
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'))
Selecione a identidade gerenciada atribuída pelo usuário (e a ID do cliente federado se estiver configurando o acesso entre locatários).
Crie um novo banco de dados como secundário e forneça a lista pré-preenchida de chaves obtidas do banco de dados de origem e a identidade acima (e ID do cliente federado se configurar o acesso entre locatários) no modelo ARM como o parâmetro 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')]"
}
}
]
}
Um exemplo do parâmetro encryption_protector e 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"
}
Para criar uma cópia do banco de dados, o modelo a seguir pode ser usado com os mesmos parâmetros.
{
"$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')]"
}
}
]
}
Restaurar um Banco de Dados SQL do Azure com chaves gerenciadas pelo cliente no nível do banco de dados
Esta seção orienta você pelas etapas para restaurar um Banco de Dados SQL do Azure configurado com chaves gerenciadas pelo cliente no nível do banco de dados. Uma identidade gerenciada atribuída pelo usuário é necessária para configurar uma chave gerenciada pelo cliente para criptografia de dados transparente durante a fase de criação do banco de dados.
Restauro para um ponto anterior no tempo
A seção a seguir descreve como restaurar um banco de dados configurado com chaves gerenciadas pelo cliente no nível do banco de dados para um determinado ponto no tempo. Para saber mais sobre a recuperação de backup para o Banco de Dados SQL, consulte Restaurar um banco de dados a partir de um backup no Banco de Dados SQL do Azure.
Vá para o do portal do Azure e navegue até o Banco de Dados SQL do Azure configurado com chaves gerenciadas pelo cliente no nível do banco de dados que você deseja restaurar.
Para restaurar o banco de dados para um momento no tempo, selecione Restaurar a partir do menu Visão Geral do banco de dados.
O menu Criar Banco de Dados SQL - Restaurar banco de dados é exibido. Preencha os detalhes de origem e banco de dados necessários. Na seção Gerenciamento transparente de chaves de criptografia de dados , selecione Configurar criptografia de dados transparente.
Quando o menu Criptografia de dados transparente for exibido, revise as configurações de CMK para o banco de dados. As configurações e chaves devem ser preenchidas com a mesma identidade e chaves usadas no banco de dados que você está tentando restaurar.
Selecione Aplicar para continuar e, em seguida, selecione Rever + criare Criar para criar a cópia da base de dados.
Para obter informações sobre como instalar a versão atual da CLI do Azure, consulte o artigo Instalar a CLI do Azure.
Preencher previamente a lista de chaves do banco de dados primário com o parâmetro expand-keys, usando o seu ponto de restauração temporal como keys-filter.
az sql db show --name $databaseName --resource-group $resourceGroup --server $serverName --expand-keys --keys-filter $timestamp
Selecione a identidade gerenciada atribuída pelo usuário (e a ID do cliente federado se estiver configurando o acesso entre locatários).
Crie um novo banco de dados como um destino de restauração e forneça a lista pré-preenchida de chaves obtidas do banco de dados de origem e a identidade acima (e ID de cliente federado se configurar o acesso entre locatários).
# 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 é uma lista separada por espaço de chaves recuperadas do banco de dados de origem.
Para obter instruções de instalação do módulo Az PowerShell, consulte Instalar o Azure PowerShell.
Pré-preencha a lista de chaves usadas pelo banco de dados primário usando o comando Get-AzSqlDatabase e os parâmetros -ExpandKeyList e -KeysFilter "2023-01-01" (2023-01-01 é um exemplo do ponto no tempo para o qual você deseja restaurar o banco de dados). Exclua -KeysFilter se desejar recuperar todas as chaves.
$database = Get-AzSqlDatabase -ResourceGroupName <ResourceGroupName> -ServerName <ServerName> -DatabaseName <DatabaseName> -ExpandKeyList -KeysFilter <Timestamp>
Selecione a identidade gerenciada atribuída pelo usuário (e a ID do cliente federado se estiver configurando o acesso entre locatários).
Use o comando Restore-AzSqlDatabase com o parâmetro -FromPointInTimeBackup e forneça a lista pré-preenchida de chaves obtidas nas etapas acima e a identidade acima (e ID de cliente federado se configurar o acesso entre locatários) na chamada de API usando os parâmetros -KeyList, -AssignIdentity, -UserAssignedIdentityId, -EncryptionProtector (e, se necessário, -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
Restauração de banco de dados falhada
A seção a seguir descreve como restaurar um banco de dados excluído que foi configurado com chaves gerenciadas pelo cliente no nível do banco de dados. Para saber mais sobre a recuperação de backup para o Banco de Dados SQL, consulte Restaurar um banco de dados a partir de um backup no Banco de Dados SQL do Azure.
Aceda ao portal do Azure e navegue até ao servidor lógico da base de dados eliminada que pretende restaurar. Em Gestão de dados, selecione Bases de dados eliminadas.
Selecione o banco de dados excluído que você deseja restaurar.
O menu Criar Banco de Dados SQL - Restaurar banco de dados é exibido. Preencha os detalhes de origem e banco de dados necessários. Na seção Gerenciamento transparente de chaves de criptografia de dados , selecione Configurar criptografia de dados transparente.
Quando o menu Criptografia de dados transparente for exibido, configure a seção Identidade gerenciada atribuída ao usuário, Chave gerenciada pelo cliente e Chaves de banco de dados adicionais para seu banco de dados.
Selecione Aplicar para continuar e, em seguida, selecione Rever + criare Criar para criar a cópia da base de dados.
Para obter informações sobre como instalar a versão atual da CLI do Azure, consulte o artigo Instalar a CLI do Azure.
Pré-preencha a lista de chaves usadas pelo banco de dados descartado usando o parâmetro expand-keys. É recomendável passar todas as chaves que o banco de dados de origem estava usando. Você também pode tentar uma restauração com as chaves fornecidas no momento da exclusão usando o parâmetro 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 pode ser recuperado listando todos os bancos de dados descartados restauráveis no servidor e é do formato databaseName,deletedTimestamp.
Selecione a identidade gerenciada atribuída pelo usuário (e a ID do cliente federado se estiver configurando o acesso entre locatários).
Crie um novo banco de dados como destino de restauração e forneça a lista pré-preenchida de chaves obtidas do banco de dados de origem excluído e a identidade acima (e ID de cliente federado se configurar o acesso entre locatários).
# 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 é uma lista separada por espaço de chaves recuperadas do banco de dados de origem.
Para obter instruções de instalação do módulo Az PowerShell, consulte Instalar o Azure PowerShell.
Pré-preencha a lista de chaves usadas pelo banco de dados primário usando o comando Get-AzSqlDeletedDatabaseBackup e o parâmetro -ExpandKeyList. É recomendável passar todas as chaves que o banco de dados de origem estava usando. Você também pode tentar uma restauração com as chaves fornecidas no momento da exclusão usando o parâmetro -KeysFilter.
$database = Get-AzSqlDeletedDatabaseBackup -ResourceGroupName <ResourceGroupName> -ServerName <ServerName> -DatabaseId "dbName,133201549661600000" -ExpandKeyList -DeletionDate "2/6/2023" -DatabaseName <databaseName>
Importante
DatabaseId pode ser recuperado listando todos os bancos de dados descartados restauráveis no servidor e é do formato databaseName,deletedTimestamp.
Selecione a identidade gerenciada atribuída pelo usuário (e a ID do cliente federado se estiver configurando o acesso entre locatários).
Use o comando Restore-AzSqlDatabase com o parâmetro -FromDeletedDatabaseBackup e forneça a lista pré-preenchida de chaves obtidas nas etapas acima e a identidade acima (e ID de cliente federado se configurar o acesso entre locatários) na chamada de API usando os parâmetros -KeyList, -AssignIdentity, -UserAssignedIdentityId, -EncryptionProtector (e, se necessário, -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
Restauração geográfica
A seção a seguir descreve como restaurar um backup replicado geograficamente do banco de dados configurado com chaves gerenciadas pelo cliente no nível do banco de dados. Para saber mais sobre a recuperação de backup para o Banco de Dados SQL, consulte Restaurar um banco de dados a partir de um backup no Banco de Dados SQL do Azure.
Vá para o do portal do Azure e navegue até o servidor lógico onde deseja restaurar o banco de dados.
No menu Visão Geral, selecione Criar base de dados.
O menu Criar Banco de Dados SQL é exibido. Preencha Básico e guias Rede para seu novo banco de dados. Em Configurações adicionais, selecione Backup na seção Usar dados existentes e depois selecione um backup replicado geograficamente.
Vá para a guia Segurança . Na seção Gerenciamento transparente de chaves de criptografia de dados , selecione Configurar criptografia de dados transparente.
Quando o menu Criptografia de dados transparente for exibido, selecione Chave gerenciada pelo cliente (CMK) no nível do banco de dados. A identidade gerenciada atribuída ao usuário, a chave gerenciada pelo cliente e as chaves de banco de dados adicionais devem corresponder ao banco de dados de origem que você deseja restaurar. Verifique se a identidade gerenciada atribuída pelo usuário tem acesso ao Cofre da Chave do Azure que contém a chave gerenciada pelo cliente que foi usada no backup.
Selecione Aplicar para continuar e, em seguida, selecione Rever + criare Criar para criar o banco de dados de backup.
Para obter informações sobre como instalar a versão atual da CLI do Azure, consulte o artigo Instalar a CLI do Azure.
Pré-preencha a lista de chaves usadas pelo backup geográfico do banco de dados configurado com chaves gerenciadas pelo cliente no nível do banco de dados usando o parâmetro expand-keys.
az sql db geo-backup --database-name $databaseName --g $resourceGroup --server $serverName --expand-keys
Selecione a identidade gerenciada atribuída pelo usuário (e a ID do cliente federado se estiver configurando o acesso entre locatários).
Crie uma nova base de dados como um destino de restauração geográfica e forneça a lista pré-preenchida de chaves obtidas a partir do banco de dados de origem excluído, juntamente com a identidade mencionada acima (e o ID de cliente federado, se estiver a configurar o acesso entre inquilinos).
# 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 é uma lista separada por espaço de chaves recuperadas do banco de dados de origem.
Para obter instruções de instalação do módulo Az PowerShell, consulte Instalar o Azure PowerShell.
Pré-preencha a lista de chaves usadas pelo banco de dados primário usando o comando Get-AzSqlDatabaseGeoBackup e o -ExpandKeyList para recuperar todas as chaves.
$database = Get-AzSqlDatabaseGeoBackup -ResourceGroupName <ResourceGroupName> -ServerName <ServerName> -DatabaseName <databaseName> -ExpandKeyList
Importante
DatabaseId pode ser recuperado listando todos os bancos de dados descartados restauráveis no servidor e é do formato databaseName,deletedTimestamp.
Selecione a identidade gerenciada atribuída pelo usuário (e a ID do cliente federado se estiver configurando o acesso entre locatários).
Use o comando Restore-AzSqlDatabase com o parâmetro -FromGeoBackup e forneça a lista pré-preenchida de chaves obtidas nas etapas acima e a identidade acima (e ID de cliente federado se configurar o acesso entre locatários) na chamada de API usando os parâmetros -KeyList, -AssignIdentity, -UserAssignedIdentityId, -EncryptionProtector (e, se necessário, -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
Os backups de retenção de longo prazo (LTR) não fornecem a lista de chaves usadas pelo backup. Para restaurar um backup LTR, todas as chaves usadas pelo banco de dados de origem devem ser passadas para o destino de restauração LTR.
Opção de rotação automática de chaves para bancos de dados copiados ou restaurados
Pode configurar bases de dados recém-copiadas ou restauradas para rotacionar automaticamente a chave gerida pelo cliente usada para a encriptação de dados transparentes. Para informações sobre como ativar a rotação automática de chaves, veja Rotação automática de chaves ao nível da base de dados.
Conteúdo relacionado