Memahami peran rds_superuser - Amazon Aurora

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Memahami peran rds_superuser

Dalam PostgreSQL, peran dapat menentukan pengguna, grup, atau sekumpulan izin tertentu yang diberikan kepada grup atau pengguna untuk berbagai objek dalam basis data. Perintah PostgreSQL untuk CREATE USER dan CREATE GROUP telah digantikan oleh CREATE ROLE yang lebih umum dengan properti khusus untuk membedakan pengguna basis data. Pengguna basis data dapat dianggap sebagai peran dengan hak akses LOGIN.

catatan

Perintah CREATE USER dan CREATE GROUP masih dapat digunakan. Untuk informasi selengkapnya, lihat Database Roles dalam dokumentasi PostgreSQL.

Pengguna postgres adalah pengguna basis data dengan hak akses tertinggi di klaster DB Aurora PostgreSQL . Pengguna tersebut memiliki karakteristik yang ditentukan oleh pernyataan CREATE ROLE berikut.

CREATE ROLE postgres WITH LOGIN NOSUPERUSER INHERIT CREATEDB CREATEROLE NOREPLICATION VALID UNTIL 'infinity'

PropertiNOSUPERUSER, NOREPLICATION, INHERIT, dan VALID UNTIL 'infinity' merupakan opsi default untuk CREATE ROLE, kecuali ditentukan lain.

Secara default, postgres memiliki hak akses yang diberikan kepada peran rds_superuser, serta izin untuk membuat peran dan basis data. Peran rds_superuser mengizinkan pengguna postgres untuk melakukan tindakan berikut:

  • Menambahkan ekstensi yang tersedia untuk digunakan dengan Aurora PostgreSQL. Untuk informasi selengkapnya, lihat Menangani ekstensi dan pembungkus data asing.

  • Buat peran dan berikan hak akses kepada pengguna. Untuk informasi selengkapnya, lihat CREATE ROLE dan GRANT dalam dokumentasi PostgreSQL.

  • Membuat basis data. Untuk informasi selengkapnya, lihat CREATE DATABASE dalam dokumentasi PostgreSQL.

  • Berikan hak akses rds_superuser untuk peran pengguna yang tidak memiliki hak akses ini, dan cabut hak akses sesuai kebutuhan. Sebaiknya berikan peran ini hanya untuk pengguna yang menjalankan tugas superuser. Dengan kata lain, Anda dapat memberikan peran ini kepada administrator database (DBAs) atau administrator sistem.

  • Berikan (dan cabut) peran rds_replication kepada pengguna basis data yang tidak memiliki peran rds_superuser.

  • Berikan (dan cabut) peran rds_password kepada pengguna basis data yang tidak memiliki peran rds_superuser.

  • Dapatkan informasi status tentang semua koneksi basis data dengan menggunakan tampilan pg_stat_activity. Bila diperlukan, rds_superuser dapat menghentikan semua koneksi menggunakan pg_terminate_backend atau pg_cancel_backend.

Dalam pernyataan CREATE ROLE postgres..., Anda dapat melihat bahwa peran pengguna postgres secara khusus melarang izin superuser PostgreSQL. Aurora PostgreSQL adalah layanan terkelola, jadi Anda tidak dapat mengakses OS host, dan terhubung menggunakan akun superuser PostgreSQL. Banyak tugas yang memerlukan akses superuser pada PostgreSQL mandiri dikelola secara otomatis oleh Aurora.

Untuk informasi selengkapnya tentang pemberian hak akses, lihat GRANT dalam dokumentasi PostgreSQL.

Peran rds_superuser adalah satu dari beberapa peran yang telah ditentukan dalam klaster DB Aurora PostgreSQL.

catatan

Dalam PostgreSQL 13 dan rilis sebelumnya, peran yang telah ditentukan dikenal sebagai peran default.

Dalam daftar berikut, Anda akan menemukan beberapa peran standar lainnya yang dibuat secara otomatis untuk klaster DB Aurora PostgreSQL yang baru. Peran yang telah ditentukan dan hak aksesnya tidak dapat diubah. Anda tidak dapat menghapus, mengganti nama, atau memodifikasi hak akses untuk peran yang telah ditentukan ini. Mencoba untuk melakukannya akan mengakibatkan kesalahan.

  • rds_password — Peran yang dapat mengubah kata sandi dan mengatur batasan kata sandi untuk pengguna basis data. rds_superuserPeran diberikan dengan peran ini secara default, dan dapat memberikan peran tersebut kepada pengguna database. Untuk informasi selengkapnya, lihat Mengontrol akses pengguna ke basis data PostgreSQL.

    • Untuk RDS untuk PostgreSQL versi yang lebih tua dari 14rds_password, peran dapat mengubah kata sandi dan mengatur batasan kata sandi untuk pengguna database dan pengguna dengan peran. rds_superuser Dari RDS untuk PostgreSQL versi 14 dan yang lebih barurds_password, peran dapat mengubah kata sandi dan mengatur batasan kata sandi hanya untuk pengguna database. Hanya pengguna dengan rds_superuser peran yang dapat melakukan tindakan ini pada pengguna lain yang memiliki rds_superuser peran.

  • rdsadmin — Peran yang dibuat untuk menangani banyak tugas manajemen yang dilakukan oleh administrator dengan hak akses superuser pada basis data PostgreSQL mandiri. Peran ini digunakan secara internal oleh Aurora PostgreSQL untuk banyak tugas manajemen.

catatan

Aurora PostgreSQL versi 15.2 dan 14.7 memperkenalkan perilaku restriktif peran rds_superuser. Pengguna Aurora PostgreSQL harus diberi hak akses CONNECT pada basis data terkait agar dapat menghubungkan, meskipun pengguna tersebut diberi peran rds_superuser. Sebelum Aurora PostgreSQL versi 14.7 dan 15.2, pengguna dapat terhubung dengan basis data dan tabel sistem mana pun jika diberi peran rds_superuser. Perilaku restriktif ini sejalan dengan komitmen Amazon Aurora AWS dan Amazon Aurora untuk peningkatan keamanan yang berkelanjutan.

Perbarui logika masing-masing dalam aplikasi Anda jika peningkatan di atas berdampak.