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
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 peranrds_superuser
. -
Berikan (dan cabut) peran
rds_password
kepada pengguna basis data yang tidak memiliki peranrds_superuser
. -
Dapatkan informasi status tentang semua koneksi basis data dengan menggunakan tampilan
pg_stat_activity
. Bila diperlukan,rds_superuser
dapat menghentikan semua koneksi menggunakanpg_terminate_backend
ataupg_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
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_superuser
Peran 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 14
rds_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 denganrds_superuser
peran yang dapat melakukan tindakan ini pada pengguna lain yang memilikirds_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.