Delen via


Over back-up van Azure Database for PostgreSQL

Azure Backup en Azure Database Services zijn samengekomen om een zakelijke back-upoplossing te bouwen voor Azure Database for PostgreSQL-servers die back-ups tot 10 jaar bewaren. Naast langetermijnretentie biedt de oplossing de volgende mogelijkheden:

  • Door de klant beheerde geplande en on-demand back-ups op het niveau van de afzonderlijke database.
  • Databaseniveau herstelt naar elke PostgreSQL-server of naar een blobopslag.
  • Centrale controle van alle bewerkingen en taken.
  • Back-ups die zijn opgeslagen in een afzonderlijk beveiligings- en foutdomeinen. Als de bronserver of het abonnement in elke situatie wordt aangetast, blijven de back-ups veilig in de Backup-kluis (in door Azure Backup beheerde opslagaccounts).
  • Het gebruik van pg_dump biedt meer flexibiliteit bij herstelbewerkingen. Dit helpt u bij het herstellen van verschillende databaseversies

U kunt deze oplossing onafhankelijk of naast de systeemeigen back-upoplossing van Azure PostgreSQL gebruiken die retentie tot 35 dagen biedt. De systeemeigen oplossing is geschikt voor operationele herstelbewerkingen, zoals wanneer u wilt herstellen van de meest recente back-ups. De Azure Backup-oplossing helpt u bij uw nalevingsbehoeften en meer gedetailleerde en flexibele back-up/herstel.

Notitie

Azure Database for PostgreSQL - Enkele server bevindt zich op het buitengebruikstellingspad en is gepland voor buitengebruikstelling op 28 maart 2025.

Als u momenteel een Azure Database for PostgreSQL - Single Server-service hebt die als host fungeert voor productieservers, informeren we u graag dat u uw Azure Database for PostgreSQL - Enkele server kunt migreren naar de Azure Database for PostgreSQL - Flexible Server.

Azure Database for PostgreSQL - Flexible Server is een volledig beheerde databaseservice die gereed is voor productie, ontworpen voor gedetailleerdere controle en flexibiliteit ten opzichte van databasebeheerfuncties en configuratie-instellingen met de back-upoplossing> op bedrijfsniveau van Azure Backup. Ga naar Azure Database for PostgreSQL - Flexible Server voor meer informatie over Azure Database for PostgreSQL - Flexible Server.

Back-upproces

  1. Als back-upbeheerder kunt u de Azure PostgreSQL-databases opgeven waarvoor u een back-up wilt maken. Daarnaast kunt u ook de details opgeven van de Azure-sleutelkluis waarin de referenties worden opgeslagen die nodig zijn om verbinding te maken met de opgegeven database(s). Deze referenties worden veilig geseed door de databasebeheerder in de Azure-sleutelkluis.
  2. De back-upservice valideert vervolgens of deze de juiste machtigingen heeft om te verifiëren met de opgegeven PostgreSQL-server en een back-up van de databases te maken.
  3. Azure Backup draait een werkrol (VM) met daarin een back-upextensie geïnstalleerd om te communiceren met de beveiligde PostgreSQL-server. Deze extensie bestaat uit een coördinator en een PostgreSQL-invoegtoepassing. De coördinator activeert werkstromen voor verschillende bewerkingen, zoals back-up en herstel, en de invoegtoepassing beheert de werkelijke gegevensstroom.
  4. Op het geplande tijdstip communiceert de coördinator met de invoegtoepassing, zodat de back-upgegevens vanaf de PostgreSQL-server kunnen worden gestreamd met behulp van pg_dump (aangepast).
  5. De invoegtoepassing verzendt de gegevens rechtstreeks naar de door Azure Backup beheerde opslagaccounts (gemaskeerd door de Backup-kluis), waardoor er geen faseringslocatie meer nodig is. De gegevens worden versleuteld met door Microsoft beheerde sleutels en opgeslagen door de Azure Backup-service in opslagaccounts.

Diagram van het back-upproces.

Azure Backup-verificatie met de PostgreSQL-server

Azure Backup volgt strikte beveiligingsrichtlijnen die door Azure zijn vastgelegd; Machtigingen voor de resource waarvan een back-up moet worden gemaakt, worden niet verondersteld en moeten expliciet door de gebruiker worden gegeven.

Verificatiemodel op basis van Key Vault

De Azure Backup-service moet verbinding maken met de Azure PostgreSQL tijdens het maken van elke back-up. Hoewel gebruikersnaam en wachtwoord (of verbindingsreeks), die overeenkomen met de database, worden gebruikt om deze verbinding te maken, worden deze referenties niet opgeslagen met Azure Backup. In plaats daarvan moeten deze referenties veilig worden geseed door de databasebeheerder in de Azure-sleutelkluis als geheim. De workloadbeheerder is verantwoordelijk voor het beheren en rouleren van referenties; Azure Backup roept de meest recente geheime gegevens van de sleutelkluis aan om de back-up te maken.

Diagram met de werkbelasting of databasestroom.

Set machtigingen die nodig zijn voor back-up van Azure PostgreSQL-database

  1. Vernieuw de volgende toegangsmachtigingen voor de MSI van de Backup-kluis:

    • Lezertoegang op de Azure PostgreSQL-server.
    • Key Vault Secrets User (or get, list secrets) access on the Azure Key Vault.
  2. Netwerklijn voor gezichtstoegang op:

    • De Azure PostgreSQL-server: hiermee staat u toe dat de vlag toegang tot Azure-services is ingesteld op Ja.
    • De sleutelkluis: hiermee staat u toe dat vertrouwde Microsoft-services vlag is ingesteld op Ja.
  3. De back-upbevoegdheden van de databasegebruiker voor de database

Notitie

U kunt deze machtigingen in de back-upstroom met één klik verlenen als u (de back-upbeheerder) schrijftoegang hebt voor de beoogde resources of een ARM-sjabloon gebruikt als u niet over de vereiste machtigingen beschikt (wanneer meerdere persona's betrokken zijn).

Set machtigingen die nodig zijn voor het herstellen van een Azure PostgreSQL-database

Machtigingen voor herstel zijn vergelijkbaar met de machtigingen die nodig zijn voor back-up en u moet de machtigingen verlenen op de PostgreSQL-doelserver en de bijbehorende sleutelkluis. In tegenstelling tot bij het configureren van de back-upstroom is de ervaring om deze machtigingen inline te verlenen momenteel niet beschikbaar. Daarom moet u de toegang handmatig verlenen op de Postgres-server en de bijbehorende sleutelkluis.

Zorg er bovendien voor dat de databasegebruiker (die overeenkomt met de referenties die zijn opgeslagen in de sleutelkluis) de volgende herstelbevoegdheden voor de database heeft:

  • ALTER USER username CREATEDB;
  • Wijs de rol azure_pg_admin toe aan de databasegebruiker.

Verificatiemodel op basis van Microsoft Entra ID

We hadden eerder een ander verificatiemodel gelanceerd dat volledig was gebaseerd op Microsoft Entra-id. We bieden nu echter het nieuwe verificatiemodel op basis van een sleutelkluis (zoals hierboven uitgelegd) als een alternatieve optie, waardoor het configuratieproces wordt versoepeld.

Download dit document om een geautomatiseerd script en gerelateerde instructies op te halen voor het gebruik van dit verificatiemodel. Er wordt een juiste set machtigingen verleend aan een Azure PostgreSQL-server voor back-up en herstel.

Notitie

Alle nieuwe configuratiebeveiliging vindt alleen plaats met het nieuwe sleutelkluisverificatiemodel. Alle bestaande back-upexemplaren die zijn geconfigureerd voor beveiliging met de op Microsoft Entra ID gebaseerde verificatie, blijven echter bestaan en hebben regelmatig back-ups gemaakt. Als u deze back-ups wilt herstellen, moet u de verificatie op basis van de Microsoft Entra-id volgen.

Handmatig toegang verlenen op de Azure PostgreSQL-server en Key vault

Raadpleeg de volgende secties om alle toegangsmachtigingen te verlenen die nodig zijn voor Azure Backup:

Toegangsmachtigingen op de Azure PostgreSQL-server

  1. Stel de MSI Reader-toegang van de Backup-kluis in op de Azure PostgreSQL-server.

    Schermopname van de optie voor het instellen van toegang tot M S I Reader van de Backup-kluis op de Azure PostgreSQL-server.

  2. Netwerklijn voor gezichtstoegang op de Azure PostgreSQL-server: stel de vlag Toegang tot Azure-services toestaan in op Ja.

    Schermopname van de optie voor het instellen van netwerklijn voor gezichtstoegang op de Azure PostgreSQL-server.

Toegangsmachtigingen voor de Azure Key Vault (gekoppeld aan de PostgreSQL-server)

  1. Stel de MSI Key Vault-geheimengebruiker van de Back-upkluis in (of haal geheimen op, geef geheimen weer) in de Azure-sleutelkluis. Als u machtigingen wilt toewijzen, kunt u roltoewijzingen of toegangsbeleid gebruiken. Het is niet vereist om de machtiging toe te voegen met behulp van beide opties, omdat dit niet helpt.

    Schermopname van de optie voor het opgeven van geheime gebruikerstoegang.

    Schermopname van de optie om de M S I Key Vault-gebruiker toegang te verlenen tot de sleutelkluis van de back-upkluis.

  2. Netwerklijn voor gezichtstoegang in de sleutelkluis: stel de vlag Vertrouwde Microsoft-services toestaan in op Ja.

    Schermopname van het instellen van de vlag Vertrouwde Microsoft-services toestaan op Ja voor toegang tot netwerktoegang in de sleutelkluis.

De back-upbevoegdheden van de databasegebruiker voor de database

Voer de volgende query uit in het PG-beheerprogramma (vervang de gebruikersnaam door de gebruikers-id van de database):

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$

Notitie

Als een database waarvoor de back-up al is geconfigureerd, mislukt met UserErrorMissingDBPermissions , raadpleegt u deze gids voor probleemoplossing voor hulp bij het oplossen van het probleem.

Het PG-beheerprogramma gebruiken

Download het PG-beheerprogramma als u dit nog niet hebt. U kunt via dit hulpprogramma verbinding maken met de Azure PostgreSQL-server. U kunt ook databases en nieuwe gebruikers toevoegen aan deze server.

Schermopname van het proces om verbinding te maken met de Azure PostgreSQL-server met behulp van het P G-beheerprogramma.

Maak een nieuwe server met de naam van uw keuze. Voer de hostnaam/adresnaam in die gelijk is aan de servernaam die wordt weergegeven in de azure PostgreSQL-resourceweergave in Azure Portal.

Schermopname van de optie voor het maken van een nieuwe server met behulp van het P G-beheerprogramma.

Schermopname van de optie voor het invoeren van de hostnaam of adresnaam hetzelfde als de servernaam.

Zorg ervoor dat u het huidige client-id-adres toevoegt aan de firewallregels om de verbinding te doorlopen.

Schermopname van het proces voor het toevoegen van het huidige client-id-adres aan de firewallregels.

U kunt nieuwe databases en databasegebruikers toevoegen aan de server. Voeg voor databasegebruikers een nieuwe aanmeldings-/groepsrollen toe. Controleer of aanmelden mogelijk is ingesteld op Ja.

Schermopname van het proces voor het toevoegen van nieuwe databases en databasegebruikers aan de server.

Schermopname van het proces voor het toevoegen van een nieuwe aanmeldings- of groepsrol voor databasegebruikers.

Schermopname van de verificatie van de optie kan aanmelden is ingesteld op Ja.

Volgende stappen

Back-up van Azure Database for PostgreSQL