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.

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.

Diagram showing the backup process.

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.

Diagram showing the workload or database flow.

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 U edizione Standard R 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 showing the option to set Backup vault’s M S I Reader access on the Azure PostgreSQL server.

  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 showing the option to set network line of sight access on the Azure PostgreSQL server.

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 showing the option to provide secret user access.

    Screenshot showing the option to grant the backup vault’s M S I Key Vault Secrets User access on the key vault.

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

      Screenshot showing the option to grant permission using Permission model is set to Vault access policy model.

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

    Screenshot showing to set the Allow trusted Microsoft services flag to yes for Network line of sight access on the key vault.

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 showing the process to connect to Azure PostgreSQL server using P G admin tool.

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 showing the option to create new server using P G admin tool.

Screenshot showing the option to enter the Host name or address name same as the Server name.

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

Screenshot showing the process to add the current client I D address to the Firewall rules.

È 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 showing the process to add new databases and database users to the server.

Screenshot showing the process to add a new login or group role for database users.

Screenshot showing the verification of the can login option is set to Yes.

Passaggi successivi

Database di Azure per PostgreSQL backup