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.

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

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

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.

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

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

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

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

    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. Åtkomst till nätverkslinje för nyckelvalvet: Ställ in flaggan Tillåt betrodd Microsoft-tjänsterJa.

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

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.

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

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

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.

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

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

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.

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.

Nästa steg

Azure Database for PostgreSQL-säkerhetskopiering