Condividi tramite


Informazioni sul backup di Database di Azure per PostgreSQL

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

  • I backup pianificati e su richiesta vengono controllati dal cliente a livello di singolo database.
  • Il ripristino a livello di database viene ripristinato in qualsiasi server PostgreSQL o in qualsiasi archivio BLOB.
  • Monitoraggio centralizzato di tutte le operazioni e di tutti i processi.
  • I backup sono archiviati in un domini di sicurezza e di errore separati. Se il server di origine o la sottoscrizione vengono compromessi in qualsiasi circostanza, i backup rimangono al sicuro nell'insieme di credenziali di backup (in Backup di Azure account di archiviazione gestiti).
  • L'uso di pg_dump consente una maggiore flessibilità nei ripristini. In questo modo è possibile eseguire il ripristino tra le versioni del database

È possibile usare questa soluzione in modo indipendente o oltre alla soluzione di backup nativa offerta da Azure PostgreSQL che offre conservazione fino a 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 di eseguire backup/ripristino più granulari e flessibili.

Nota

Database di Azure per PostgreSQL - Server singolo è in fase di ritiro, previsto entro il 28 marzo 2025.

Se attualmente si dispone di un database di Azure per PostgreSQL - Servizio Server singolo che ospita server di produzione, è possibile comunicare che è possibile eseguire la migrazione del database di Azure per PostgreSQL - Server singolo al Server flessibile di Database di Azure per PostgreSQL.

Database di Azure per PostgreSQL - Il server flessibile è un servizio di database completamente pronto per> la produzione progettato per un controllo e una flessibilità più granulari rispetto alle funzioni di gestione del database e alle impostazioni di configurazione con la soluzione di backup di livello aziendale di Backup di Azure. Per altre informazioni su Database di Azure per PostgreSQL - Server flessibile, vedere Database di Azure per PostgreSQL - Server flessibile.

Processo di backup

  1. Gli amministratori di backup possono specificare i database PostgreSQL di Azure di cui si intende eseguire il backup. È anche possibile specificare i dettagli dell'insieme di credenziali delle chiavi di Azure che archivia le credenziali necessarie per connettersi ai database specificati. Queste credenziali vengono sottoposto a seeding sicuro dall'amministratore del database nell'insieme di credenziali delle chiavi di Azure.
  2. Il servizio di backup convalida quindi se dispone delle autorizzazioni appropriate per l'autenticazione con il server PostgreSQL specificato e per eseguire il backup dei relativi database.
  3. Backup di Azure attiva un ruolo di lavoro (VM) con un'estensione di backup installata per comunicare con il server PostgreSQL protetto. Questa estensione è costituita da un coordinatore e da un plug-in PostgreSQL. Il coordinatore attiva i flussi di lavoro per varie operazioni, ad esempio backup e ripristino, e il plug-in gestisce il flusso di dati effettivo.
  4. All'ora pianificata, il coordinatore comunica con il plug-in per avviare lo streaming dei dati di backup dal server PostgreSQL usando pg_dump (personalizzato).
  5. Il plug-in invia i dati direttamente ai Backup di Azure account di archiviazione gestiti (mascherati dall'insieme di credenziali di Backup), eliminando la necessità di un percorso di gestione temporanea. I dati vengono crittografati usando chiavi gestite da Microsoft e archiviate dal servizio Backup di Azure negli account di archiviazione.

Diagramma che mostra il processo di backup.

Backup di Azure l'autenticazione con il server PostgreSQL

Backup di Azure segue rigide linee guida di sicurezza definite da Azure. Le autorizzazioni per la risorsa di cui eseguire il backup non vengono considerate e devono essere fornite in modo esplicito dall'utente.

Modello per l'autenticazione basata sull'insieme di credenziali delle chiavi

Il servizio Backup di Azure deve connettersi ad Azure PostgreSQL durante l'esecuzione di ogni backup. Mentre "nome utente e password" (o stringa di connessione), corrispondente al database, vengono usate per stabilire questa connessione, queste credenziali non vengono archiviate con Backup di Azure. Queste credenziali devono invece essere sottoposto a seeding sicuro dall'amministratore del database nell'insieme di credenziali delle chiavi di Azure come segreto. L'amministratore del carico di lavoro è responsabile della gestione e della rotazione delle credenziali; Backup di Azure richiede i dettagli del segreto più recenti dall'insieme di credenziali delle chiavi per eseguire il backup.

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

Set di autorizzazioni necessarie per il backup del database PostgreSQL di Azure

  1. Concedere le autorizzazioni di accesso seguenti all'identità del servizio gestito dell'insieme di credenziali di Backup:

    • Accesso con autorizzazioni di lettura nel server PostgreSQL di Azure.
    • Accesso dell'utente o dell'elenco dei segreti di Key Vault nell'insieme di credenziali delle chiavi di Azure.
  2. Accesso alla linea di rete su:

    • Il server PostgreSQL di Azure: consente l'accesso al flag dei servizi di Azure da impostare su .
    • Insieme di credenziali delle chiavi: consente l'impostazione del flag di servizi Microsoft attendibile su .
  3. Privilegi di backup dell'utente del database nel database

Nota

È possibile concedere queste autorizzazioni all'interno del flusso di backup configurando un solo clic se l'amministratore del backup ha accesso in scrittura alle risorse desiderate oppure usare un modello di Resource Manager se non si dispone delle autorizzazioni necessarie (quando sono coinvolti più utenti).

Set di autorizzazioni necessarie per il ripristino del database PostgreSQL di Azure

Le autorizzazioni per il ripristino sono simili a quelle necessarie per il backup ed è necessario concedere le autorizzazioni per il server PostgreSQL di destinazione e il relativo insieme di credenziali delle chiavi corrispondente. A differenza di configurare il flusso di backup, l'esperienza per concedere queste autorizzazioni inline non è attualmente disponibile. È quindi necessario concedere manualmente l'accesso nel server Postgres e nell'insieme di credenziali delle chiavi corrispondente.

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

  • ALTER USER username CREATEDB;
  • Assegnare il ruolo azure_pg_admin all'utente del database.

Modello di autenticazione basato su Microsoft Entra ID

In precedenza era stato lanciato un modello di autenticazione diverso basato interamente su Microsoft Entra ID. Tuttavia, viene ora fornito il nuovo modello di autenticazione basato sull'insieme di credenziali delle chiavi (come illustrato in precedenza) come opzione alternativa, che semplifica il processo di configurazione.

Scaricare questo documento per ottenere uno script automatizzato e le istruzioni correlate per usare questo modello di autenticazione. Concederà un set appropriato di autorizzazioni a un server PostgreSQL di Azure per il backup e il ripristino.

Nota

Tutte le nuove configurazioni di protezione verranno eseguite solo con il nuovo modello di autenticazione dell'insieme di credenziali delle chiavi. Tuttavia, tutte le istanze di backup esistenti configurate con l'autenticazione basata sull'ID di Microsoft Entra continueranno a esistere e avranno backup regolari eseguiti. Per ripristinare questi backup, è necessario seguire l'autenticazione basata sull'ID di Microsoft Entra.

Concedere manualmente l'accesso al server PostgreSQL di Azure e all'insieme di credenziali delle chiavi

Per concedere tutte le autorizzazioni di accesso necessarie per Backup di Azure, vedere le sezioni seguenti:

Autorizzazioni di accesso nel server PostgreSQL di Azure

  1. Impostare l'accesso con autorizzazioni di lettura MSI dell'insieme di credenziali di Backup nel server PostgreSQL di Azure.

    Screenshot che mostra l'opzione per impostare l'accesso con autorizzazioni di lettura I M S dell'insieme di credenziali di Backup nel server PostgreSQL di Azure.

  2. Accesso alla rete line-of-sight nel server PostgreSQL di Azure: impostare il flag "Consenti l'accesso ai servizi di Azure" su "Sì".

    Screenshot che mostra l'opzione per impostare l'accesso alla linea di rete nel server PostgreSQL di Azure.

Autorizzazioni di accesso nell'insieme di credenziali delle chiavi di Azure (associato al server PostgreSQL)

  1. Impostare l'accesso all'utente dei segreti dell'insieme di credenziali delle chiavi MSI dell'insieme di credenziali delle chiavi dell'insieme di credenziali delle chiavi (o ottenere, elencare i segreti) dell'insieme di credenziali delle chiavi di Backup nell'insieme di credenziali delle chiavi di Azure. Per assegnare le autorizzazioni, è possibile usare assegnazioni di ruolo o criteri di accesso. Non è necessario aggiungere l'autorizzazione usando entrambe le opzioni perché non è utile.

    Screenshot che mostra l'opzione per fornire l'accesso utente segreto.

    Screenshot che mostra l'opzione per concedere l'accesso utente ai segreti dell'insieme di credenziali delle chiavi MS dell'insieme di credenziali delle chiavi nell'insieme di credenziali delle chiavi.

    • L'uso dei criteri di accesso( ovvero, il modello di autorizzazione è impostato su Criteri di accesso dell'insieme di credenziali):

      Screenshot che mostra l'opzione per concedere l'autorizzazione usando il modello di autorizzazione è impostata sul modello di criteri di accesso dell'insieme di credenziali.

  2. Accesso alla riga di rete nell'insieme di credenziali delle chiavi: impostare il flag Consenti servizi Microsoft attendibile su .

    Screenshot che mostra per impostare il flag Consenti servizi Microsoft attendibile su Sì per l'accesso alla riga di visualizzazione della rete nell'insieme di credenziali delle chiavi.

Privilegi di backup dell'utente del database nel database

Eseguire la query seguente nello strumento di amministrazione PG (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 è già stato configurato il backup ha esito negativo con UserErrorMissingDBPermissions , vedere questa guida alla risoluzione dei problemi per assistenza per la risoluzione del problema.

Usare lo strumento di amministrazione PG

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

Screenshot che mostra il processo di connessione al server PostgreSQL di Azure tramite lo strumento di amministrazione di P G.

Creare un nuovo server con un nome di propria scelta. Immettere il nome host/indirizzo uguale al nome del server visualizzato nella visualizzazione delle risorse di Azure PostgreSQL nella portale di Azure.

Screenshot che mostra l'opzione per creare un nuovo server usando lo strumento di amministrazione di P G.

Screenshot che mostra l'opzione per immettere il nome host o il nome dell'indirizzo uguale al nome del server.

Assicurarsi di aggiungere l'indirizzo ID client corrente alle regole del firewall per la connessione da eseguire.

Screenshot che mostra il processo per aggiungere l'indirizzo ID client corrente alle regole del firewall.

È possibile aggiungere nuovi database e utenti di database al server. Per gli utenti del database, aggiungere un nuovo account di accesso/ruoli di gruppo'. Assicurarsi che l'account di accesso sia impostato su .

Screenshot che mostra il processo per aggiungere nuovi database e utenti di database al server.

Screenshot che mostra il processo di aggiunta di un nuovo ruolo di accesso o gruppo per gli utenti del database.

Screenshot che mostra la verifica dell'opzione can login è impostata su Sì.

Passaggi successivi

Database di Azure per PostgreSQL backup