Dela via


Om säkerhetskopiering med Azure Database for PostgreSQL

Azure Backup och Azure Database Services har gått samman för att skapa en säkerhetskopieringslösning i företagsklass för Azure Database for PostgreSQL-servrar som behåller säkerhetskopior i upp till 10 år. Förutom långsiktig kvarhållning erbjuder lösningen följande funktioner:

  • Kundkontrollerade schemalagda säkerhetskopieringar och säkerhetskopieringar på begäran på enskild databasnivå.
  • Återställning på databasnivå till valfri PostgreSQL-server eller till bloblagring.
  • Central övervakning av alla åtgärder och jobb.
  • Säkerhetskopior som lagras i separata säkerhets- och feldomäner. Om källservern eller prenumerationen komprometteras under några omständigheter förblir säkerhetskopiorna säkra i säkerhetskopieringsvalvet (i hanterade Azure Backup-lagringskonton).
  • Användning av pg_dump ger större flexibilitet vid återställningar. Detta hjälper dig att återställa mellan databasversioner

Du kan använda den här lösningen oberoende av varandra eller utöver den inbyggda säkerhetskopieringslösning som erbjuds av Azure PostgreSQL som erbjuder kvarhållning i upp till 35 dagar. Den inbyggda lösningen passar för driftåterställning, till exempel när du vill återställa från de senaste säkerhetskopiorna. Azure Backup-lösningen hjälper dig med dina efterlevnadsbehov och mer detaljerad och flexibel säkerhetskopiering/återställning.

Kommentar

Azure Database for PostgreSQL – Enskild server är på pensionsvägen och är planerad att tas ur bruk senast den 28 mars 2025.

Om du för närvarande har en Azure Database for PostgreSQL – enskild servertjänst som är värd för produktionsservrar är vi glada att kunna informera dig om att du kan migrera din Azure Database for PostgreSQL – enskild server till Azure Database for PostgreSQL – flexibel server.

Azure Database for PostgreSQL – Flexibel server är en fullständigt hanterad produktionsklar> databastjänst som är utformad för mer detaljerad kontroll och flexibilitet för databashanteringsfunktioner och konfigurationsinställningar med säkerhetskopieringslösningen i företagsklass av Azure Backup. Mer information om Azure Database for PostgreSQL – flexibel server finns i Azure Database for PostgreSQL – flexibel server.

Säkerhetskopieringsprocess

  1. Som säkerhetskopieringsadministratör kan du ange de Azure PostgreSQL-databaser som du tänker säkerhetskopiera. Du kan också ange information om Azure-nyckelvalvet som lagrar de autentiseringsuppgifter som krävs för att ansluta till de angivna databaserna. Dessa autentiseringsuppgifter dirigeras säkert av databasadministratören i Azure-nyckelvalvet.
  2. Säkerhetskopieringstjänsten verifierar sedan om den har rätt behörighet att autentisera med den angivna PostgreSQL-servern och säkerhetskopiera dess databaser.
  3. Azure Backup startar en arbetsroll (VM) med ett säkerhetskopieringstillägg installerat för att kommunicera med den skyddade PostgreSQL-servern. Det här tillägget består av en koordinator och ett PostgreSQL-plugin-program. Koordinatorn utlöser arbetsflöden för olika åtgärder, till exempel säkerhetskopiering och återställning, och plugin-programmet hanterar det faktiska dataflödet.
  4. Vid den schemalagda tidpunkten kommunicerar koordinatorn med plugin-programmet så att den börjar strömma säkerhetskopierade data från PostgreSQL-servern med hjälp av pg_dump (anpassad).
  5. Plugin-programmet skickar data direkt till azure backup-hanterade lagringskonton (maskerade av säkerhetskopieringsvalvet), vilket eliminerar behovet av en mellanlagringsplats. Data krypteras med hjälp av Microsoft-hanterade nycklar och lagras av Azure Backup-tjänsten på lagringskonton.

Diagram som visar säkerhetskopieringsprocessen.

Azure Backup-autentisering med PostgreSQL-servern

Azure Backup följer strikta säkerhetsriktlinjer som fastställts av Azure. behörigheter för resursen som ska säkerhetskopieras förutsätts inte och måste uttryckligen ges av användaren.

Nyckelvalvsbaserad autentiseringsmodell

Azure Backup-tjänsten måste ansluta till Azure PostgreSQL när varje säkerhetskopia utförs. Även om "användarnamn + lösenord" (eller anslutningssträng), som motsvarar databasen, används för att upprätta den här anslutningen lagras inte dessa autentiseringsuppgifter med Azure Backup. I stället måste dessa autentiseringsuppgifter på ett säkert sätt dirigeras av databasadministratören i Azure-nyckelvalvet som en hemlighet. Arbetsbelastningsadministratören ansvarar för att hantera och rotera autentiseringsuppgifter. Azure Backup anropar den senaste hemliga informationen från nyckelvalvet för att ta säkerhetskopian.

Diagram som visar arbetsbelastningen eller databasflödet.

Uppsättning behörigheter som krävs för säkerhetskopiering av Azure PostgreSQL-databaser

  1. Bevilja följande åtkomstbehörigheter till MSI för Backup-valvet:

    • Läsaråtkomst på Azure PostgreSQL-servern.
    • Åtkomst till Key Vault-hemligheter (eller hämta, lista hemligheter) i Azure-nyckelvalvet.
  2. Nätverksåtkomst för siktlinje på:

    • Azure PostgreSQL-servern – Tillåt att åtkomst till Azure-tjänstflaggan anges till Ja.
    • Nyckelvalvet – Tillåt att flaggan för betrodda Microsoft-tjänster anges till Ja.
  3. Databasanvändarens behörigheter för säkerhetskopiering i databasen

Kommentar

Du kan bevilja dessa behörigheter i det konfigurerade säkerhetskopieringsflödet med ett enda klick om du (administratören för säkerhetskopieringen) har skrivbehörighet för de avsedda resurserna eller använder en ARM-mall om du inte har de behörigheter som krävs (när flera personer är inblandade).

Uppsättning behörigheter som krävs för återställning av Azure PostgreSQL-databas

Behörigheter för återställning liknar de som behövs för säkerhetskopiering och du måste bevilja behörigheter på PostgreSQL-målservern och dess motsvarande nyckelvalv. Till skillnad från i konfigurera säkerhetskopieringsflödet är det för närvarande inte tillgängligt att bevilja dessa behörigheter infogat. Därför måste du bevilja åtkomsten manuellt på Postgres-servern och motsvarande nyckelvalv.

Se dessutom till att databasanvändaren (som motsvarar autentiseringsuppgifterna som lagras i nyckelvalvet) har följande återställningsprivilegier i databasen:

  • ALTER USER username CREATEDB;
  • Tilldela rollen azure_pg_admin till databasanvändaren.

Microsoft Entra ID-baserad autentiseringsmodell

Vi hade tidigare lanserat en annan autentiseringsmodell som helt baserades på Microsoft Entra-ID. Men nu tillhandahåller vi den nya nyckelvalvsbaserade autentiseringsmodellen (enligt beskrivningen ovan) som ett alternativ, vilket underlättar konfigurationsprocessen.

Ladda ned det här dokumentet för att hämta ett automatiserat skript och relaterade instruktioner för att använda den här autentiseringsmodellen. Den beviljar en lämplig uppsättning behörigheter till en Azure PostgreSQL-server för säkerhetskopiering och återställning.

Kommentar

Allt nytt konfigurerat skydd sker endast med den nya autentiseringsmodellen för nyckelvalvet. Alla befintliga säkerhetskopieringsinstanser som konfigurerats skydd med Microsoft Entra-ID-baserad autentisering kommer dock att fortsätta att finnas och regelbundna säkerhetskopieringar tas. För att återställa dessa säkerhetskopior måste du följa microsoft entra-ID-baserad autentisering.

Bevilja åtkomst på Azure PostgreSQL-servern och Key Vault manuellt

Om du vill bevilja alla åtkomstbehörigheter som krävs av Azure Backup läser du följande avsnitt:

Åtkomstbehörigheter på Azure PostgreSQL-servern

  1. Ange MSI Reader-åtkomst för Backup-valvet på Azure PostgreSQL-servern.

    Skärmbild som visar alternativet att ange Åtkomst till M S I-läsare för Backup-valvet på Azure PostgreSQL-servern.

  2. Nätverksåtkomst på Azure PostgreSQL-servern: Ange flaggan Tillåt åtkomst till Azure-tjänster till "Ja".

    Skärmbild som visar alternativet att ange åtkomst till nätverkslinje på Azure PostgreSQL-servern.

Åtkomstbehörigheter för Azure Key Vault (associerad med PostgreSQL-servern)

  1. Ange Åtkomst till MSI Key Vault-hemligheter för Backup-valvet (eller hämta, lista hemligheter) i Azure-nyckelvalvet. Om du vill tilldela behörigheter kan du använda rolltilldelningar eller åtkomstprinciper. Det krävs inte att du lägger till behörigheten med båda alternativen eftersom det inte hjälper.

    Skärmbild som visar alternativet för att ge hemlig användaråtkomst.

    Skärmbild som visar alternativet att bevilja säkerhetskopieringsvalvets M S I Key Vault Secrets User-åtkomst i nyckelvalvet.

  2. Åtkomst till nätverkslinje för nyckelvalvet: Ställ in flaggan Tillåt betrodd Microsoft-tjänsterJa.

    Skärmbild som visar hur du ställer in flaggan Tillåt betrodd Microsoft-tjänster till ja för åtkomst till nätverksraden i nyckelvalvet.

Databasanvändarens behörigheter för säkerhetskopiering i databasen

Kör följande fråga i PG-administratörsverktyget (ersätt användarnamnet med databasanvändar-ID:t):

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$

Kommentar

Om en databas som säkerhetskopieringen redan har konfigurerats för misslyckas med UserErrorMissingDBPermissions kan du läsa den här felsökningsguiden för att få hjälp med att lösa problemet.

Använda PG-administratörsverktyget

Ladda ned PG-administratörsverktyget om du inte redan har det. Du kan ansluta till Azure PostgreSQL-servern via det här verktyget. Du kan också lägga till databaser och nya användare på den här servern.

Skärmbild som visar processen för att ansluta till Azure PostgreSQL-servern med hjälp av P G-administratörsverktyget.

Skapa en ny server med ett valfritt namn. Ange värdnamnet/adressnamnet på samma sätt som servernamnet som visas i Azure PostgreSQL-resursvyn i Azure Portal.

Skärmbild som visar alternativet att skapa en ny server med hjälp av P G-administratörsverktyget.

Skärmbild som visar alternativet att ange värdnamnet eller adressnamnet på samma sätt som servernamnet.

Se till att du lägger till den aktuella klient-ID-adressen i brandväggsreglerna för anslutningen.

Skärmbild som visar processen för att lägga till den aktuella klientens ID-adress i brandväggsreglerna.

Du kan lägga till nya databaser och databasanvändare på servern. För databasanvändare lägger du till en ny inloggnings-/grupproller. Se till att Kan logga in? är inställt på Ja.

Skärmbild som visar processen för att lägga till nya databaser och databasanvändare på servern.

Skärmbild som visar processen för att lägga till en ny inloggnings- eller grupproll för databasanvändare.

Skärmbild som visar verifieringen av alternativet kan logga in är inställt på Ja.

Nästa steg

Azure Database for PostgreSQL-säkerhetskopiering