Tentang pengelolaan pengguna database di AlloyDB untuk PostgreSQL

Halaman ini memberikan ringkasan tentang cara mengelola pengguna database di AlloyDB untuk PostgreSQL, dan mengaktifkan autentikasi Identity and Access Management (IAM) untuk pengguna database ini.

Cara kerja pengelolaan pengguna database

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

  • Peran: Penunjukan 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 mengautentikasi dan login ke cluster database AlloyDB, Anda memiliki dua opsi:

  • Autentikasi berbasis sandi PostgreSQL standar: Memverifikasi identitas pengguna dengan membandingkan kredensial yang diberikan dengan sandi yang disimpan dan di-hash. Metode yang didukung meliputi md5, scram-sha-256, dan sandi.
  • Autentikasi IAM: Memungkinkan pengguna database melakukan autentikasi menggunakan IAM untuk keamanan yang ditingkatkan dan kontrol akses terpusat di seluruh layanan Google Cloud lainnya.

Peran yang telah ditetapkan

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

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.
alloydbimportexport CREATEROLE dan CREATEDB.
alloydbagent CREATEROLE dan CREATEDB.
alloydbreplica REPLICATION
alloydbiamuser Secara default, peran ini tidak memiliki hak istimewa apa pun.

Subbagian berikut menjelaskan tujuan beberapa peran ini.

Peran grup alloydbsuperuser

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 PostgreSQL superuser kepada pengguna. Sebagai gantinya, Anda dapat memberikan hak istimewa superuser AlloyDB kepada pengguna database mana pun dengan memberikan peran alloydbsuperuser kepada mereka.

Peran pengguna postgres

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

Peran pengguna alloydbimportexport

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

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

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

Peran grup alloydbiamuser

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

AlloyDB tidak mengizinkan Anda memberikan 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 informasi selengkapnya, lihat Mengelola autentikasi IAM.

Langkah berikutnya