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.
Poznámka:
Jednoúčelový server Azure Database for PostgreSQL je na cestě vyřazení a plánuje se na vyřazení do 28. března 2025.
Pokud aktuálně máte službu Azure Database for PostgreSQL – Jednoúčelový server hostující produkční servery, rádi vás informujeme, že můžete migrovat jednoúčelový server Azure Database for PostgreSQL na flexibilní server Azure Database for PostgreSQL.
Flexibilní server Azure Database for PostgreSQL je plně spravovaná databázová služba připravená> k produkčnímu prostředí, která je navržená pro podrobnější kontrolu a flexibilitu nad funkcemi správy databází a nastavením konfigurace pomocí řešení zálohování na podnikové úrovni službou Azure Backup. Další informace o flexibilním serveru Azure Database for PostgreSQL najdete na flexibilním serveru Azure Database for PostgreSQL.
Proces zálohování
- 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.
- 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í.
- 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.
- 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í).
- 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ě.
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.
Sada oprávnění potřebná pro zálohování databáze Azure PostgreSQL
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
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.
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
Nastavte přístup čtenáře MSI trezoru služby Backup na serveru Azure PostgreSQL.
Síťový přístup na serveru Azure PostgreSQL: Nastavte příznak Povolit přístup ke službám Azure na Ano.
Přístupová oprávnění ke službě Azure Key Vault (přidružená k serveru PostgreSQL)
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):
- V části Řízení přístupu udělte uživateli tajných kódů trezoru klíčů MSI trezoru služby Backup v trezoru klíčů přístup. Nosníci této role budou moct číst tajné kódy.
- Udělte aplikacím oprávnění pro přístup k trezoru klíčů Azure pomocí Azure RBAC.
Použití zásad přístupu (to znamená, že model oprávnění je nastavený na zásady přístupu trezoru):
- Nastavte oprávnění Získat a Zobrazit u tajných kódů.
- Další informace o přiřazení zásad přístupu ke službě Azure Key Vault
Síťový přístup k trezoru klíčů: Nastavte příznak Povolit důvěryhodné služby Microsoft na Ano.
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.
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.
Ujistěte se, že do pravidel brány firewall pro připojení přidáte aktuální adresu ID klienta.
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.