Acerca da cópia de segurança da Base 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 de backup de classe empresarial para o Banco de Dados do Azure para servidores PostgreSQL que retém backups por até 10 anos. Além da retenção a longo prazo, a solução oferece as seguintes capacidades:
- Backups agendados e sob demanda controlados pelo cliente no nível do banco de dados individual.
- Restaurações no nível de banco de dados para qualquer servidor PostgreSQL ou para qualquer armazenamento de blob.
- Monitorização central de todos os trabalhos e operações.
- Cópias de segurança armazenadas num domínio de segurança e falha separado. Se o servidor de origem ou a assinatura for comprometido em qualquer circunstância, os backups permanecerão seguros no cofre de Backup (nas contas de armazenamento gerenciado do Backup do Azure).
- O uso de pg_dump permite uma maior flexibilidade nas restaurações. Isso ajuda a restaurar entre versões de banco de dados
Você pode usar essa solução de forma independente ou além da solução de backup nativa oferecida pelo Azure PostgreSQL que oferece retenção de até 35 dias. A solução nativa é adequada para recuperações operacionais, como quando você deseja se recuperar dos backups mais recentes. A solução de Backup do Azure ajuda você com suas necessidades de conformidade e backup/restauração mais granular e flexível.
Nota
O Banco de Dados do Azure para PostgreSQL - Servidor Único está no caminho da aposentadoria e está programado para a aposentadoria até 28 de março de 2025.
Se você tiver atualmente um Banco de Dados do Azure para PostgreSQL - Serviço de Servidor Único hospedando servidores de produção, temos o prazer de informar que você pode 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 pronto> para produção projetado para controle e flexibilidade mais granulares 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 Backup do Azure. Para obter mais informações sobre o Banco de Dados do Azure para PostgreSQL - Servidor Flexível, visite Banco de Dados do Azure para PostgreSQL - Servidor Flexível.
Processo de cópia de segurança
- Como administrador de backup, você pode especificar os bancos de dados PostgreSQL do Azure dos quais 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 ao(s) 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.
- Em seguida, o serviço de backup valida se tem permissões apropriadas para autenticar com o servidor PostgreSQL especificado e fazer backup de seus bancos de dados.
- O Backup do Azure cria uma função de trabalho (VM) com uma extensão de backup instalada nele para se comunicar com o servidor PostgreSQL protegido. Esta extensão consiste em um coordenador e um plugin PostgreSQL. O coordenador aciona fluxos de trabalho para várias operações, como backup e restauração, e o plug-in gerencia o fluxo de dados real.
- No horário agendado, o coordenador se comunica com o plugin, para que ele comece a transmitir os dados de backup do servidor PostgreSQL usando pg_dump (personalizado).
- O plug-in envia os dados diretamente para as contas de armazenamento gerenciado do Backup do Azure (mascaradas pelo cofre de Backup), eliminando a necessidade de um local de preparação. Os dados são criptografados usando chaves gerenciadas pela Microsoft e armazenados pelo serviço de Backup do Azure em contas de armazenamento.
Autenticação do Backup do Azure com o servidor PostgreSQL
O Backup do Azure segue diretrizes de segurança rígidas estabelecidas pelo Azure; As permissões no recurso para backup não são assumidas e precisam ser explicitamente dadas pelo usuário.
Modelo de autenticação baseada no Key Vault
O serviço de Backup do Azure precisa se conectar ao PostgreSQL do Azure enquanto faz cada backup. Embora 'nome de usuário + senha' (ou cadeia de conexão), correspondente 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 precisam ser propagadas com segurança pelo administrador do banco de dados no cofre de chaves do Azure como um segredo. O administrador da carga de trabalho é responsável por gerenciar e alternar as credenciais; O Backup do Azure solicita os detalhes secretos mais recentes do cofre de chaves para fazer o backup.
Conjunto de permissões necessárias para o backup do banco de dados PostgreSQL do Azure
Conceda as seguintes permissões de acesso ao MSI do cofre de backup:
- Acesso de leitor no servidor PostgreSQL do Azure.
- Segredos do Cofre da Chave Acesso do usuário (ou obter, listar segredos) no cofre de chaves do Azure.
Acesso à linha de visão da rede em:
- O servidor Azure PostgreSQL – Permitir que o acesso ao sinalizador de serviços do Azure seja definido como Sim.
- O cofre de chaves – Permitir que o sinalizador de serviços confiáveis da Microsoft seja definido como Sim.
Privilégios de backup do usuário do banco de dados no banco de dados
Nota
Você pode conceder essas permissões dentro do fluxo de backup configurado com um único clique se você (o administrador de backup) tiver acesso de "gravação" nos recursos pretendidos, ou usar um modelo ARM se não tiver as permissões necessárias (quando várias personas estiverem envolvidas).
Conjunto de permissões necessárias para a restauração do banco de dados PostgreSQL do Azure
As permissões para restauração são semelhantes às necessárias para 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 em linha 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 no Microsoft Entra ID. No entanto, agora fornecemos o novo modelo de autenticação baseado em cofre de chaves (como explicado acima) como uma opção alternativa, o que facilita o processo de configuração.
Faça o download deste documento para obter um script automatizado e instruções relacionadas para usar esse modelo de autenticação. Ele concederá um conjunto apropriado de permissões a um servidor PostgreSQL do Azure, para backup e restauração.
Nota
Toda a nova proteção de configuração ocorrerá apenas com o novo modelo de autenticação do cofre de chaves. No entanto, todas as instâncias de backup existentes configuradas com a autenticação baseada no Microsoft Entra ID continuarão a existir e terão backups regulares realizados. Para restaurar esses backups, você precisa seguir a autenticação baseada no Microsoft Entra ID.
Conceder acesso manualmente no servidor PostgreSQL do Azure e Key Vault
Para conceder todas as permissões de acesso necessárias ao Backup do Azure, consulte as seguintes seções:
Permissões de acesso no servidor PostgreSQL do Azure
Defina o acesso do Leitor MSI do cofre de backup no servidor PostgreSQL do Azure.
Acesso à linha de visão da rede no servidor PostgreSQL do Azure: defina o sinalizador 'Permitir acesso aos serviços do Azure' como 'Sim'.
Permissões de acesso no cofre da Chave do Azure (associado ao servidor PostgreSQL)
Defina o acesso do usuário (ou obter, listar segredos) do cofre de backup no cofre de chaves do Azure. 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 ambas as opções, pois isso não ajuda.
Usando a autorização de controle de acesso baseado em função do Azure (Azure RBAC) (ou seja, o modelo de permissão está definido como controle de acesso baseado em função do Azure):
- Em Controle de acesso, conceda ao MSI Key Vault Secrets do cofre de backup acesso de usuário no cofre de chaves. Os portadores desse papel poderão ler segredos.
- Conceda permissão a aplicativos para acessar um cofre de chaves do Azure usando o Azure RBAC.
Usando políticas de acesso (ou seja, o modelo de permissão está definido como política de acesso do Vault):
- Defina as permissões Obter e Listar em segredos.
- Saiba mais sobre Atribuir uma política de acesso ao Cofre da Chave do Azure
Acesso à linha de visão da rede no cofre da chave: defina o sinalizador Permitir serviços confiáveis da Microsoft como Sim.
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 pelo 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$
Nota
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 ajuda na resolução do problema.
Use a ferramenta de administração PG
Faça o download da ferramenta de administração PG se ainda não a tiver. 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 este servidor.
Crie um novo servidor com um nome à sua escolha. Insira o nome do host/endereço igual ao nome do servidor exibido na exibição de recursos do Azure PostgreSQL no portal do Azure.
Certifique-se de adicionar o endereço de ID do cliente atual às regras de Firewall para que a conexão seja realizada.
Você pode adicionar novos bancos de dados e usuários de banco de dados ao servidor. Para usuários do banco de dados, adicione um novo Login/Group Roles'. Certifique-se de que Can login? está definido como Sim.