Informace o zálohování služby Azure Database for PostgreSQL

Azure Backup a Azure Database Services společně vytvářejí řešení zálohování na podnikové úrovni pro servery Azure Database for PostgreSQL, které uchovávají zálohy po dobu až 10 let. Kromě dlouhodobého uchovávání nabízí řešení následující možnosti:

  • Plánované zálohování a zálohování na vyžádání řízené zákazníkem na úrovni jednotlivých databází.
  • Obnovení na úrovni databáze na jakémkoli serveru PostgreSQL nebo do libovolného úložiště objektů blob.
  • Centrální monitorování všech operací a úloh.
  • Zálohy se ukládají v samostatné doméně zabezpečení a selhání. Pokud dojde k ohrožení zdrojového serveru nebo předplatného za jakýchkoli okolností, zálohy zůstanou v trezoru služby Backup v bezpečí (v účtech úložiště spravovaném službou Azure Backup).
  • Použití pg_dump umožňuje větší flexibilitu při obnovování. To vám pomůže obnovit napříč verzemi databáze.

Toto řešení můžete použít nezávisle nebo kromě nativního řešení zálohování, které nabízí Azure PostgreSQL , které nabízí uchovávání až 35 dnů. Nativní řešení je vhodné pro provozní obnovení, jako je například obnovení z nejnovějších záloh. Řešení Azure Backup vám pomůže s vašimi potřebami dodržování předpisů a podrobnějším a flexibilnějším zálohováním a obnovením.

Proces zálohování

  1. Jako správce zálohování můžete zadat databáze Azure PostgreSQL, které chcete zálohovat. Kromě toho můžete také zadat podrobnosti trezoru klíčů Azure, který ukládá přihlašovací údaje potřebné pro připojení k určeným databázím. Tyto přihlašovací údaje bezpečně zasadí správce databáze v trezoru klíčů Azure.
  2. Služba zálohování pak ověří, jestli má příslušná oprávnění k ověření pomocí zadaného serveru PostgreSQL a k zálohování svých databází.
  3. Azure Backup roztáčí roli pracovního procesu s nainstalovaným rozšířením zálohování, které komunikuje s chráněným serverem PostgreSQL. Toto rozšíření se skládá z koordinátoru a modulu plug-in PostgreSQL. Koordinátor spouští pracovní postupy pro různé operace, jako je zálohování a obnovení, a modul plug-in spravuje skutečný tok dat.
  4. V naplánovaném čase koordinátor komunikuje s modulem plug-in, aby začal streamovat zálohovaná data ze serveru PostgreSQL pomocí pg_dump (vlastní).
  5. Modul plug-in odesílá data přímo do účtů spravovaného úložiště Azure Backup (maskované trezorem služby Backup), čímž eliminuje potřebu přípravného umístění. Data se šifrují pomocí klíčů spravovaných Microsoftem a ukládají se službou Azure Backup v účtech úložiště.

Diagram showing the backup process.

Ověřování Azure Backup pomocí serveru PostgreSQL

Azure Backup se řídí přísnými pokyny zabezpečení stanovenými v Azure; oprávnění k zálohování prostředku se nepředpokládá a uživatel je musí explicitně udělit.

Model ověřování na základě trezoru klíčů

Při každém zálohování se služba Azure Backup musí připojit k Azure PostgreSQL. I když se k tomuto připojení používá uživatelské jméno a heslo (nebo připojovací řetězec), které odpovídá databázi, nejsou tyto přihlašovací údaje uložené ve službě Azure Backup. Místo toho je potřeba tyto přihlašovací údaje bezpečně zabezpečit správcem databáze v trezoru klíčů Azure jako tajný klíč. Správce úloh zodpovídá za správu a obměna přihlašovacích údajů; Azure Backup volá nejnovější podrobnosti o tajných klíčích z trezoru klíčů k vytvoření zálohy.

Diagram showing the workload or database flow.

Sada oprávnění potřebná pro zálohování databáze Azure PostgreSQL

  1. Udělte msi trezoru služby Backup následující přístupová oprávnění:

    • Přístup čtenáře na serveru Azure PostgreSQL.
    • Uživatel tajných kódů služby Key Vault (nebo získání, výpis tajných kódů) v trezoru klíčů Azure
  2. Síťová čára přístupu k pohledu:

    • Server Azure PostgreSQL – Povolení přístupu k příznaku služeb Azure na hodnotu Ano.
    • Trezor klíčů – Povolí nastavení příznaku důvěryhodného služby Microsoft na Ano.
  3. Oprávnění k zálohování uživatele databáze v databázi

Poznámka:

Tato oprávnění můžete udělit v rámci nakonfigurovaného toku zálohování jediným kliknutím, pokud máte (správce zálohování) přístup k zápisu pro požadované prostředky, nebo použijte šablonu ARM, pokud nemáte požadovaná oprávnění (pokud se účastní více osob).

Sada oprávnění potřebná k obnovení databáze Azure PostgreSQL

Oprávnění k obnovení jsou podobná oprávněním potřebným pro zálohování a potřebujete udělit oprávnění k cílovému serveru PostgreSQL a příslušnému trezoru klíčů. Na rozdíl od konfigurace toku zálohování není prostředí pro udělení těchto oprávnění v současné době dostupné. Proto potřebujete ručně udělit přístup na serveru Postgres a odpovídajícím trezoru klíčů.

Kromě toho se ujistěte, že má uživatel databáze (odpovídající přihlašovacím údajům uloženým v trezoru klíčů) následující oprávnění k obnovení databáze:

  • ALTER USER username CREATEDB;
  • Přiřaďte uživateli databáze azure_pg_admin role.

Model ověřování založený na Microsoft Entra ID

Dříve jsme spustili jiný model ověřování, který byl zcela založený na ID Microsoft Entra. Nyní ale jako alternativní možnost poskytujeme nový model ověřování založený na trezoru klíčů (jak je vysvětleno výše). Tím se proces konfigurace zjednoduší.

Stáhněte si tento dokument a získejte automatizovaný skript a související pokyny pro použití tohoto modelu ověřování. Pro zálohování a obnovení udělí serveru Azure PostgreSQL odpovídající sadu oprávnění.

Poznámka:

Všechna nová konfigurace ochrany se provede pouze s novým modelem ověřování trezoru klíčů. Všechny existující instance zálohování nakonfigurované s ověřováním založeném na ID Microsoftu však budou i nadále existovat a budou se provádět pravidelné zálohy. Pokud chcete tyto zálohy obnovit, musíte postupovat podle ověřování na základě ID Microsoft Entra.

Ruční udělení přístupu k serveru Azure PostgreSQL a trezoru klíčů

Pokud chcete udělit všechna přístupová oprávnění potřebná službou Azure Backup, projděte si následující části:

Přístupová oprávnění na serveru Azure PostgreSQL

  1. Nastavte přístup čtenáře MSI trezoru služby Backup na serveru Azure PostgreSQL.

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

  2. Síťový přístup na serveru Azure PostgreSQL: Nastavte příznak Povolit přístup ke službám Azure na Ano.

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

Přístupová oprávnění ke službě Azure Key Vault (přidružená k serveru PostgreSQL)

  1. Nastavte v trezoru klíčů Azure přístup k tajným kódům služby Msi Key Vault uživatelem (nebo získejte tajné kódy) trezoru služby Backup. K přiřazení oprávnění můžete použít přiřazení rolí nebo zásady přístupu. Oprávnění není nutné přidávat pomocí obou možností, protože to nepomůže.

    • Použití autorizace řízení přístupu na základě role v Azure (Azure RBAC) (to znamená, že model oprávnění je nastavený na řízení přístupu na základě role v Azure):

    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. Síťový přístup k trezoru klíčů: Nastavte příznak Povolit důvěryhodné služby Microsoft na Ano.

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

Oprávnění k zálohování uživatele databáze v databázi

V nástroji pro správu PG spusťte následující dotaz (nahraďte uživatelské jméno ID uživatele databáze):

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$

)

Poznámka:

Pokud u databáze, pro kterou už bylo nakonfigurované zálohování, dochází k selhání userErrorMissingDBPermissions, projděte si tohoto průvodce odstraňováním potíží a požádejte o pomoc s řešením tohoto problému.

Použití nástroje pro správu PG

Pokud nástroj pro správu pg ještě nemáte, stáhněte si ho. Pomocí tohoto nástroje se můžete připojit k serveru Azure PostgreSQL. Na tento server můžete také přidat databáze a nové uživatele.

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

Vytvořte nový server s názvem podle vašeho výběru. Zadejte název hostitele nebo adresu, který je stejný jako název serveru zobrazený v zobrazení prostředků Azure PostgreSQL na webu Azure Portal.

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.

Ujistěte se, že do pravidel brány firewall pro připojení přidáte aktuální adresu ID klienta.

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

Na server můžete přidat nové databáze a uživatele databáze. Pro uživatele databáze přidejte nové role přihlášení nebo skupiny. Ujistěte se , že je možnost Přihlášení nastavená na Ano.

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.

Další kroky

Zálohování Azure Database for PostgreSQL