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
- 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.
- 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.
- 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.
- 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).
- 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.
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.
Zestaw uprawnień wymaganych do tworzenia kopii zapasowej bazy danych Azure PostgreSQL
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.
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.
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
Ustaw dostęp czytelnika msi magazynu usługi Backup na serwerze Usługi Azure PostgreSQL.
Dostęp do sieci na serwerze Usługi Azure PostgreSQL: ustaw flagę "Zezwalaj na dostęp do usług platformy Azure" na wartość "Tak".
Uprawnienia dostępu do usługi Azure Key Vault (skojarzone z serwerem PostgreSQL)
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.
Użycie autoryzacji kontroli dostępu opartej na rolach (RBAC) platformy Azure (czyli modelu uprawnień jest ustawione na kontrolę dostępu opartą na rolach platformy Azure):
- W obszarze Kontrola dostępu przyznaj użytkownikowi dostęp użytkownika wpisów tajnych usługi Key Vault usługi MSI magazynu kopii zapasowych w magazynie kluczy. Osoby nośne tej roli będą mogły odczytywać wpisy tajne.
- Udzielanie aplikacji uprawnień dostępu do magazynu kluczy platformy Azure przy użyciu kontroli dostępu opartej na rolach platformy Azure.
Przy użyciu zasad dostępu (czyli model uprawnień jest ustawiony na zasady dostępu do magazynu):
- Ustaw pozycję Pobierz i Wyświetl uprawnienia do wpisów tajnych.
- Dowiedz się więcej o przypisywaniu zasad dostępu usługi Azure Key Vault
Dostęp do sieci w magazynie kluczy: ustaw flagę Zezwalaj na zaufane usługi firmy Microsoft na Tak.
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.
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.
Upewnij się, że do reguł zapory dla połączenia zostanie dodany bieżący adres ID klienta.
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.