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, danpassword. - 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
Pelajari cara mengelola peran, pengguna, dan grup PostgreSQL untuk AlloyDB menggunakan autentikasi bawaan.
Pelajari cara mengelola autentikasi IAM.