Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Memahami peran rds_superuser
Di PostgreSQL, peran dapat menentukan pengguna, grup, atau serangkaian izin khusus yang diberikan kepada grup atau pengguna untuk berbagai objek dalam database. SQLPerintah Postgre ke CREATE USER
dan CREATE GROUP
telah digantikan oleh yang lebih umum, CREATE ROLE
dengan properti khusus untuk membedakan pengguna database. Seorang pengguna database dapat dianggap sebagai peran dengan hak LOGIN istimewa.
catatan
Perintah CREATE USER
dan CREATE GROUP
masih dapat digunakan. Untuk informasi selengkapnya, lihat Peran Database
postgres
Pengguna adalah pengguna database yang paling istimewa di Aurora SQL Postgre DB Anda untuk instance Postgre DB. SQL 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 CREATEROLE, 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:
Tambahkan ekstensi yang tersedia untuk digunakan dengan Aurora Postgre. SQL Untuk informasi selengkapnya, lihat Menangani ekstensi dan pembungkus data asing.
-
Buat peran dan berikan hak akses kepada pengguna. Untuk informasi lebih lanjut, lihat CREATEROLE
dan GRANT di dokumentasi PostgreSQL. -
Membuat basis data. Untuk informasi lebih lanjut, lihat CREATEDATABASE
di 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 CREATE ROLE postgres...
pernyataan tersebut, Anda dapat melihat bahwa peran postgres
pengguna secara khusus melarang izin SQL superuser
Postgre. Aurora Postgre SQL RDS adalah layanan terkelola, sehingga Anda tidak dapat mengakses OS host, dan Anda tidak dapat terhubung menggunakan akun Postgre. SQL superuser
Untuk informasi selengkapnya tentang pemberian hak istimewa, lihat GRANT
rds_superuser
Peran tersebut adalah salah satu dari beberapa peran yang telah ditentukan dalam cluster Aurora SQL Postgre DB.
catatan
Dalam Postgre SQL 13 dan rilis sebelumnya, peran yang telah ditentukan dikenal sebagai peran default.
Dalam daftar berikut, Anda menemukan beberapa peran standar lainnya yang dibuat secara otomatis untuk cluster Aurora SQL Postgre DB 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 database Postgre SQL.RDSUntuk SQL versi Postgre 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 Postgre SQL versi 14 dan yang lebih baru,rds_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 administrator dengan
superuser
hak istimewa akan melakukan pada database Postgre mandiri. SQL Peran ini digunakan secara internal oleh banyak tugas manajemen.
Untuk melihat semua peran yang telah ditentukan sebelumnya, Anda dapat terhubung ke instance utama cluster Aurora SQL Postgre DB RDS Anda untuk instans Postgre DB . psql \du
Output-nya akan terlihat seperti berikut:
List of roles
Role name | Attributes | Member of
--------------+-----------------------------------+------------------------------------
postgres | Create role, Create DB +| {rds_superuser}
| Password valid until infinity |
rds_superuser | Cannot login | {pg_monitor,pg_signal_backend,
| +| rds_replication,rds_password}
...
Dalam output, Anda dapat melihat bahwa rds_superuser
itu bukan peran pengguna basis data (tidak dapat masuk), tetapi memiliki hak akses dari banyak peran lainnya. Anda juga dapat melihat bahwa pengguna basis data postgres
adalah anggota peran rds_superuser
. Seperti disebutkan sebelumnya, postgres
adalah nilai default di halaman database Buat RDS konsol Amazon. Jika Anda memilih nama lain, nama itu akan ditampilkan dalam daftar peran.
catatan
Aurora Postgre SQL versi 15.2 dan 14.7 memperkenalkan perilaku restriktif peran tersebut. rds_superuser
SQLPengguna Aurora Postgre perlu diberikan CONNECT
hak istimewa pada database yang sesuai untuk terhubung bahkan jika pengguna diberikan peran tersebut. rds_superuser
Sebelum Aurora Postgre SQL versi 14.7 dan 15.2, pengguna dapat terhubung ke database dan tabel sistem jika pengguna diberikan 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.