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.

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 showing the backup process.

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 showing the workload or database flow.

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.

    Screenshot showing the option to set Backup vault’s M S I Reader access on the Azure PostgreSQL server.

  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".

    Screenshot showing the option to set network line of sight access on the Azure PostgreSQL server.

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.

    Screenshot showing the option to provide secret user access.

    Screenshot showing the option to grant the backup vault’s M S I Key Vault Secrets User access on the key vault.

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

    Screenshot showing to set the Allow trusted Microsoft services flag to yes for Network line of sight access on the key vault.

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.

Screenshot showing the process to connect to Azure PostgreSQL server using P G admin tool.

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.

Screenshot showing the option to create new server using P G admin tool.

Screenshot showing the option to enter the Host name or address name same as the Server name.

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

Screenshot showing the process to add the current client I D address to the Firewall rules.

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.

Screenshot showing the process to add new databases and database users to the server.

Screenshot showing the process to add a new login or group role for database users.

Screenshot showing the verification of the can login option is set to Yes.

Następne kroki

Kopia zapasowa usługi Azure Database for PostgreSQL