Устранение неполадок резервного копирования базы данных PostgreSQL с помощью Azure Backup
В этой статье содержатся сведения об устранении неполадок при резервном копировании баз данных PostgreSQL в Azure с помощью Azure Backup.
UserErrorMSIMissingPermissions
Предоставьте MSI хранилища Azure Backup доступ на чтение на сервере PG, для которого требуется выполнить резервное копирование или восстановление.
Чтобы установить безопасное подключение к базе данных PostgreSQL, служба Azure Backup использует модель проверки подлинности Управляемое удостоверение службы (MSI). Это означает, что хранилище резервных копий будет иметь доступ только к тем ресурсам, к которым пользователь явно предоставил разрешение.
MSI системы автоматически назначается хранилищу во время его создания. Необходимо предоставить этому MSI для хранилища доступ к серверам PostgreSQL, с которых будет выполняться резервное копирование баз данных.
Пошаговые инструкции
На сервере Postgres перейдите на панель Контроль доступа (IAM).
Выберите команду Добавить назначение ролей.
В открывшейся правой контекстной области контекста введите значения, описанные ниже.
- Роль: выберите роль Читатель из раскрывающегося списка.
- Назначение доступа: из раскрывающегося списка выберите параметр User, group, or service principal (Пользователь, группа или субъект-служба).
- Выбрать: введите имя хранилища резервных копий, в которое надо поместить резервную копию этого сервера и его баз данных.
- Роль: выберите роль Читатель из раскрывающегося списка.
UserErrorBackupUserAuthFailed
Создайте пользователя резервного копирования базы данных, который может пройти проверку подлинности с помощью идентификатора Microsoft Entra:
Эта ошибка может возникнуть из-за отсутствия администратора Microsoft Entra для сервера PostgreSQL или отсутствия пользователя резервного копирования, который может пройти проверку подлинности с помощью идентификатора Microsoft Entra.
Пошаговые инструкции
Добавление администратора Active Directory на сервер OSS
Этот шаг необходим для подключения к базе данных с помощью пользователя, который может пройти проверку подлинности с помощью идентификатора Microsoft Entra, а не пароля. Пользователь Microsoft Entra Администратор в База данных Azure для PostgreSQL будет иметь роль azure_ad_admin. Только роль azure_ad_admin может создавать новых пользователей базы данных, которые могут проходить проверку подлинности с помощью идентификатора Microsoft Entra.
Перейдите на вкладку "Администратор Active Directory" в левой части области навигации в представлении сервера и добавьте себя (или другого пользователя) в качестве администратора Active Directory.
Обязательно сохраните параметры административного пользователя AD.
В этом документе приведен перечень действий, которые необходимо выполнить для предоставления разрешений.
UserErrorMissingNetworkSecurityPermissions
Установите сетевую линию путем активации флага Разрешить доступ к службам Azure в представлении сервера. В представлении сервера в разделе Безопасность подключения для параметра Разрешить доступ к службам Azure установите значение Да.
Примечание.
Прежде чем включить этот флаг, переведите флаг Запрет доступа к общедоступной сети в положение Нет.
UserErrorContainerNotAccessible
Разрешение на восстановление в контейнере учетной записи хранения при восстановлении в форме файлов
Предоставьте MSI хранилища Azure Backup разрешение на доступ к контейнерам учетной записи хранения с помощью портала Azure.
- Перейдите в Учетную запись хранения ->Служба контроля доступа Microsoft Azure ->Добавить назначение ролей.
- Назначение роли Участник хранилища BLOB-объектов для MSI хранилища резервных копий.
В ином случае предоставьте более детализированные разрешения для конкретного восстанавливаемого контейнера с помощью команды Azure CLI az role assignment create.
az role assignment create --assignee $VaultMSI_AppId --role "Storage Blob Data Contributor" --scope $id
Замените параметр уполномоченного идентификатором приложения MSI хранилища и параметром области, так чтобы он ссылался на конкретный контейнер.
Чтобы получить идентификатор приложения MSI хранилища, выберите параметр Все приложения в разделе Тип приложения.
Найдите имя хранилища и скопируйте идентификатор приложения.
UserErrorDBUserAuthFailed
Служба Azure Backup использует учетные данные, упомянутые в хранилище ключей, для доступа к базе данных в качестве пользователя базы данных. Соответствующее хранилище ключей и секрет предоставляются во время настройки резервного копирования. Убедитесь, что учетные данные, хранящиеся в составе значения секрета в хранилище ключей, допустимы. Убедитесь, что указанный пользователь базы данных имеет доступ для входа.
UserErrorInvalidSecret
Служба Azure Backup использует учетные данные, упомянутые в хранилище ключей, для доступа к базе данных в качестве пользователя базы данных. Соответствующее хранилище ключей и секрет предоставляются во время настройки резервного копирования. Убедитесь, что в хранилище ключей присутствует указанное имя секрета.
UserErrorMissingDBPermissions
Служба Azure Backup использует учетные данные, упомянутые в хранилище ключей, для доступа к базе данных в качестве пользователя базы данных. Соответствующее хранилище ключей и секрет предоставляются во время настройки резервного копирования. Хранилище ключей, связанное с этим экземпляром резервного копирования, можно найти, доступ к экземпляру резервного копирования и выбору представления JSON. Вы увидите имя и секрет хранилища ключей, перечисленные в разделе datasourceAuthCredentials , как показано на снимке экрана ниже.
UserErrorSecretValueInUnsupportedFormat
Служба Azure Backup использует учетные данные, упомянутые в хранилище ключей, для доступа к базе данных в качестве пользователя базы данных. Соответствующее хранилище ключей и секрет предоставляются во время настройки резервного копирования. Однако значение секрета приведено в формате, не поддерживаемом службой Azure Backup. Проверьте поддерживаемый формат, как описано здесь.
UserErrorInvalidSecretStore
Служба Azure Backup использует учетные данные, упомянутые в хранилище ключей, для доступа к базе данных в качестве пользователя базы данных. Соответствующее хранилище ключей и секрет предоставляются во время настройки резервного копирования. Убедитесь, что указанное хранилище ключей существует, а службе резервного копирования предоставлен доступ в описанном здесь порядке.
UserErrorMissingPermissionsOnSecretStore
Служба Azure Backup использует учетные данные, упомянутые в хранилище ключей, для доступа к базе данных в качестве пользователя базы данных. Соответствующее хранилище ключей и секрет предоставляются во время настройки резервного копирования. Убедитесь, что MSI хранилища резервных копий получает доступ к хранилищу ключей, как описано здесь.
UserErrorDBNotFound
Убедитесь, что база данных и соответствующий сервер существуют.
UserErrorDatabaseNameAlreadyInUse
Имя, заданное для восстановленной базы данных, уже существует, и, следовательно, операция восстановления завершается сбоем. Повторите операцию восстановления с другим именем.
UserErrorServerConnectionClosed
Операция завершилась сбоем, так как сервер неожиданно закрыл подключение. Повторите операцию, и если ошибка по-прежнему возникает, обратитесь в службу поддержки Майкрософт.