Tentang cadangan Azure Database for PostgreSQL

Azure Backup dan Azure Database Services bersama-sama membangun solusi pencadangan kelas enterprise untuk server Azure Database for PostgreSQL yang mempertahankan cadangan hingga 10 tahun. Selain retensi jangka panjang, solusi ini menawarkan kemampuan berikut:

  • Pencadangan terjadwal dan sesuai permintaan yang dikontrol pelanggan di tingkat database individual.
  • Pemulihan tingkat database ke server PostgreSQL mana pun atau ke penyimpanan blob mana pun.
  • Pemantauan pusat dari semua operasi dan pekerjaan.
  • Cadangan disimpan dalam domain keamanan dan kesalahan terpisah. Jika server sumber atau langganan disusupi dalam keadaan apa pun, cadangan tetap aman di Brankas pencadangan (di akun penyimpanan terkelola Azure Backup).
  • Penggunaan pg_dump memungkinkan fleksibilitas yang lebih besar dalam pemulihan. Hal ini membantu Anda melakukan pemulihan di seluruh versi database

Anda dapat menggunakan solusi ini secara mandiri atau sebagai tambahan solusi pencadangan asli yang ditawarkan oleh Azure PostgreSQL yang menawarkan retensi hingga 35 hari. Solusi asal ini cocok untuk pemulihan operasional, seperti ketika Anda ingin melakukan pemulihan dari cadangan terbaru. Solusi Azure Backup tersebut membantu Anda memenuhi kebutuhan kepatuhan dan pencadangan/pemulihan yang lebih terperinci dan fleksibel.

Proses pencadangan

  1. Sebagai admin pencadangan, Anda dapat menentukan database Azure PostgreSQL yang ingin dicadangkan. Selain itu, Anda juga dapat menentukan detail brankas kunci Azure yang menyimpan info masuk yang diperlukan untuk menyambungkan ke database yang ditentukan. Info masuk ini disematkan dengan aman oleh admin database di brankas kunci Azure.
  2. Layanan pencadangan kemudian memvalidasi apakah info masuk memiliki izin yang sesuai untuk mengautentikasi dengan server PostgreSQL yang ditentukan dan untuk mencadangkan databasenya.
  3. Azure Backup menjalankan peran pekerja (VM) dengan ekstensi cadangan yang diinstal di dalamnya untuk berkomunikasi dengan server PostgreSQL yang dilindungi. Ekstensi ini terdiri dari koordinator dan plugin PostgreSQL. Koordinator memicu alur kerja untuk berbagai operasi, seperti pencadangan dan pemulihan, serta plugin yang mengelola aliran data aktual.
  4. Pada waktu yang dijadwalkan, koordinator akan berkomunikasi dengan plugin, untuk memulai streaming data cadangan dari server PostgreSQL menggunakan pg_dump (kustom).
  5. Plugin tersebut mengirimkan data langsung ke akun penyimpanan terkelola Azure Backup (ditutupi oleh brankas Backup), menghilangkan kebutuhan akan lokasi pentahapan. Data dienkripsi menggunakan kunci yang dikelola Microsoft dan disimpan oleh layanan Azure Backup di akun penyimpanan.

Diagram showing the backup process.

Autentikasi Azure Backup dengan server PostgreSQL

Azure Backup mengikuti panduan keamanan ketat yang ditetapkan oleh Azure; izin pada sumber daya yang akan dicadangkan tidak diasumsikan dan perlu diberikan secara eksplisit oleh pengguna.

Model autentikasi berbasis kunci-brankas

Layanan Azure Backup perlu tersambung ke Azure PostgreSQL saat mengambil setiap pencadangan. Sementara ‘nama pengguna + kata sandi’ (atau string koneksi), yang terkait dengan database, digunakan untuk membuat koneksi ini, Info masuk ini tidak disimpan dengan Azure Backup. Sebagai gantinya, info masuk ini harus disematkan dengan aman oleh admin database di Brankas kunci Azure sebagai rahasia. Admin beban kerja bertanggung jawab untuk mengelola dan merotasi info masuk; Azure Backup memanggil detail rahasia terbaru dari brankas kunci untuk mengambil cadangan.

Diagram showing the workload or database flow.

Set izin yang diperlukan untuk pencadangan database Azure PostgreSQL

  1. Berikan izin akses berikut ke brankas Backup MSI:

    • Akses Pembaca di server Azure PostgreSQL.
    • Pengguna Rahasia Key Vault (atau dapatkan, daftar rahasia) akses di brankas kunci Azure.
  2. Akses garis pandang jaringan pada:

    • Server Azure PostgreSQL – Bendera izinkan akses ke layanan Azure diatur ke Ya.
    • Brankas kunci – Bendera izinkan layanan Microsoft tepercaya diatur ke Ya.
  3. Hak istimewa pencadangan pengguna database di database

Catatan

Anda dapat memberikan izin ini dalam alur konfigurasikan pencadangan dengan satu klik jika Anda (admin pencadangan) memiliki akses ‘tulis’ pada sumber daya yang dimaksud, atau menggunakan templat ARM jika Anda tidak memiliki izin yang dibutuhkan (ketika beberapa persona terlibat).

Set Izin yang diperlukan untuk pemulihan database Azure PostgreSQL

Izin untuk pemulihan serupa dengan yang diperlukan untuk pencadangan dan Anda perlu memberikan izin pada server PostgreSQL target serta brankas kuncinya yang sesuai. Tidak seperti dalam alur konfigurasikan cadangan, pengalaman untuk memberikan izin ini secara sebaris saat ini tidak tersedia. Oleh karena itu, Anda perlu memberikan akses secara manual di server Postgres dan brankas kuncinya yang sesuai.

Selain itu, pastikan bahwa pengguna database (sesuai dengan info masuk yang disimpan di brankas kunci) memiliki hak istimewa pemulihan berikut di database:

  • ALTER USER nama pengguna CREATEDB;
  • Tetapkan peran azure_pg_admin ke pengguna database.

Microsoft Entra ID berdasarkan model otentikasi

Kami sebelumnya telah meluncurkan model autentikasi berbeda yang sepenuhnya didasarkan pada ID Microsoft Entra. Namun, kami sekarang menyediakan model autentikasi berbasis brankas kunci baru (seperti yang dijelaskan di atas) sebagai opsi alternatif, yang memudahkan proses konfigurasi.

Unduh dokumen ini guna mendapatkan skrip otomatis dan petunjuk terkait untuk menggunakan model autentikasi ini. Hal ini akan memberikan serangkaian izin yang sesuai ke server Azure PostgreSQL, untuk pencadangan dan pemulihan.

Catatan

Semua perlindungan konfigurasi baru akan dilakukan hanya dengan model autentikasi brankas kunci yang baru. Namun, semua perlindungan yang dikonfigurasi instans cadangan yang ada dengan autentikasi berbasis ID Microsoft Entra akan terus ada dan memiliki cadangan reguler yang diambil. Untuk memulihkan cadangan ini, Anda perlu mengikuti autentikasi berbasis ID Microsoft Entra.

Berikan akses di server Azure PostgreSQL dan Brankas kunci secara manual

Untuk memberikan semua izin akses yang diperlukan oleh Azure Backup, lihat bagian berikut:

Izin akses di server Azure PostgreSQL

  1. Atur akses Pembaca MSI brankas Backup di server Azure PostgreSQL.

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

  2. Akses garis pandang jaringan di server Azure PostgreSQL: Atur bendera ‘Izinkan akses ke layanan Azure’ ke ‘Ya’.

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

Izin akses di Azure Key Vault (terkait dengan server PostgreSQL)

  1. Atur akses Pengguna Rahasia Key Vault MSI brankas Backup (atau dapatkan, daftar rahasia) di brankas kunci Azure. Untuk menetapkan izin, Anda dapat menggunakan penetapan peran atau kebijakan akses. Tidak perlu menambahkan izin menggunakan kedua opsi tersebut karena hal tersebut tidak membantu.

    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. Akses garis pandang jaringan di brankas kunci: Atur bendera Izinkan layanan Microsoft tepercaya ke Ya.

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

Hak istimewa pencadangan pengguna database di database

Jalankan kueri berikut di alat admin PG (ganti nama pengguna dengan ID pengguna database):

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$

)

Catatan

Jika database yang pencadangannya sudah dikonfigurasi gagal dengan UserErrorMissingDBPermissions Silakan lihat panduan pemecahan masalah ini untuk bantuan dalam menyelesaikan masalah.

Gunakan alat admin PG

Unduh alat admin PG jika Anda belum memilikinya. Anda dapat tersambung ke server Azure PostgreSQL melalui alat ini. Anda juga dapat menambahkan database dan pengguna baru ke server ini.

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

Buat server baru dengan nama pilihan Anda. Masukkan nama Host/nama alamat yang sama dengan Nama server yang ditampilkan di tampilan sumber daya Azure PostgreSQL di portal Microsoft Azure.

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.

Pastikan Anda menambahkan alamat ID klien saat ini ke aturan Firewall agar koneksi dapat berjalan.

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

Anda dapat menambahkan database baru dan pengguna database ke server. Untuk pengguna database, tambahkan Peran Masuk/Grup’ baru. Pastikan Dapat masuk? diatur ke Ya.

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.

Langkah berikutnya

Cadangan Azure Database for PostgreSQL