Dela via


Vad är Azure Database for PostgreSQL-säkerhetskopiering?

Azure Backup- och Azure-databastjänster har samlats 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:

  • Kundstyrda schemalagda och on-demand säkerhetskopior på enskild databasnivå.
  • Återställning på databasnivå till valfri Azure Database for PostgreSQL-server eller till någon typ av bloblagring.
  • Central övervakning av alla åtgärder och jobb.
  • Lagring av säkerhetskopior i separata säkerhets- och feldomäner. Om källservern eller prenumerationen komprometteras förblir säkerhetskopiorna säkra i Azure Backup-valvet (i hanterade Azure Backup-lagringskonton).
  • Användning av pg_dump för större flexibilitet vid återställningar. Du kan återställa mellan databasversioner.

Du kan använda den här lösningen oberoende av varandra eller utöver den interna säkerhetskopieringslösningen i 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 ger en mer detaljerad och flexibel säkerhetskopierings-/återställningsfunktion.

Ändringar i valvsäkerhetskopior för enskilda PostgreSQL-servrar

Distributionsalternativet för en enskild server för Azure Database for PostgreSQL drogs tillbaka den 28 mars 2025. Vid det datumet implementerades ändringar i Azure Backup för PostgreSQL- enskilda servrar. Läs mer om pensioneringen.

Azure Backup tillhandahåller lösningar för efterlevnad och återhämtning, inklusive välvda säkerhetskopior och långsiktig kvarhållning av återställningspunkter. Den 28 mars 2025 trädde följande ändringar i kraft:

  • Säkerhetskopieringskonfigurationen är inte tillåten för nya PostgreSQL-ensamserverarbetsbelastningar.
  • Alla schemalagda säkerhetskopieringsjobb avbryts permanent.
  • Det går inte att skapa nya säkerhetskopieringsprinciper eller ändra befintliga principer för den här arbetsbelastningen.

På slutdatumet stoppades schemalagda säkerhetskopieringsjobb för PostgreSQL-databaser med en server permanent. Du kan inte skapa några nya återställningspunkter.

Dina befintliga PostgreSQL-säkerhetskopior av en serverdatabas behålls dock i enlighet med säkerhetskopieringsprincipen. Återställningspunkterna tas bara bort efter att kvarhållningsperioden har löpt ut. Information om hur du behåller återställningspunkterna på obestämd tid eller om du vill ta bort dem innan kvarhållningsperioden förfaller finns i Azure Business Continuity Center-konsolen.

Ändringar i fakturering

Från och med den 31 mars 2025 debiteras du inte längre pi-avgiften (Protected Instance) för att skydda dina PostgreSQL-databaser med en server. Men avgiften för att lagra dina säkerhetskopior gäller fortfarande. Undvik lagringsavgiften genom att ta bort alla återställningspunkter från Azure Business Continuity Center.

Anteckning

Azure Backup behåller den sista återställningspunkten även efter att kvarhållningsperioden har löpt ut. Den här funktionen säkerställer att du har åtkomst till den senaste återställningspunkten för framtida användning. Du kan bara ta bort den senaste återställningspunkten manuellt. Om du vill ta bort den senaste återställningspunkten och undvika lagringsavgiften stoppar du databasskyddet.

Ändringar i återställning

Du kan återställa PostgreSQL-enkelserversdatabaser genom att använda Återställ som filer. Sedan måste du manuellt skapa en ny flexibel PostgreSQL-server från de återställde filerna.

Anteckning

Alternativet Återställ som databas stöds inte från och med den 28 mars 2025, men återställ som filer stöds fortfarande.

Säkerhetskopieringsprocess

  1. Som säkerhetskopieringsadministratör kan du ange de PostgreSQL-databaser som du tänker säkerhetskopiera. Du kan också ange information om Azure Key Vault, som lagrar de autentiseringsuppgifter som krävs för att ansluta till de angivna databaserna. Databasadministratören använder dessa autentiseringsuppgifter på ett säkert sätt i Key Vault.

  2. Azure Backup-tjänsten verifierar att den har rätt behörighet att autentisera med den angivna Azure Database for PostgreSQL-servern och säkerhetskopiera dess databaser.

  3. Azure Backup startar en arbetsroll (virtuell dator), med ett säkerhetskopieringstillägg installerat i, för att kommunicera med den skyddade Azure Database for 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. Plugin-programmet hanterar det faktiska dataflödet.

  4. Vid den schemalagda tidpunkten instruerar koordinatorn plugin-programmet att börja strömma säkerhetskopierade data från Azure Database for PostgreSQL-servern med hjälp pg_dump av (anpassad).

  5. Plugin-programmet skickar data direkt till azure backup-hanterade lagringskonton (maskerade av Azure Backup-valvet), vilket eliminerar behovet av en mellanlagringsplats. Data krypteras via Microsoft-hanterade nycklar. Azure Backup-tjänsten lagrar data i lagringskonton.

Diagram som visar säkerhetskopieringsprocessen.

Azure Backup-autentisering med Azure Database for PostgreSQL-servern

Azure Backup följer strikta säkerhetsriktlinjer från Azure. Behörigheter för resursen som ska säkerhetskopieras förutsätts inte. Användaren måste uttryckligen ge dessa behörigheter.

Key Vault-baserad autentiseringsmodell

Azure Backup-tjänsten måste ansluta till Azure Database for PostgreSQL-servern när varje säkerhetskopia utförs. Även om ett användarnamn och lösenord (eller en 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 databasadministratören på ett säkert sätt ange dessa autentiseringsuppgifter i Azure Key Vault 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.

Behörigheter som krävs för säkerhetskopiering av PostgreSQL-databas

  1. Bevilja följande åtkomstbehörigheter till Azure Backup-valvets hanterade identitet:

    • Läsaråtkomst på Azure Database for PostgreSQL-servern.
    • Användaråtkomst till nyckelvalvshemligheter i Key Vault (Hämta och Lista behörigheter för hemligheter).
  2. Ange åtkomst till nätverkslinje på:

    • Azure Database for PostgreSQL-server: Ställ in Tillåt åtkomst till Azure-tjänster till Ja.
    • Key Vault: Ställ in Tillåt betrodda Microsoft-tjänster till Ja.
  3. Ange databasanvändarens behörigheter för säkerhetskopiering på databasen.

Anteckning

Du kan bevilja dessa behörigheter i det konfigurerade säkerhetskopieringsflödet med ett enda klick om du som administratör för säkerhetskopiering har skrivåtkomst till de avsedda resurserna. Om du inte har de behörigheter som krävs (när flera personer är inblandade) använder du en Azure Resource Manager-mall.

Behörigheter som krävs för återställning av PostgreSQL-databas

Behörigheter för återställning liknar de som du behöver för säkerhetskopiering. Du måste bevilja behörigheterna manuellt på Azure Database for PostgreSQL-målservern och motsvarande nyckelvalv. Till skillnad från i konfigurera säkerhetskopieringsflödet är möjligheten att bevilja dessa behörigheter direkt för närvarande inte tillgänglig.

Kontrollera att databasanvändaren (som motsvarar autentiseringsuppgifterna som lagras i nyckelvalvet) har följande återställningsbehörigheter för databasen:

  • Tilldela ett ALTER USER användarnamn för CREATEDB.
  • Tilldela rollen azure_pg_admin till databasanvändaren.

Microsoft Entra ID-baserad autentiseringsmodell

En tidigare autentiseringsmodell baserades helt på Microsoft Entra-ID. Den Key Vault-baserade autentiseringsmodellen (som beskrevs tidigare) är nu tillgänglig som ett alternativ för att underlätta konfigurationsprocessen.

Hämta det här dokumentet om du vill hämta ett automatiserat skript och relaterade instruktioner för att använda den Microsoft Entra ID-baserade autentiseringsmodellen. Den ger en lämplig uppsättning behörigheter till en Azure Database for PostgreSQL-server för säkerhetskopiering och återställning.

Anteckning

Allt nyligen konfigurerat skydd sker endast med den nya Key Vault-autentiseringsmodellen. Men alla befintliga säkerhetskopieringsinstanser med skydd som konfigurerats via Microsoft Entra ID-baserad autentisering kommer att fortsätta att finnas och få regelbundna säkerhetskopior tagna. För att återställa dessa säkerhetskopior måste du följa den Microsoft Entra-ID-baserade autentiseringen.

Steg för att manuellt bevilja åtkomst på Azure Database for PostgreSQL-servern och i nyckelvalvet

Om du vill bevilja alla åtkomstbehörigheter som Azure Backup behöver använder du följande steg.

Åtkomstbehörigheter på Azure Database for PostgreSQL-servern

  1. Ange Azure Backup-valvets läsareåtkomst för den hanterade identiteten på Azure Database for PostgreSQL-servern.

    Skärmbild som visar alternativet att ange M S I Reader-åtkomst för ett Azure Backup-valv på en Azure Database for PostgreSQL-server.

  2. Ange åtkomst till nätverket på Azure Database for PostgreSQL-servern genom att ange Tillåt åtkomst till Azure-tjänster till Ja.

    Skärmbild som visar alternativet att ange åtkomst till nätverket på en Azure Database for PostgreSQL-server.

Åtkomstbehörigheter för nyckelvalvet

  1. Ange Åtkomst till Key Vault-hemligheter i Azure Backup-valvet för den hanterade identiteten i nyckelvalvet (Hämta och lista behörigheter för hemligheter). Om du vill tilldela behörigheter kan du använda rolltilldelningar eller åtkomstprinciper. Du behöver inte lägga till behörigheterna med båda alternativen, eftersom det inte hjälper.

  2. Ange åtkomst till nyckelvalvet i nätverket genom att ange Tillåt betrodda Microsoft-tjänster att kringgå den här brandväggen? till Ja.

    Skärmbild som visar hur du väljer alternativet för att tillåta betrodda Microsoft-tjänster för åtkomst till nätverket i ett nyckelvalv.

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

Kör följande fråga i pgAdmin-verktyget . Ersätt username med databasens användar-ID.

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$

Anteckning

Om en databas som du redan har konfigurerat säkerhetskopiering för misslyckas med UserErrorMissingDBPermissionskan du läsa den här felsökningsguiden för att få hjälp med att lösa problemet.

Använd verktyget pgAdmin

Ladda ned pgAdmin-verktyget om du inte redan har det. Du kan ansluta till Azure Database for 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 en Azure Database for PostgreSQL-server med hjälp av administrationsverktyget för P G.

Skapa en ny server med ett valfritt namn. Ange värdnamnet/adressen. Det är samma som värdet servernamn som visas i Azure PostgreSQL-resursvyn i Azure-portalen.

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

Skärmbild som visar Azure PostgreSQL-resursvyn i Azure-portalen, inklusive servernamnet.

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

Skärmbild som visar länken för att lägga till den aktuella klient-ID-adressen i brandväggsregler.

Du kan lägga till nya databaser och databasanvändare på servern. För databasanvändare väljer du Inloggning/Grupproll för att lägga till roller. Kontrollera att Kan logga in? är inställt på Ja.

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

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

Skärmbild som visar växlingsknappen för att tillåta inloggning inställd på Ja.