Condividi tramite


Che cos'è il backup di Database di Azure per PostgreSQL?

Backup di Azure e servizi di database di Azure si sono riuniti per creare una soluzione di backup di livello aziendale per i server di Database di Azure per PostgreSQL che conserva i backup per un massimo di 10 anni. Oltre alla conservazione a lungo termine, la soluzione offre le funzionalità seguenti:

  • Backup pianificato e su richiesta controllato dal cliente a livello di singoli database.
  • È possibile effettuare ripristini a livello di database su qualsiasi server Azure Database per PostgreSQL o su qualsiasi tipo di archiviazione BLOB.
  • Monitoraggio centralizzato di tutte le operazioni e di tutti i processi.
  • Archiviazione dei backup in domini di sicurezza e di errore separati. Se il server sorgente o la sottoscrizione diventa compromesso, i backup rimangono al sicuro nella cassaforte di Backup di Azure (negli account di archiviazione gestiti di Azure Backup).
  • Uso di pg_dump per una maggiore flessibilità nei ripristini. È possibile eseguire il ripristino tra versioni del database.

È possibile usare questa soluzione in modo indipendente o oltre alla soluzione di backup nativa in Azure PostgreSQL, che offre conservazione per un massimo di 35 giorni. La soluzione nativa è adatta per i ripristini operativi, ad esempio quando si vuole eseguire il ripristino dai backup più recenti. La soluzione Backup di Azure consente di soddisfare le esigenze di conformità e offre una funzionalità di backup/ripristino più granulare e flessibile.

Modifiche ai backup con insieme di credenziali per server singoli PostgreSQL

L'opzione di distribuzione a server singolo di Azure Database per PostgreSQL è stata ritirata il 28 marzo 2025. In tale data, le modifiche sono state implementate nei server singoli di Backup di Azure per PostgreSQL. Altre informazioni sul ritiro.

Backup di Azure offre soluzioni di conformità e resilienza, inclusi i backup in cassaforte e la conservazione a lungo termine dei punti di ripristino. Il 28 marzo 2025 sono state applicate le seguenti modifiche:

  • La configurazione di backup non è consentita per i nuovi carichi di lavoro a server singolo PostgreSQL.
  • Tutti i processi di backup pianificati vengono sospesi definitivamente.
  • La creazione di nuovi criteri di backup o la modifica di quelli esistenti per questo carico di lavoro non è possibile.

Alla data di ritiro, i processi di backup pianificati per i database a server singolo PostgreSQL vengono arrestati in modo permanente. Non è possibile creare nuovi punti di ripristino.

Tuttavia, i backup esistenti del database a server singolo PostgreSQL vengono mantenuti in base ai criteri di backup. I punti di ripristino verranno eliminati solo dopo la scadenza del periodo di conservazione. Per conservare i punti di ripristino a tempo indeterminato o per eliminarli prima della scadenza del periodo di conservazione, vedere la console di Centro continuità aziendale di Azure.

Modifiche alla fatturazione

A partire dal 31 marzo 2025, non viene più addebitata la tariffa Istanza protetta per la protezione dei database a server singolo PostgreSQL. Tuttavia, la tariffa per l'archiviazione dei backup si applica ancora. Per evitare la tariffa di archiviazione, eliminare tutti i punti di ripristino dal Centro continuità aziendale di Azure.

Nota

Backup di Azure mantiene l'ultimo punto di ripristino anche dopo la scadenza del periodo di conservazione. Questa funzionalità garantisce l'accesso all'ultimo punto di ripristino per un uso futuro. È possibile eliminare manualmente solo l'ultimo punto di ripristino. Se si vuole eliminare l'ultimo punto di ripristino ed evitare la tariffa di archiviazione, arrestare la protezione del database.

Modifiche apportate al ripristino

È possibile ripristinare i database a server singolo PostgreSQL usando Ripristina come file. È quindi necessario creare manualmente un nuovo server flessibile PostgreSQL dai file ripristinati.

Nota

L'opzione Ripristina come database non è supportata a partire dal 28 marzo 2025, ma ripristina come file è ancora supportata.

Processo di backup

  1. Gli amministratori di backup possono specificare i database PostgreSQL di cui si intende eseguire il backup. È anche possibile specificare i dettagli di Azure Key Vault, che archivia le credenziali necessarie per connettersi ai database specificati. L'amministratore del database esegue il seeding sicuro di queste credenziali in Key Vault.

  2. Il servizio Backup di Azure verifica che disponga delle autorizzazioni appropriate per l'autenticazione con il server di Database di Azure per PostgreSQL specificato e di eseguire il backup dei relativi database.

  3. Backup di Azure avvia un ruolo di lavoro (macchina virtuale) con un'estensione di backup installata per facilitare la comunicazione con il server protetto di Database di Azure per PostgreSQL. Questa estensione è costituita da un coordinatore e da un plug-in PostgreSQL. Il coordinatore attiva i flussi di lavoro per varie operazioni, ad esempio il backup e il ripristino. Il plug-in gestisce il flusso di dati effettivo.

  4. All'ora pianificata, il coordinatore indica al plug-in di avviare lo streaming dei dati di backup dal server di Database di Azure per PostgreSQL usando pg_dump (personalizzato).

  5. Il plug-in invia i dati direttamente agli account di archiviazione gestiti da Azure Backup (mascherati dalla cassetta di Backup di Azure), eliminando la necessità di una posizione temporanea. I dati vengono crittografati tramite chiavi gestite da Microsoft. Il servizio Backup di Azure archivia i dati negli account di archiviazione.

Diagramma che mostra il processo di backup.

Autenticazione di Azure Backup con il server Azure Database per PostgreSQL

Backup di Azure segue rigide linee guida per la sicurezza di Azure. Le autorizzazioni per la risorsa di cui eseguire il backup non sono presupposte. L'utente deve concedere in modo esplicito tali autorizzazioni.

Modello di autenticazione basato su Key Vault

Il servizio Backup di Azure deve connettersi al server di Database di Azure per PostgreSQL durante l'esecuzione di ogni backup. Anche se un nome utente e una password (o una stringa di connessione) che corrispondono al database vengono usati per stabilire questa connessione, queste credenziali non vengono archiviate con Backup di Azure. L'amministratore del database deve invece inizializzare in modo sicuro queste credenziali in Azure Key Vault come segreto.

L'amministratore del carico di lavoro è responsabile della gestione e della rotazione delle credenziali. Backup di Azure richiede le informazioni segrete più recenti dalla key vault per eseguire il backup.

Diagramma che mostra il flusso del carico di lavoro o del database.

Autorizzazioni necessarie per il backup del database PostgreSQL

  1. Concedere le autorizzazioni di accesso seguenti all'identità gestita dell'insieme di credenziali di Backup di Azure:

    • Accesso Lettore nel server di Database di Azure per PostgreSQL.
    • Accesso Utente segreti Key Vault in Key Vault (autorizzazioni Get ed Elenco sui segreti).
  2. Impostare l'accesso line-of-sight alla rete su:

    • Server di Database di Azure per PostgreSQL: impostare Consenti l'accesso ai servizi di Azure su .
    • Key Vault: impostare Consenti servizi Microsoft attendibili su .
  3. Impostare i privilegi di backup dell'utente del database nel database.

Nota

È possibile concedere queste autorizzazioni all'interno del flusso configura backup con un solo clic, se come amministratore del backup hai l'accesso in scrittura sulle risorse previste. Se non si hanno le autorizzazioni necessarie (quando sono coinvolti più utenti), usare un modello di Azure Resource Manager.

Autorizzazioni necessarie per il ripristino del database PostgreSQL

Le autorizzazioni per il ripristino sono simili a quelle necessarie per il backup. È necessario concedere manualmente le autorizzazioni sul server di destinazione Database di Azure per PostgreSQL e nel corrispondente Key Vault. A differenza del flusso configura backup, la possibilità di concedere queste autorizzazioni inline non è attualmente disponibile.

Assicurarsi che l'utente del database (corrispondente alle credenziali archiviate nell'insieme di credenziali delle chiavi) disponga dei privilegi di ripristino seguenti nel database:

  • Assegnare un nome utente ALTER USER di CREATEDB.
  • Assegnare il ruolo azure_pg_admin all'utente del database.

Modello di autenticazione basata su Microsoft Entra ID

Un modello di autenticazione precedente era interamente basato su Microsoft Entra ID. Il modello di autenticazione basato su Key Vault (come illustrato in precedenza) è ora disponibile come opzione alternativa per semplificare il processo di configurazione.

Per ottenere uno script automatizzato e istruzioni correlate per l'uso del modello di autenticazione basato sull'ID di Microsoft Entra, scaricare questo documento. Concede un set appropriato di autorizzazioni a un server di Database di Azure per PostgreSQL per il backup e il ripristino.

Nota

Tutta la protezione appena configurata viene eseguita solo con il nuovo modello di autenticazione di Key Vault. Tuttavia, tutte le istanze di backup esistenti con protezione configurate tramite l'autenticazione basata su ID di Microsoft Entra continueranno a esistere e avranno backup regolari eseguiti. Per ripristinare questi backup, è necessario seguire l'autenticazione basata su ID di Microsoft Entra.

Procedura per concedere manualmente l'accesso sul server Azure Database per PostgreSQL e sul Key Vault

Per concedere tutte le autorizzazioni di accesso necessarie per Backup di Azure, seguire questa procedura.

Autorizzazioni di accesso nel server di Database di Azure per PostgreSQL

  1. Impostare l'accesso Lettore dell'insieme di credenziali di Backup di Azure per l'identità gestita nel server di Database di Azure per PostgreSQL.

    Screenshot che mostra l'opzione per impostare l'accesso Lettore MSI di un insieme di credenziali di Backup di Azure su un server di Database di Azure per PostgreSQL.

  2. Impostare l'accesso per la visibilità di rete nel server Database di Azure per PostgreSQL impostando Consenti l'accesso ai servizi di Azure su .

    Screenshot che mostra l'opzione per impostare l'accesso a linea di vista della rete su un server di Azure Database per PostgreSQL.

Autorizzazioni di accesso al key vault

  1. Impostare l'accesso Utente segreti Key Vault dell'insieme di credenziali di Backup di Azure per l'identità gestita nell'insieme di credenziali delle chiavi (autorizzazioni Get ed Elenco per i segreti). Per assegnare le autorizzazioni, è possibile usare assegnazioni di ruolo o criteri di accesso. Non è necessario aggiungere le autorizzazioni usando entrambe le opzioni, perché non è utile.

  2. Imposta l'accesso alla visibilità della rete nel Key Vault attivando "Consenti ai servizi Microsoft attendibili di ignorare questo firewall?" su "Sì".

    Screenshot che mostra la selezione dell'opzione per consentire ai servizi Microsoft attendibili l'accesso line-of-sight alla rete in insieme di credenziali delle chiavi.

Privilegi di backup dell'utente del database nel database

Eseguire la query seguente nello strumento pgAdmin . Sostituire username con l'ID utente del database.

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 un database per il quale hai già configurato il backup ha esito negativo con UserErrorMissingDBPermissions, fare riferimento a questa guida alla risoluzione dei problemi per assistenza nella risoluzione del problema.

Usare lo strumento pgAdmin

Scaricare lo strumento pgAdmin se non è già disponibile. È possibile connettersi al server di Database di Azure per PostgreSQL tramite questo strumento. È anche possibile aggiungere database e nuovi utenti a questo server.

Screenshot che mostra il processo di connessione a un server di Database di Azure per PostgreSQL usando lo strumento di amministrazione di P G.

Creare un nuovo server con un nome di propria scelta. Immettere il nome host/indirizzo. È lo stesso valore del nome del server visualizzato nella visualizzazione delle risorse di Azure PostgreSQL nel portale di Azure.

Screenshot che mostra le opzioni per la creazione di un nuovo server usando lo strumento di amministrazione di P G.

Screenshot che mostra la visualizzazione delle risorse di Azure PostgreSQL nel portale di Azure, incluso il nome del server.

Assicurati di aggiungere l'indirizzo ID client corrente alle regole del firewall per consentire la connessione.

Screenshot che mostra il collegamento per l'aggiunta dell'indirizzo ID client corrente alle regole del firewall.

È possibile aggiungere nuovi database e utenti di database al server. Per gli utenti del database selezionare Ruolo di accesso/gruppo per aggiungere ruoli. Assicurarsi che Può accedere? sia impostato su .

Screenshot che mostra le selezioni di menu per l'aggiunta di nuovi database e utenti di database a un server.

Screenshot che mostra le selezioni di menu per l'aggiunta di un nuovo ruolo di accesso o gruppo per gli utenti del database.

Screenshot che mostra l'interruttore per consentire l'accesso impostato su Sì.