Udostępnij za pośrednictwem


Rozwiązywanie problemów z tworzeniem kopii zapasowej bazy danych PostgreSQL przy użyciu usługi Azure Backup

Ten artykuł zawiera informacje dotyczące rozwiązywania problemów z tworzeniem kopii zapasowych baz danych Azure PostgreSQL za pomocą usługi Azure Backup.

UserErrorMSIMissingPermissions

Nadaj usłudze Backup Vault dostęp do odczytu msi na serwerze PG, którego kopię zapasową chcesz utworzyć lub przywrócić.

Aby nawiązać bezpieczne połączenie z bazą danych PostgreSQL, usługa Azure Backup używa modelu uwierzytelniania tożsamości usługi zarządzanej (MSI). Oznacza to, że magazyn kopii zapasowych będzie miał dostęp tylko do tych zasobów, które zostały jawnie przyznane przez użytkownika.

Systemowa tożsamość usługi zarządzanej jest automatycznie przypisywana do magazynu podczas tworzenia. Musisz przyznać temu magazynowi msi dostęp do serwerów PostgreSQL, z których zamierzasz utworzyć kopię zapasową baz danych.

Kroki:

  1. Na serwerze Postgres przejdź do okienka Kontrola dostępu (IAM).

    Access Control pane

  2. Wybierz pozycję Dodaj przypisania ról.

    Screenshot to add role assignment.

  3. W wyświetlonym okienku kontekstowym po prawej stronie wprowadź następujące informacje:

    • Rola: wybierz rolę Czytelnik na liście rozwijanej.
    • Przypisz dostęp do: wybierz opcję Użytkownik, grupa lub jednostka usługi na liście rozwijanej.
    • Wybierz: wprowadź nazwę magazynu kopii zapasowej, do którego chcesz utworzyć kopię zapasową tego serwera i jego baz danych.

    Screenshot showing how to select role.

UserErrorBackupUserAuthFailed

Utwórz użytkownika kopii zapasowej bazy danych, który może uwierzytelnić się za pomocą identyfikatora Entra firmy Microsoft:

Ten błąd może pochodzić z braku administratora firmy Microsoft dla serwera PostgreSQL lub w przypadku braku użytkownika kopii zapasowej, który może uwierzytelniać się przy użyciu identyfikatora Entra firmy Microsoft.

Kroki:

Dodaj Administracja usługi Active Directory do serwera systemu operacyjnego:

Ten krok jest wymagany do nawiązania połączenia z bazą danych za pośrednictwem użytkownika, który może uwierzytelnić się za pomocą identyfikatora Entra firmy Microsoft zamiast hasła. Użytkownik microsoft Entra Administracja w usłudze Azure Database for PostgreSQL będzie miał rolę azure_ad_admin. Tylko rola azure_ad_admin może tworzyć nowych użytkowników bazy danych, którzy mogą uwierzytelniać się za pomocą identyfikatora Entra firmy Microsoft.

  1. Przejdź do karty Administracja usługi Active Directory w okienku nawigacji po lewej stronie widoku serwera i dodaj siebie (lub kogoś innego) jako administratora usługi Active Directory.

    Screenshot showing how to set Active Directory admin.

  2. Pamiętaj, aby zapisać ustawienie użytkownika administratora usługi AD.

    Screenshot showing how to save Active Directory admin user setting.

Zapoznaj się z tym dokumentem, aby uzyskać listę kroków, które należy wykonać, aby wykonać kroki udzielania uprawnień.

UserErrorMissingNetworkSecurityPermissions

Ustanów linię widokową sieci, włączając flagę Zezwalaj na dostęp do usług platformy Azure w widoku serwera. W widoku serwera w okienku zabezpieczeń Połączenie ion ustaw flagę Zezwalaj na dostęp do usług platformy Azure na wartość Tak.

Uwaga

Przed włączeniem tej flagi upewnij się, że ustawiono flagę Odmów dostępu do sieci publicznej na nie.

Screenshot showing how to allow access to Azure services.

UserErrorContainerNotAccessible

Uprawnienie do przywracania do kontenera konta magazynu podczas przywracania jako plików

  1. Nadaj tożsamości usługi zarządzanej magazynowi kopii zapasowych uprawnienie dostępu do kontenerów konta magazynu przy użyciu witryny Azure Portal.

    1. Przejdź do pozycji Konto magazynu ->Kontrola dostępu ->Dodaj przypisanie roli.
    2. Przypisz rolę Współautor danych obiektu blob usługi Storage do tożsamości usługi zarządzanej magazynu kopii zapasowych.

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

  2. Alternatywnie nadaj szczegółowe uprawnienia do określonego kontenera, do którego przywracasz, za pomocą polecenia az role assignment create interfejsu wiersza polecenia platformy Azure.

    az role assignment create --assignee $VaultMSI_AppId  --role "Storage Blob Data Contributor"   --scope $id
    
    1. Zastąp parametr assignee identyfikatorem aplikacji tożsamości usługi zarządzanej magazynu i parametrem zakresu, aby odwołać się do określonego kontenera.

    2. Aby uzyskać identyfikator aplikacji magazynu MSI, wybierz pozycję Wszystkie aplikacje w obszarze Typ aplikacji:

      Screenshot showing how to select All Applications.

    3. Wyszukaj nazwę magazynu i skopiuj identyfikator aplikacji:

      Screenshot showing how to search for vault name.

UserErrorDBUserAuthFailed

Usługa Azure Backup używa poświadczeń wymienionych w magazynie kluczy, aby uzyskać dostęp do bazy danych jako użytkownik bazy danych. Odpowiedni magazyn kluczy i wpis tajny są udostępniane podczas konfigurowania kopii zapasowej. Upewnij się, że poświadczenia przechowywane jako część wartości wpisu tajnego w magazynie kluczy są prawidłowe. Upewnij się, że określony użytkownik bazy danych ma dostęp do logowania.

UserErrorInvalidSecret

Usługa Azure Backup używa poświadczeń wymienionych w magazynie kluczy, aby uzyskać dostęp do bazy danych jako użytkownik bazy danych. Odpowiedni magazyn kluczy i wpis tajny są udostępniane podczas konfigurowania kopii zapasowej. Upewnij się, że określona nazwa wpisu tajnego znajduje się w magazynie kluczy.

UserErrorMissingDBPermissions

Usługa Azure Backup używa poświadczeń wymienionych w magazynie kluczy, aby uzyskać dostęp do bazy danych jako użytkownik bazy danych. Odpowiedni magazyn kluczy i wpis tajny są udostępniane podczas konfigurowania kopii zapasowej. Magazyn kluczy skojarzony z tym wystąpieniem kopii zapasowej można znaleźć, przechodząc do wystąpienia kopii zapasowej i wybierając widok JSON. Zobaczysz nazwę magazynu kluczy i szczegóły wpisu tajnego wymienione w sekcji datasourceAuthCredentials , jak pokazano na poniższym zrzucie ekranu.

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

UserErrorSecretValueInUnsupportedFormat

Usługa Azure Backup używa poświadczeń wymienionych w magazynie kluczy, aby uzyskać dostęp do bazy danych jako użytkownik bazy danych. Odpowiedni magazyn kluczy i wpis tajny są udostępniane podczas konfigurowania kopii zapasowej. Jednak wartość wpisu tajnego nie jest w formacie obsługiwanym przez usługę Azure Backup. Sprawdź obsługiwany format zgodnie z dokumentacją tutaj.

UserErrorInvalidSecretStore

Usługa Azure Backup używa poświadczeń wymienionych w magazynie kluczy, aby uzyskać dostęp do bazy danych jako użytkownik bazy danych. Odpowiedni magazyn kluczy i wpis tajny są udostępniane podczas konfigurowania kopii zapasowej. Upewnij się, że dany magazyn kluczy istnieje, a usługa tworzenia kopii zapasowych ma dostęp zgodnie z dokumentacją w tym miejscu.

UserErrorMissingPermissionsOnSecretStore

Usługa Azure Backup używa poświadczeń wymienionych w magazynie kluczy, aby uzyskać dostęp do bazy danych jako użytkownik bazy danych. Odpowiedni magazyn kluczy i wpis tajny są udostępniane podczas konfigurowania kopii zapasowej. Upewnij się, że tożsamość usługi zarządzanej magazynu kopii zapasowych ma dostęp do magazynu kluczy zgodnie z dokumentacją w tym miejscu.

UserErrorDBNotFound

Upewnij się, że baza danych i odpowiedni serwer istnieją.

UserErrorDatabaseNameAlreadyInUse

Nazwa nadana przywróconej bazy danych już istnieje i dlatego operacja przywracania nie powiodła się. Spróbuj ponownie wykonać operację przywracania o innej nazwie.

UserErrorServer Połączenie ionClosed

Operacja nie powiodła się, ponieważ serwer nieoczekiwanie zamknął połączenie. Ponów próbę wykonania operacji i jeśli błąd nadal występuje, skontaktuj się z pomoc techniczna firmy Microsoft.

Następne kroki

Informacje o kopii zapasowej usługi Azure Database for PostgreSQL