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 Azure SQL 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 que o banco de dados for criado ou restaurado, o menu Criptografia de dados transparente no portal do Azure mostrará o novo banco de dados com as mesmas configurações do banco de dados de origem, mas pode ter chaves ausentes. Em todos os casos em que um novo banco de dados é criado a partir de um banco de dados de origem, o número de chaves exibidas para um banco de dados de destino no portal do Azure Lista de chaves de banco de dados adicionais pode ser menor do que o número de chaves exibidas para um banco de dados de origem. Isso ocorre porque o número de chaves exibidas depende dos requisitos de recursos individuais usados para criar um banco de dados de destino. Para listar todas as chaves disponíveis para um banco de dados recém-criado, use as APIs disponíveis em Ver as configurações de chave gerenciadas pelo cliente a nível de banco de dados em um Banco 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.
Criar uma cópia de banco de dados que tenha chaves gerenciadas pelo cliente no nível 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:
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. Acesse a guia Criptografia de dados transparente do menu Criptografia de dados e verifique a lista de chaves atuais em uso pelo 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.
Criar uma réplica secundária que tenha chaves gerenciadas pelo cliente no nível do banco de dados
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. Acesse o menu Criptografia de dados transparente e verifique a lista de chaves atuais em uso pelo 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 + criare Criar para criar a cópia da base de dados.
Para obter informações sobre como instalar a versão atual da Azure CLI, consulte o artigo Instalar a Azure CLI.
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 Azure CLI, consulte o artigo Instalar a Azure CLI.
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.
Vá para o do portal do Azure e navegue até o servidor lógico do banco de dados excluído que você deseja 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 Azure CLI, consulte o artigo Instalar a Azure CLI.
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 Azure CLI, consulte o artigo Instalar a Azure CLI.
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
Os bancos de dados recém-copiados ou restaurados podem ser configurados para girar automaticamente a chave gerenciada pelo cliente usada para criptografia de dados transparente. Para obter informações sobre como habilitar a rotação automática de chaves no portal do Azure ou usando APIs, consulte Rotação automática de chaves no nível do banco de dados.
Conteúdo relacionado