Memahami peran rds_superuser - Layanan Basis Data Relasional Amazon

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 dalam dokumentasi PostgreSQL.

postgresPengguna adalah pengguna database yang paling istimewa di RDScluster . 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,, NOREPLICATIONINHERIT, 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 AmazonRDS. Untuk informasi lebih lanjut, lihat Bekerja dengan SQL fitur Postgre yang didukung oleh Amazon RDS untuk Postgre SQL

  • Buat peran dan berikan hak akses kepada pengguna. Untuk informasi lebih lanjut, lihat CREATEROLEdan GRANTdi dokumentasi PostgreSQL.

  • Membuat basis data. Untuk informasi lebih lanjut, lihat CREATEDATABASEdi 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 CREATE ROLE postgres... pernyataan tersebut, Anda dapat melihat bahwa peran postgres pengguna secara khusus melarang izin SQL superuser Postgre. untuk Postgre SQL adalah layanan terkelola, jadi Anda tidak dapat mengakses OS host, dan Anda tidak dapat terhubung menggunakan akun Postgre. SQL superuser

Untuk informasi selengkapnya tentang pemberian hak istimewa, lihat GRANTdi dokumentasi SQL Postgre.

rds_superuserPeran tersebut adalah salah satu dari beberapa peran yang telah ditentukan dalam cluster DB. RDSuntuk contoh Postgre SQL 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 DB baru. RDSuntuk contoh Postgre SQL DB. 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 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 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 administrator dengan superuser hak istimewa akan melakukan pada database Postgre mandiri. SQL Peran ini digunakan secara internal oleh Postgre SQL untuk banyak tugas manajemen.

  • rdstopmgr - Peran yang digunakan secara internal oleh Amazon RDS untuk mendukung penerapan multi-AZ.

Untuk melihat semua peran yang telah ditentukan sebelumnya, Anda dapat terhubung ke dan menggunakan SQL metacommand. 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.