Risolvere i problemi relativi al backup del database PostgreSQL usando Backup di Azure

Questo articolo fornisce informazioni sulla risoluzione dei problemi per il backup dei database di Azure PostgreSQL con Backup di Azure.

UserErrorMSIMissingPermissions

Concedere all'identità gestita di Backup Vault l'accesso in lettura nel server PG che si vuole eseguire il backup o il ripristino.

Per stabilire una connessione sicura al database PostgreSQL, Backup di Azure usa il modello di autenticazione identità del servizio gestito. Ciò significa che l'insieme di credenziali di backup avrà accesso solo alle risorse concesse in modo esplicito dall'utente.

Un'identità gestita di sistema viene assegnata automaticamente all'insieme di credenziali al momento della creazione. È necessario concedere a questo insieme di credenziali l'accesso ai server PostgreSQL da cui si intende eseguire il backup dei database.

Passaggi:

  1. Nel server Postgres passare al riquadro Controllo di accesso (IAM).

    riquadro Controllo di accesso

  2. Selezionare Aggiungi assegnazioni di ruolo.

    Screenshot per aggiungere l'assegnazione di ruolo.

  3. Nel riquadro del contesto destro aperto immettere quanto segue:

    • Ruolo: Scegliere il ruolo Lettore nell'elenco a discesa.
    • Assegnare l'accesso a: Scegliere l'opzione Utente, gruppo o entità servizio nell'elenco a discesa.
    • Selezionare: Immettere il nome dell'insieme di credenziali di backup a cui eseguire il backup del server e dei relativi database.

    Screenshot che mostra come selezionare il ruolo.

UserErrorBackupUserAuthFailed

Creare un utente di backup del database che può eseguire l'autenticazione con Azure Active Directory:

Questo errore può derivare da un'assenza di un amministratore di Azure Active Directory per il server PostgreSQL o in assenza di un utente di backup che può eseguire l'autenticazione tramite Azure Active Directory.

Passaggi:

Aggiungere un Amministrazione active Directory al server OSS:

Questo passaggio è necessario per connettersi al database tramite un utente che può eseguire l'autenticazione con Azure Active Directory anziché una password. L'utente di Azure AD Amministrazione in Database di Azure per PostgreSQL avrà il ruolo azure_ad_admin. Solo un ruolo azure_ad_admin può creare nuovi utenti di database che possono eseguire l'autenticazione con Azure AD.

  1. Passare alla scheda Active Directory Amministrazione nel riquadro di spostamento sinistro della visualizzazione server e aggiungere se stessi (o qualcun altro) come amministratore di Active Directory.

    Screenshot che mostra come impostare l'amministratore di Active Directory.

  2. Assicurarsi di salvare l'impostazione dell'utente amministratore di ACTIVE.

    Screenshot che mostra come salvare l'impostazione dell'utente amministratore di Active Directory.

Fare riferimento a questo documento per l'elenco dei passaggi da eseguire per completare la procedura di concessione delle autorizzazioni.

UserErrorMissingNetworkSecurityPermissions

Stabilire la riga di vista di rete abilitando il flag Consenti l'accesso ai servizi di Azure nella visualizzazione server. Nella visualizzazione server, nel riquadro Sicurezza connessione impostare il flag Consenti accesso ai servizi di Azure su .

Nota

Prima di abilitare questo flag, assicurarsi di impostare il flag Nega accesso alla rete pubblica su No.

Screenshot che mostra come consentire l'accesso ai servizi di Azure.

UserErrorContainerNotAccess

Autorizzazione per il ripristino in un contenitore dell'account di archiviazione durante il ripristino come file

  1. Assegnare all'identità gestita dell'insieme di credenziali di backup l'autorizzazione per accedere ai contenitori dell'account di archiviazione usando il portale di Azure.

    1. Passare a Account di archiviazione -Controllo di accesso ->>Aggiungi assegnazione di ruolo.
    2. Assegnare il ruolo Collaboratore dati BLOB di archiviazione all'identità del servizio gestito dell'insieme di credenziali di backup.

    Screenshot che mostra il processo per assegnare il ruolo Collaboratore dati BLOB di archiviazione.

  2. In alternativa, concedere autorizzazioni granulari al contenitore specifico a cui si esegue il ripristino usando il comando az role assignment create dell'interfaccia della riga di comando di Azure.

    az role assignment create --assignee $VaultMSI_AppId  --role "Storage Blob Data Contributor"   --scope $id
    
    1. Sostituire il parametro assegnazione con l'ID applicazione dell'identità del servizio gestito dell'insieme di credenziali e il parametro di ambito per fare riferimento al contenitore specifico.

    2. Per ottenere l'ID applicazione dell'msi dell'insieme di credenziali, selezionare Tutte le applicazioni in Tipo di applicazione:

      Screenshot che mostra come selezionare Tutte le applicazioni.

    3. Cercare il nome dell'insieme di credenziali e copiare l'ID applicazione:

      Screenshot che mostra come cercare il nome dell'insieme di credenziali.

UserErrorDBUserAuthFailed

Il servizio Backup di Azure usa le credenziali indicate nell'insieme di credenziali delle chiavi per accedere al database come utente del database. L'insieme di credenziali delle chiavi pertinente e il segreto vengono forniti durante la configurazione del backup. Assicurarsi che le credenziali archiviate come parte del valore segreto nell'insieme di credenziali delle chiavi siano valide. Assicurarsi che l'utente del database specificato disponga dell'accesso.

UserErrorInvalidSecret

Il servizio Backup di Azure usa le credenziali indicate nell'insieme di credenziali delle chiavi per accedere al database come utente del database. L'insieme di credenziali delle chiavi pertinente e il segreto vengono forniti durante la configurazione del backup. Assicurarsi che il nome segreto specificato sia presente nell'insieme di credenziali delle chiavi.

UserErrorMissingDBPermissions

Il servizio Backup di Azure usa le credenziali indicate nell'insieme di credenziali delle chiavi per accedere al database come utente del database. L'insieme di credenziali delle chiavi pertinente e il segreto vengono forniti durante la configurazione del backup. Concedere autorizzazioni appropriate al backup pertinente o all'utente del database per eseguire questa operazione nel database.

UserErrorSecretValueInUnsupportedFormat

Il servizio Backup di Azure usa le credenziali indicate nell'insieme di credenziali delle chiavi per accedere al database come utente del database. L'insieme di credenziali delle chiavi pertinente e il segreto vengono forniti durante la configurazione del backup. Tuttavia, il valore segreto non è in un formato supportato da Backup di Azure. Controllare il formato supportato come documentato qui.

UserErrorInvalidSecretStore

Il servizio Backup di Azure usa le credenziali indicate nell'insieme di credenziali delle chiavi per accedere al database come utente del database. L'insieme di credenziali delle chiavi pertinente e il segreto vengono forniti durante la configurazione del backup. Assicurarsi che l'insieme di credenziali delle chiavi specificato esista e che il servizio di backup sia concesso l'accesso come documentato qui.

UserErrorMissingPermissionsOnSecretStore

Il servizio Backup di Azure usa le credenziali indicate nell'insieme di credenziali delle chiavi per accedere al database come utente del database. L'insieme di credenziali delle chiavi pertinente e il segreto vengono forniti durante la configurazione del backup. Assicurarsi che l'IDENTITÀ dell'insieme di credenziali di backup sia concessa all'insieme di credenziali delle chiavi come documentato qui.

UserErrorDBNotFound

Assicurarsi che il database e il server pertinente esistano.

UserErrorDatabaseNameAlreadyInUse

Il nome specificato per il database ripristinato esiste già e quindi l'operazione di ripristino non è riuscita. Riprovare l'operazione di ripristino con un nome diverso.

UserErrorServerConnectionClosed

Operazione non riuscita perché il server ha chiuso la connessione in modo imprevisto. Riprovare l'operazione e, se l'errore persiste, contattare supporto tecnico Microsoft.

Passaggi successivi

Informazioni sul backup di Database di Azure per PostgreSQL