Compartilhar via


Sobre o backup do Banco de Dados do Azure para PostgreSQL

O Backup do Azure e os Serviços de Banco de Dados do Azure se uniram para criar uma solução empresarial de backup para servidores do Banco de Dados do Azure para PostgreSQL que retém backups por até 10 anos. Além da retenção de longo prazo, a solução oferece os seguintes recursos:

  • Backup sob demanda e agendado controlado pelo cliente no nível de banco de dados individual.
  • Restaurações em nível de banco de dados para qualquer servidor PostgreSQL ou diretamente para qualquer armazenamento de blobs.
  • Monitoramento centralizado de todas as operações e trabalhos.
  • Backups armazenados em domínios separados de falha e segurança. Se o servidor de origem ou a assinatura estiverem comprometidos em qualquer circunstância, os backups permanecerão seguros no cofre de backup (em contas de armazenamento gerenciadas do Backup do Azure).
  • O uso de pg_dump permite uma maior flexibilidade nas restaurações. Isso ajuda a restaurar nas versões do banco de dados

Você pode usar essa solução de forma independente ou junto com a solução de backup nativo oferecida pelo Azure PostgreSQL que oferece retenção de até 35 dias. A solução nativa é adequada para recuperações operacionais, como quando se deseja recuperar os backups mais recentes. A solução de Backup do Azure ajuda nos requerimentos de conformidade e em backups e restaurações mais granulares e flexíveis.

Observação

O Banco de Dados do Azure para PostgreSQL – Servidor Único está em processo de desativação e está programado para ser desativado até 28 de março de 2025.

Se você atualmente tem um serviço do Banco de Dados do Azure para PostgreSQL – Servidor Único para hospedar servidores de produção, é possível migrar seu Banco de Dados do Azure para PostgreSQL – Servidor Único para o Banco de Dados do Azure para PostgreSQL – Servidor Flexível.

O Banco de Dados do Azure para PostgreSQL - Servidor Flexível é um>serviço de banco de dados totalmente gerenciado e pronto para produção, projetado para controle mais granular e flexibilidade sobre funções de gerenciamento de banco de dados e definições de configuração com a solução de backup de nível empresarial do Azure Backup. Para obter mais informações sobre o Banco de Dados do Azure para PostgreSQL – Servidor Flexível, acesse Banco de Dados do Azure para PostgreSQL – Servidor Flexível.

Processo de backup

  1. Como administrador de backup, você pode especificar os bancos de dados do PostgreSQL do Azure que você pretende fazer backup. Além disso, você também pode especificar os detalhes do cofre de chaves do Azure que armazena as credenciais necessárias para se conectar a(os) banco(s) de dados especificado(s). Essas credenciais são propagadas com segurança pelo administrador do banco de dados no cofre de chaves do Azure.
  2. Em seguida, o serviço de backup valida se ele tem as permissões apropriadas para autenticar com o servidor PostgreSQL especificado e para fazer backup de seus bancos de dados.
  3. O Backup do Azure gira uma função de trabalho (VM) com uma extensão de backup instalada nela para se comunicar com o servidor PostgreSQL protegido. Essa extensão consiste em um coordenador e um plugin do PostgreSQL. O coordenador dispara fluxos de trabalho para várias operações, como backup e restauração, e o plug-in gerencia o fluxo de dados real.
  4. No horário agendado, o coordenador se comunica com o plugin que começa a transmissão dos dados de backup do servidor PostgreSQL usando o pg_dump (personalizado) .
  5. O plug-in envia os dados diretamente para as contas de armazenamento gerenciadas do Backup do Azure (mascaradas pelo cofre do Backup), eliminando a necessidade de um local de preparo. Os dados são criptografados usando chaves gerenciadas pela Microsoft e armazenados pelo serviço de Backup do Azure em contas de armazenamento.

Diagrama mostrando o processo de backup.

Autenticação de Backup do Azure com o servidor PostgreSQL

O Backup do Azure segue diretrizes rígidas de segurança dispostas pelo Azure; as permissões no backup do recurso não são presumidas e precisam ser dadas explicitamente pelo usuário.

Modelo de autenticação baseada em cofre de chaves

O serviço de Backup do Azure precisa se conectar ao Azure PostgreSQL ao fazer cada backup. Embora ' username + password ' (ou cadeia de conexão) correspondentes ao banco de dados sejam usados para fazer essa conexão, essas credenciais não são armazenadas com o Backup do Azure. Em vez disso, essas credenciais são propagadas com segurança pelo administrador do banco de dados no cofre de chaves do Azure como um segredo. O administrador de carga de trabalho é responsável por gerenciar e girar as credenciais; o Backup do Azure chama os detalhes secretos mais recentes do cofre de chaves para fazer o backup.

Diagrama mostrando a carga de trabalho ou o fluxo de banco de dados.

Conjunto de permissões necessárias para o backup do banco de dados do Azure para PostgreSQL

  1. Conceda as seguintes permissões de acesso ao MSI do cofre do Backup:

    • Acesso de leitor no servidor PostgreSQL do Azure.
    • Usuário secreto do Key Vault (ou obter, listar segredos), acesse o Azure Key Vault.
  2. Acesso de linha de visão de rede em:

    • O servidor PostgreSQL do Azure - Permite acesso aos serviços do Azure sinalizados para serem definidos como Sim.
    • O cofre de chaves - Permite que serviços de confiança da Microsoft marcados sejam definidos como Sim.
  3. Privilégios de backup do usuário do banco de dados no banco de dados

Observação

Você pode conceder essas permissões no fluxo de backup de configuração com um único clique se você (o administrador de backup) tiver acesso de ' gravação ' nos recursos pretendidos ou usar um modelo de ARM se você não tiver as permissões necessárias (quando várias pessoas estiverem envolvidas).

Conjunto de permissões necessárias para a restauração do banco de dados do Azure para PostgreSQL

As permissões para restauração são semelhantes àquelas necessárias para o backup e você precisa conceder as permissões no servidor PostgreSQL de destino e seu cofre de chaves correspondente. Ao contrário de configurar o fluxo de backup, a experiência para conceder essas permissões embutidas não está disponível no momento. Portanto, você precisa conceder manualmente o acesso no servidor Postgres e no cofre de chaves correspondente.

Além disso, verifique se o usuário do banco de dados (correspondente às credenciais armazenadas no cofre de chaves) tem os seguintes privilégios de restauração no banco de dados:

  • ALTER USER username CREATEDB;
  • Atribua a função azure_pg_admin ao usuário do banco de dados.

Modelo de autenticação baseado no Microsoft Entra ID

Anteriormente, tínhamos lançado um modelo de autenticação diferente que era inteiramente baseado na ID do Microsoft Entra. No entanto, agora fornecemos o novo modelo de autenticação baseado em cofre de chaves (conforme explicado acima) como uma opção alternativa, que facilita o processo de configuração.

Baixe este documento para obter um script automatizado e as instruções relacionadas para usar esse modelo de autenticação. Ela concederá um conjunto apropriado de permissões para o servidor PostgreSQL do Azure, para fazer backup e restauração.

Observação

Toda a nova proteção de configuração ocorrerá somente com o novo modelo de autenticação do cofre de chaves. Porém, todas as instâncias de backup existentes configuradas com a autenticação baseada na ID do Microsoft Entra continuarão a existir e terão backups regulares feitos. Para restaurar esses backups, você precisa seguir a autenticação baseada na ID do Microsoft Entra.

Conceder acesso no servidor PostgreSQL do Azure e no cofre de chaves manualmente

Para conceder todas as permissões de acesso necessárias para o Backup do Azure, consulte as seguintes seções:

Permissões de acesso no servidor PostgreSQL do Azure

  1. Definir o acesso do leitor MSI do backup do cofre no servidor PostgreSQL do Azure.

    Captura de tela mostrando a opção de definir o acesso ao Leitor de MSI do cofre de backup no servidor PostgreSQL do Azure.

  2. Acesso de linha de visão de rede no servidor PostgreSQL do Azure: defina o sinalizador ' permitir acesso aos serviços do Azure ' para ' Sim '.

    Captura de tela mostrando a opção de definir acesso de linha de visão de rede no servidor PostgreSQL do Azure.

Permissões de acesso no Azure Key Vault (associado ao servidor PostgreSQL)

  1. Definir acesso do MSI do cofre do BackupUsuário secreto do Key Vault (ou obter, listar segredos), no Azure Key Vault. Para atribuir permissões, você pode usar atribuições de função ou políticas de acesso. Não é necessário adicionar a permissão usando as duas opções, pois isso não ajuda.

    • Usando a autorização do Azure RBAC (Controle de acesso baseado em função do Azure), ou seja, o modelo de permissão é definido como controle de acesso baseado em função do Azure:

    Captura de tela mostrando a opção de fornecer acesso de usuário secreto.

    Captura de tela mostrando a opção de conceder acesso ao cofre de chaves para o usuário dos Segredos do Key Vault de MSI do cofre de backup.

  2. Acesso de linha de visão de rede no cofre de chaves: defina o sinalizador Permitir serviços de confiança da Microsoft como Sim.

    Captura de tela mostrando como definir o sinalizador Permitir serviços de confiança da Microsoft como “Sim” para acesso de linha de visão de rede no cofre de chaves.

Privilégios de backup do usuário do banco de dados no banco de dados

Execute a seguinte consulta na ferramenta de administração PG (substitua username pela ID de usuário do banco de dados):

DO $do$
DECLARE
sch text;
BEGIN
EXECUTE format('grant connect on database %I to %I', current_database(), 'username');
FOR sch IN select nspname from pg_catalog.pg_namespace
LOOP
EXECUTE format($$ GRANT USAGE ON SCHEMA %I TO username $$, sch);
EXECUTE format($$ GRANT SELECT ON ALL TABLES IN SCHEMA %I TO username $$, sch);
EXECUTE format($$ ALTER DEFAULT PRIVILEGES IN SCHEMA %I GRANT SELECT ON TABLES TO username $$, sch);
EXECUTE format($$ GRANT SELECT ON ALL SEQUENCES IN SCHEMA %I TO username $$, sch);
EXECUTE format($$ ALTER DEFAULT PRIVILEGES IN SCHEMA %I GRANT SELECT ON SEQUENCES TO username $$, sch);
END LOOP;
END;
$do$

Observação

Se um banco de dados para o qual o backup já foi configurado estiver falhando com UserErrorMissingDBPermissions consulte este guia de solução de problemas para obter assistência para resolver o problema.

Usar a ferramenta de administração PG

Faça download da ferramenta de administração PG caso você não a tenha ainda. Você pode se conectar ao servidor PostgreSQL do Azure por meio dessa ferramenta. Além disso, você pode adicionar bancos de dados e novos usuários a esse servidor.

Captura de tela mostrando o processo para conectar-se ao servidor PostgreSQL do Azure usando a ferramenta de administração PG.

Crie um novo servidor com um nome de sua escolha. Insira o Nome do host/nome do endereço igual ao Nome do servidor exibido na exibição de recursos do PostgreSQL do Azure no portal do Azure.

Captura de tela mostrando a opção de criar um novo servidor usando a ferramenta de administração PG.

Captura de tela mostrando a opção de inserir o Nome do host ou o nome do endereço igual ao Nome do servidor.

Certifique-se de adicionar o endereço de ID do cliente atual às regras de firewall para que a conexão seja aprovada.

Captura de tela mostrando o processo para adicionar o endereço de ID do cliente atual às regras de Firewall.

Você pode adicionar novos bancos de dados e usuários de banco de dados ao servidor. Para usuários de banco de dados, adicione uma nova Função de Grupo/Login. Verifique se Pode fazer logon? está definido como Sim.

Captura de tela mostrando o processo para adicionar novos bancos de dados e usuários de banco de dados ao servidor.

Captura de tela mostrando o processo para adicionar uma nova função de logon ou grupo para usuários de banco de dados.

Captura de tela mostrando que a verificação da opção de logon pode está definida como Sim.

Próximas etapas

Backup do Banco de Dados do Azure para PostgreSQL