Tentang pengelolaan pengguna database di AlloyDB untuk PostgreSQL

Untuk mengontrol akses ke database AlloyDB untuk PostgreSQL, Anda dapat membuat dan mengelola pengguna, peran, dan grup database menggunakan autentikasi PostgreSQL bawaan atau autentikasi Identity and Access Management (IAM).

Cara kerja pengelolaan pengguna database

AlloyDB memiliki konsep peran, pengguna, dan grup yang sama dengan PostgreSQL. Untuk penjelasan singkat, lihat deskripsi berikut:

  • Peran: penetapan tingkat teratas yang menjelaskan pengguna database dan grup pengguna database di seluruh cluster. Peran memberikan, dan membatasi, akses ke objek database, seperti tabel dan fungsi.

  • Pengguna: peran yang diberi atribut LOGIN. Pengguna dapat melakukan autentikasi dan login ke cluster database AlloyDB.

  • Grup: peran yang diberikan kepada satu atau beberapa pengguna. Tujuan grup adalah untuk mengontrol hak istimewa yang dimiliki banyak pengguna secara keseluruhan.

Cara kerja autentikasi database

Untuk melakukan autentikasi dan login ke cluster database AlloyDB, Anda memiliki dua opsi:

  • Autentikasi berbasis sandi PostgreSQL bawaan: untuk memverifikasi identitas pengguna, AlloyDB membandingkan kredensial yang diberikan dengan sandi yang di-hash dan disimpan. Metode yang didukung mencakup md5, scram-sha-256, dan password.
  • Autentikasi IAM: memungkinkan pengguna database melakukan autentikasi menggunakan IAM. Hal ini memberikan keamanan yang ditingkatkan dan memusatkan kontrol akses di seluruh layanan Google Cloud lainnya.

Peran yang telah ditetapkan

PostgreSQL menyediakan peran yang telah ditetapkan dengan berbagai hak istimewa. Selain peran yang telah ditetapkan ini, AlloyDB menyediakan beberapa peran pengguna dan grup yang telah ditetapkan.

Tabel berikut mencantumkan peran dan hak istimewa peran yang disediakan AlloyDB:

Nama peran Hak Istimewa
alloydbsuperuser CREATEROLE, CREATEDB, dan LOGIN.
postgres CREATEROLE, CREATEDB, dan LOGIN.
alloydbadmin SUPERUSER (yang mencakup CREATEROLE, CREATEDB, dan LOGIN).
alloydbimportexport CREATEROLE dan CREATEDB.
alloydbexport LOGIN dan anggota pg_read_all_data.
alloydbagent CREATEROLE dan CREATEDB.
alloydbmetadata LOGIN. Secara default, peran ini tidak memiliki hak istimewa tambahan.
alloydbobservability LOGIN dan anggota pg_monitor.
alloydbreplica REPLICATION.
alloydbiamuser Secara default, peran ini tidak memiliki hak istimewa apa pun.
alloydbiamgroupuser Secara default, peran ini tidak memiliki hak istimewa apa pun.

Subbagian berikut menjelaskan penggunaan peran ini.

Peran grup alloydbsuperuser

Peran alloydbsuperuser memungkinkan Anda menyiapkan sistem database dan melakukan tugas superuser lainnya. Peran ini memiliki hak istimewa berikut:

  • Membuat ekstensi yang memerlukan hak istimewa superuser
  • Membuat pemicu peristiwa
  • Membuat pengguna replikasi
  • Membuat langganan dan publikasi replikasi

Sebagai layanan terkelola, AlloyDB tidak mengizinkan Anda memberikan peran superuser PostgreSQL kepada pengguna. Sebagai gantinya, Anda dapat memberikan hak istimewa superuser AlloyDB kepada pengguna database mana pun jika Anda memberi mereka peran alloydbsuperuser.

Peran pengguna postgres

Peran pengguna postgres adalah bagian dari peran alloydbsuperuser. Saat membuat cluster AlloyDB, Anda dapat menetapkan sandi ke pengguna postgres agar dapat login ke sistem menggunakan pengguna postgres untuk melakukan tugas, seperti membuat database atau peran tambahan.

Peran pengguna alloydbadmin

Peran alloydbadmin adalah peran sistem internal yang telah ditetapkan yang menyiapkan sistem database, menginstal dan mengupgrade ekstensi, serta melakukan tugas superuser internal lainnya. Layanan AlloyDB mengelola peran ini, dan Anda tidak dapat menggunakannya untuk login atau memberikannya secara manual ke akun database.

Peran pengguna alloydbimportexport

Saat Anda membuat cluster AlloyDB, AlloyDB membuat pengguna alloydbimportexport dengan kumpulan hak istimewa minimal yang diperlukan untuk operasi impor dan ekspor.

Anda memiliki opsi untuk membuat pengguna sendiri untuk menjalankan operasi ini. Jika Anda tidak membuat pengguna alloydbimportexport kustom, sistem akan menggunakan pengguna alloydbimportexport default untuk operasi impor dan ekspor.

Pengguna alloydbimportexport adalah pengguna sistem. Artinya, Anda tidak dapat langsung menggunakan pengguna alloydbimportexport untuk login atau melakukan operasi lain di database PostgreSQL Anda.

Peran pengguna alloydbexport

Peran alloydbexport adalah peran sistem AlloyDB internal dengan hak istimewa pg_read_all_data yang digunakan oleh operasi ekspor internal. Layanan AlloyDB mengelola peran ini, dan Anda tidak dapat memberikannya secara manual ke akun database.

Peran pengguna alloydbagent

Peran alloydbagent adalah peran sistem AlloyDB internal. Layanan AlloyDB mengelola peran dan Anda tidak dapat memberikannya secara manual ke akun database. Pengelolaan ini membantu database dan fiturnya berfungsi dengan benar.

Peran pengguna alloydbmetadata

Peran alloydbmetadata adalah peran sistem AlloyDB internal dengan hak istimewa minimal yang digunakan untuk mengelola tabel metadata internal. Layanan AlloyDB mengelola peran ini, dan Anda tidak dapat memberikannya secara manual ke akun database.

Peran pengguna alloydbobservability

Peran alloydbobservability adalah peran sistem AlloyDB internal dengan hak istimewa pg_monitor yang digunakan untuk mengumpulkan telemetri database, insight kueri, dan metrik kemampuan observasi. Layanan AlloyDB mengelola peran ini, dan Anda tidak dapat memberikannya secara manual ke akun database.

Peran pengguna alloydbreplica

Peran alloydbreplica adalah peran sistem AlloyDB internal. Layanan AlloyDB mengelola peran dan Anda tidak dapat memberikannya secara manual ke akun database. Pengelolaan ini membantu database dan fiturnya berfungsi dengan benar.

Peran grup alloydbiamuser

Pengguna database dalam grup alloydbiamuser melakukan autentikasi dengan instance AlloyDB menggunakan IAM, bukan menggunakan autentikasi berbasis sandi PostgreSQL bawaan.

AlloyDB tidak mengizinkan Anda memberikan peran alloydbiamuser kepada pengguna menggunakan perintah PostgreSQL GRANT atau metode serupa. Sebagai gantinya, Anda dapat menggunakan alat administratif AlloyDB untuk membuat dan mengelola pengguna database berbasis IAM. Untuk mengetahui informasi selengkapnya, lihat Mengelola autentikasi IAM.

Peran grup alloydbiamgroupuser

Grup database dan akun anggotanya yang menggunakan autentikasi grup IAM termasuk dalam peran grup alloydbiamgroupuser. Layanan AlloyDB mengelola peran ini secara otomatis saat Anda menambahkan grup IAM ke cluster, dan Anda tidak dapat memberikannya secara manual menggunakan perintah PostgreSQL GRANT. Untuk mengetahui informasi selengkapnya tentang cara memberikan hak istimewa database kepada pengguna IAM, lihat Mengelola autentikasi IAM.

Langkah berikutnya