Udostępnij za pośrednictwem


Informacje o kopii zapasowej usługi Azure Database for PostgreSQL

Usługi Azure Backup i Azure Database Services łączą się w celu utworzenia rozwiązania do tworzenia kopii zapasowych klasy korporacyjnej dla serwerów usługi Azure Database for PostgreSQL, które przechowuje kopie zapasowe przez maksymalnie 10 lat. Oprócz długoterminowego przechowywania rozwiązanie oferuje następujące możliwości:

  • Kontrolowane przez klienta zaplanowane i na żądanie kopie zapasowe na poziomie poszczególnych baz danych.
  • Przywracanie na poziomie bazy danych do dowolnego serwera PostgreSQL lub dowolnego magazynu obiektów blob.
  • Centralne monitorowanie wszystkich operacji i zadań.
  • Kopie zapasowe są przechowywane w oddzielnych domenach zabezpieczeń i błędów. Jeśli serwer źródłowy lub subskrypcja zostanie naruszona w jakichkolwiek okolicznościach, kopie zapasowe pozostaną bezpieczne w magazynie usługi Backup (na zarządzanych kontach magazynu usługi Azure Backup).
  • Użycie pg_dump umożliwia większą elastyczność przywracania. Ułatwia to przywracanie między wersjami bazy danych

To rozwiązanie można użyć niezależnie lub oprócz natywnego rozwiązania do tworzenia kopii zapasowych oferowanego przez usługę Azure PostgreSQL , które oferuje okres przechowywania do 35 dni. Rozwiązanie natywne jest odpowiednie dla operacji odzyskiwania, na przykład w przypadku odzyskiwania po najnowszych kopiach zapasowych. Rozwiązanie Azure Backup ułatwia spełnienie wymagań dotyczących zgodności oraz bardziej szczegółowe i elastyczne tworzenie/przywracanie kopii zapasowych.

Uwaga

Azure Database for PostgreSQL — pojedynczy serwer znajduje się na ścieżce wycofania i ma zostać wycofany do 28 marca 2025 r.

Jeśli obecnie masz usługę Azure Database for PostgreSQL — pojedynczy serwer hostujący serwery produkcyjne, cieszymy się, że możesz przeprowadzić migrację usługi Azure Database for PostgreSQL — pojedynczy serwer do usługi Azure Database for PostgreSQL — serwer elastyczny.

Azure Database for PostgreSQL — serwer elastyczny to w pełni zarządzana usługa bazy danych gotowa do> produkcji zaprojektowana pod kątem bardziej szczegółowej kontroli i elastyczności w zakresie funkcji zarządzania bazami danych i ustawień konfiguracji przy użyciu rozwiązania do tworzenia kopii zapasowych klasy korporacyjnej przez usługę Azure Backup. Aby uzyskać więcej informacji na temat usługi Azure Database for PostgreSQL — serwer elastyczny, odwiedź stronę Azure Database for PostgreSQL — serwer elastyczny.

Proces tworzenia kopii zapasowej

  1. Jako administrator kopii zapasowej możesz określić bazy danych usługi Azure PostgreSQL, których kopię zapasową chcesz utworzyć. Ponadto można również określić szczegóły magazynu kluczy platformy Azure, w którym przechowywane są poświadczenia wymagane do nawiązania połączenia z określonymi bazami danych. Te poświadczenia są bezpiecznie rozmieszczane przez administratora bazy danych w magazynie kluczy platformy Azure.
  2. Następnie usługa tworzenia kopii zapasowej sprawdza, czy ma odpowiednie uprawnienia do uwierzytelniania za pomocą określonego serwera PostgreSQL i tworzenia kopii zapasowych baz danych.
  3. Usługa Azure Backup uruchamia rolę procesu roboczego z zainstalowanym w nim rozszerzeniem kopii zapasowej w celu komunikowania się z chronionym serwerem PostgreSQL. To rozszerzenie składa się z koordynatora i wtyczki PostgreSQL. Koordynator wyzwala przepływy pracy dla różnych operacji, takich jak tworzenie kopii zapasowej i przywracanie, a wtyczka zarządza rzeczywistym przepływem danych.
  4. W zaplanowanym czasie koordynator komunikuje się z wtyczką, aby rozpocząć przesyłanie strumieniowe danych kopii zapasowej z serwera PostgreSQL przy użyciu pg_dump (niestandardowej).
  5. Wtyczka wysyła dane bezpośrednio do kont magazynu zarządzanego usługi Azure Backup (zamaskowanego przez magazyn usługi Backup), eliminując potrzebę lokalizacji przejściowej. Dane są szyfrowane przy użyciu kluczy zarządzanych przez firmę Microsoft i przechowywane przez usługę Azure Backup na kontach magazynu.

Diagram przedstawiający proces tworzenia kopii zapasowej.

Uwierzytelnianie usługi Azure Backup za pomocą serwera PostgreSQL

Usługa Azure Backup jest zgodna ze ścisłymi wytycznymi dotyczącymi zabezpieczeń określonymi przez platformę Azure; uprawnienia do zasobu do utworzenia kopii zapasowej nie są zakładane i muszą być jawnie podane przez użytkownika.

Model uwierzytelniania oparty na magazynie kluczy

Usługa Azure Backup musi nawiązać połączenie z usługą Azure PostgreSQL podczas wykonywania każdej kopii zapasowej. Chociaż "nazwa użytkownika i hasło" (lub parametry połączenia), odpowiadające bazie danych, są używane do nawiązywania tego połączenia, te poświadczenia nie są przechowywane w usłudze Azure Backup. Zamiast tego te poświadczenia muszą być bezpiecznie rozmieszczane przez administratora bazy danych w usłudze Azure Key Vault jako wpis tajny. Administrator obciążenia jest odpowiedzialny za zarządzanie poświadczeniami i obracanie ich; Usługa Azure Backup wywołuje najnowsze szczegóły wpisu tajnego z magazynu kluczy w celu utworzenia kopii zapasowej.

Diagram przedstawiający przepływ obciążenia lub bazy danych.

Zestaw uprawnień wymaganych do tworzenia kopii zapasowej bazy danych Azure PostgreSQL

  1. Przyznaj następujące uprawnienia dostępu do tożsamości usługi zarządzanej magazynu kopii zapasowych:

    • Dostęp czytelnika na serwerze usługi Azure PostgreSQL.
    • Dostęp użytkownika wpisów tajnych usługi Key Vault (lub uzyskiwania, wyświetlania listy wpisów tajnych) w magazynie kluczy platformy Azure.
  2. Dostęp do sieci na:

    • Serwer Usługi Azure PostgreSQL — zezwalaj na flagę Zezwalaj na dostęp do usług platformy Azure na wartość Tak.
    • Magazyn kluczy — zezwalaj na ustawienie flagi zaufanej usługi firmy Microsoft na Wartość Tak.
  3. Uprawnienia kopii zapasowej użytkownika bazy danych w bazie danych

Uwaga

Możesz udzielić tych uprawnień w ramach przepływu konfigurowania kopii zapasowej za pomocą jednego kliknięcia, jeśli (administrator kopii zapasowej) ma dostęp do zapisu w zamierzonych zasobach lub użyć szablonu usługi ARM, jeśli nie masz wymaganych uprawnień (jeśli zaangażowanych jest wiele osób).

Zestaw uprawnień wymaganych do przywracania bazy danych Azure PostgreSQL

Uprawnienia do przywracania są podobne do tych potrzebnych do tworzenia kopii zapasowej i musisz udzielić uprawnień na docelowym serwerze PostgreSQL i odpowiadającym mu magazynie kluczy. W przeciwieństwie do konfigurowania przepływu kopii zapasowej środowisko udzielania tych uprawnień w tekście jest obecnie niedostępne. W związku z tym należy ręcznie udzielić dostępu na serwerze Postgres i odpowiednim magazynie kluczy.

Ponadto upewnij się, że użytkownik bazy danych (odpowiadający poświadczeń przechowywanych w magazynie kluczy) ma następujące uprawnienia przywracania w bazie danych:

  • ALTER USER username CREATEDB;
  • Przypisz rolę azure_pg_admin do użytkownika bazy danych.

Model uwierzytelniania oparty na usłudze Microsoft Entra ID

Wcześniej uruchomiliśmy inny model uwierzytelniania, który był całkowicie oparty na identyfikatorze Entra firmy Microsoft. Jednak teraz udostępniamy nowy model uwierzytelniania opartego na magazynie kluczy (jak wyjaśniono powyżej) jako alternatywną opcję, która ułatwia proces konfiguracji.

Pobierz ten dokument , aby uzyskać zautomatyzowany skrypt i powiązane instrukcje dotyczące korzystania z tego modelu uwierzytelniania. Przyzna ona odpowiedni zestaw uprawnień serwerowi Usługi Azure PostgreSQL na potrzeby tworzenia kopii zapasowych i przywracania.

Uwaga

Cała nowa ochrona konfiguracji będzie odbywać się tylko przy użyciu nowego modelu uwierzytelniania magazynu kluczy. Jednak wszystkie istniejące wystąpienia kopii zapasowych skonfigurowane zabezpieczeń z uwierzytelnianiem opartym na identyfikatorze Entra firmy Microsoft będą nadal istnieć i mają wykonywane regularne kopie zapasowe. Aby przywrócić te kopie zapasowe, należy postępować zgodnie z uwierzytelnianiem opartym na identyfikatorze Firmy Microsoft.

Ręczne udzielanie dostępu do serwera usługi Azure PostgreSQL i magazynu kluczy

Aby udzielić wszystkich uprawnień dostępu wymaganych przez usługę Azure Backup, zapoznaj się z następującymi sekcjami:

Uprawnienia dostępu na serwerze usługi Azure PostgreSQL

  1. Ustaw dostęp czytelnika msi magazynu usługi Backup na serwerze Usługi Azure PostgreSQL.

    Zrzut ekranu przedstawiający opcję ustawienia dostępu czytelnika M S I magazynu usługi Backup na serwerze Usługi Azure PostgreSQL.

  2. Dostęp do sieci na serwerze Usługi Azure PostgreSQL: ustaw flagę "Zezwalaj na dostęp do usług platformy Azure" na wartość "Tak".

    Zrzut ekranu przedstawiający opcję ustawiania dostępu do sieci na serwerze usługi Azure PostgreSQL.

Uprawnienia dostępu do usługi Azure Key Vault (skojarzone z serwerem PostgreSQL)

  1. Ustaw dostęp użytkownika wpisów tajnych magazynu kluczy usługi Key Vault usługi Backup (lub uzyskiwanie, wyświetlanie listy wpisów tajnych) w magazynie kluczy platformy Azure. Aby przypisać uprawnienia, możesz użyć przypisań ról lub zasad dostępu. Nie jest wymagane dodanie uprawnienia przy użyciu obu opcji, ponieważ nie pomaga.

    Zrzut ekranu przedstawiający opcję zapewnienia dostępu użytkownika tajnego.

    Zrzut ekranu przedstawiający opcję udzielenia użytkownikowi dostępu użytkownika wpisów tajnych magazynu kluczy M S I magazynu kopii zapasowych w magazynie kluczy.

  2. Dostęp do sieci w magazynie kluczy: ustaw flagę Zezwalaj na zaufane usługi firmy Microsoft na Tak.

    Zrzut ekranu przedstawiający ustawienie flagi Zezwalaj na zaufaną usługi firmy Microsoft na tak dla pozycji Dostęp do linii widoków sieciowych w magazynie kluczy.

Uprawnienia kopii zapasowej użytkownika bazy danych w bazie danych

Uruchom następujące zapytanie w narzędziu administracyjnym pg (zastąp nazwę użytkownika identyfikatorem użytkownika bazy danych):

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$

Uwaga

Jeśli baza danych, dla której kopia zapasowa została już skonfigurowana, kończy się niepowodzeniem z błędem UserErrorMissingDBPermissions , zapoznaj się z tym przewodnikiem rozwiązywania problemów, aby uzyskać pomoc w rozwiązaniu problemu.

Korzystanie z narzędzia administratora pg

Pobierz narzędzie administratora pg, jeśli jeszcze go nie masz. Połączenie z serwerem usługi Azure PostgreSQL można nawiązać za pomocą tego narzędzia. Ponadto można dodawać bazy danych i nowych użytkowników do tego serwera.

Zrzut ekranu przedstawiający proces nawiązywania połączenia z serwerem Usługi Azure PostgreSQL przy użyciu narzędzia administracyjnego P G.

Utwórz nowy serwer z wybraną nazwą. Wprowadź nazwę hosta/nazwę adresu taką samą jak nazwa serwera wyświetlana w widoku zasobów usługi Azure PostgreSQL w witrynie Azure Portal.

Zrzut ekranu przedstawiający opcję tworzenia nowego serwera przy użyciu narzędzia administracyjnego P G.

Zrzut ekranu przedstawiający opcję wprowadzania nazwy hosta lub adresu tak samo jak nazwa serwera.

Upewnij się, że do reguł zapory dla połączenia zostanie dodany bieżący adres ID klienta.

Zrzut ekranu przedstawiający proces dodawania bieżącego adresu ID klienta do reguł zapory.

Do serwera można dodawać nowe bazy danych i użytkowników bazy danych. W przypadku użytkowników bazy danych dodaj nowe role logowania/grupy". Upewnij się, że opcja Czy można się zalogować? jest ustawiona na wartość Tak.

Zrzut ekranu przedstawiający proces dodawania nowych baz danych i użytkowników bazy danych do serwera.

Zrzut ekranu przedstawiający proces dodawania nowej roli logowania lub grupy dla użytkowników bazy danych.

Zrzut ekranu przedstawiający opcję weryfikacji może się zalogować jest ustawiona na Wartość Tak.

Następne kroki

Kopia zapasowa usługi Azure Database for PostgreSQL