Solución de problemas de la copia de seguridad de base de datos de PostgreSQL con Azure Backup

En este artículo, se proporciona información para la solución de problemas de copia de seguridad de bases de datos de Azure Database for PostgreSQL con Azure Backup.

UserErrorMSIMissingPermissions

Proporcione al valor MSI del almacén de Backup acceso de tipo Lectura en el servidor de PostgreSQL en el que quiera realizar copias de seguridad o restaurar.

Para establecer una conexión segura a la base de datos de PostgreSQL, Azure Backup usa el modelo de autenticación de Managed Service Identity (MSI). Esto significa que el almacén de copia de seguridad solo tendrá acceso a los recursos a los que el usuario haya concedido explícitamente el permiso.

En el momento de la creación del almacén, se le asigna automáticamente un valor MSI del sistema. Debe proporcionar a este valor MSI del almacén acceso a los servidores de PostgreSQL de cuyas bases de datos quiere realizar copias de seguridad.

Pasos:

  1. En el servidor de Postgres, vaya al panel Control de acceso (IAM) .

    Access Control pane

  2. Seleccione Agregar asignación de roles.

    Screenshot to add role assignment.

  3. En el panel de contexto derecho que se abre, escriba lo siguiente:

    • Rol: elija el rol Lector en la lista desplegable.
    • Asignar acceso a: elija la opción Usuario, grupo o entidad de servicio en la lista desplegable.
    • Seleccionar: escriba el nombre del almacén de Backup en el que desea realizar la copia de seguridad de este servidor y sus bases de datos.

    Screenshot showing how to select role.

UserErrorBackupUserAuthFailed

Cree un usuario de copia de seguridad de base de datos que pueda autenticarse con Microsoft Entra ID:

Este error puede deberse a la ausencia de un administrador de Microsoft Entra para el servidor PostgreSQL o a la ausencia de un usuario de copia de seguridad que pueda autenticarse mediante Microsoft Entra ID.

Pasos:

Agregue un administrador de Active Directory al servidor OSS:

Este paso es necesario para conectarse a la base de datos con un usuario que pueda autenticarse mediante Microsoft Entra ID en lugar de usar una contraseña. El usuario administrador de Microsoft Entra en Azure Database for PostgreSQL tendrá el rol azure_ad_admin. Solo un rol azure_ad_admin puede crear nuevos usuarios de base de datos que se puedan autenticar con Microsoft Entra ID.

  1. Vaya a la pestaña Administrador de Active Directory en el panel de navegación izquierdo de la vista de servidor y agréguese (o agregue a otra persona) como administrador de Active Directory.

    Screenshot showing how to set Active Directory admin.

  2. Asegúrese de guardar la configuración de usuario administrador de AD.

    Screenshot showing how to save Active Directory admin user setting.

Consulte este documento para ver la lista de pasos que debe realizar para completar la concesión de permisos.

UserErrorMissingNetworkSecurityPermissions

Habilite la marca Permitir el acceso a servicios de Azure para establecer la línea de visión de la red. En la vista de servidor, en el panel Seguridad de la conexión, establezca la marca Permitir el acceso a servicios de Azure en .

Nota:

Antes de habilitar esta marca, asegúrese de establecer la marca Denegar acceso a la red pública en No.

Screenshot showing how to allow access to Azure services.

UserErrorContainerNotAccessible

Permiso para restaurar en un contenedor de la cuenta de almacenamiento al restaurar como archivos

  1. Conceda al valor MSI del almacén de Backup permiso para acceder a los contenedores de la cuenta de almacenamiento mediante Azure Portal.

    1. Vaya a Cuenta de almacenamiento ->Control de acceso ->Agregar asignación de roles.
    2. Asigne el rol Colaborador de datos de Storage Blob al valor MSI del almacén de Backup.

    Screenshot showing the process to assign Storage Blob Data Contributor role.

  2. También puede conceder permisos pormenorizados al contenedor específico en el que va a realizar la restauración mediante el comando az role assignment create de la CLI de Azure.

    az role assignment create --assignee $VaultMSI_AppId  --role "Storage Blob Data Contributor"   --scope $id
    
    1. Reemplace el parámetro assignee por el valor de Id. de aplicación de la identidad MSI del almacén y modifique el parámetro scope para que haga referencia al contenedor específico.

    2. Para obtener el valor de Id. de aplicación de la identidad MSI del almacén, seleccione Todas las aplicaciones en Tipo de aplicación:

      Screenshot showing how to select All Applications.

    3. Busque el nombre del almacén y copie el identificador de la aplicación:

      Screenshot showing how to search for vault name.

UserErrorDBUserAuthFailed

El servicio Azure Backup usa las credenciales mencionadas en el almacén de claves para acceder a la base de datos como usuario de base de datos. El almacén de claves pertinente y el secreto se proporcionan durante la configuración de la copia de seguridad. Asegúrese de que las credenciales almacenadas como parte del valor del secreto en el almacén de claves son válidas. Asegúrese de que el usuario de base de datos especificado tiene acceso de inicio de sesión.

UserErrorInvalidSecret

El servicio Azure Backup usa las credenciales mencionadas en el almacén de claves para acceder a la base de datos como usuario de base de datos. El almacén de claves pertinente y el secreto se proporcionan durante la configuración de la copia de seguridad. Asegúrese de que el nombre de secreto especificado esté presente en el almacén de claves.

UserErrorMissingDBPermissions

El servicio Azure Backup usa las credenciales mencionadas en el almacén de claves para acceder a la base de datos como usuario de base de datos. El almacén de claves pertinente y el secreto se proporcionan durante la configuración de la copia de seguridad. Para encontrar el almacén de claves asociado a esta instancia de copia de seguridad, acceda a la instancia de copia de seguridad y seleccione la vista JSON. Verá los detalles del nombre y el secreto del almacén de claves que aparecen en la sección datasourceAuthCredentials, como se muestra en la captura de pantalla siguiente.

Screenshot showing how to search for key vault by using secret name.

UserErrorSecretValueInUnsupportedFormat

El servicio Azure Backup usa las credenciales mencionadas en el almacén de claves para acceder a la base de datos como usuario de base de datos. El almacén de claves pertinente y el secreto se proporcionan durante la configuración de la copia de seguridad. Sin embargo, el valor del secreto no está en un formato compatible con Azure Backup. Compruebe el formato admitido como se documenta aquí.

UserErrorInvalidSecretStore

El servicio Azure Backup usa las credenciales mencionadas en el almacén de claves para acceder a la base de datos como usuario de base de datos. El almacén de claves pertinente y el secreto se proporcionan durante la configuración de la copia de seguridad. Asegúrese de que existe el almacén de claves especificado y que el servicio de copia de seguridad tiene acceso como se documenta aquí.

UserErrorMissingPermissionsOnSecretStore

El servicio Azure Backup usa las credenciales mencionadas en el almacén de claves para acceder a la base de datos como usuario de base de datos. El almacén de claves pertinente y el secreto se proporcionan durante la configuración de la copia de seguridad. Asegúrese de que la MSI del almacén de copia de seguridad tenga acceso al almacén de claves como se documenta aquí.

UserErrorDBNotFound

Asegúrese de que la base de datos y el servidor pertinente existen.

UserErrorDatabaseNameAlreadyInUse

El nombre especificado para la base de datos restaurada ya existe y, por tanto, se produjo un error en la operación de restauración. Vuelva a intentar la operación de restauración con un nombre diferente.

UserErrorServerConnectionClosed

Error en la operación porque el servidor cerró la conexión inesperadamente. Vuelva a intentar la operación y, si el error persiste, póngase en contacto con el soporte técnico de Microsoft.

Pasos siguientes

Acerca de la copia de seguridad de Azure Database for PostgreSQL