Topik ini menjelaskan cara akun Alibaba Cloud memberikan izin pengembangan pada suatu instans kepada pengguna Resource Access Management (RAM) menggunakan model izin sederhana dan model otorisasi PostgreSQL standar.
Informasi latar belakang
Secara default, akun Alibaba Cloud yang membeli instans ditetapkan sebagai super administrator (Superuser). Superuser memiliki semua izin pada instans tersebut, termasuk membuat dan menghapus database, membuat role, serta memberikan izin kepada role.
Perhatikan hal-hal berikut mengenai izin pengguna RAM:
-
Akun Alibaba Cloud harus memberikan izin kepada pengguna RAM sebelum pengguna tersebut dapat mengakses instans. Pengguna RAM juga dapat diberikan izin Superuser.
-
Meskipun pengguna RAM memiliki izin untuk membeli instans, akun Alibaba Cloud tetap harus memberikan izin pengembangan agar pengguna tersebut dapat melakukan pengembangan data di instans Hologres.
Kontrol akses untuk izin RAM berbeda dengan kontrol akses untuk izin pengembangan instans. Untuk informasi selengkapnya, lihat Berikan izin kepada pengguna RAM.
Berikan izin kepada pengguna RAM menggunakan model izin sederhana (disarankan)
-
Opsi: Berikan izin kepada pengguna.
Model izin sederhana juga mendukung pemberian izin kepada pengguna RAM menggunakan pernyataan SQL. Untuk informasi selengkapnya, lihat Gunakan model izin sederhana.
Berikan izin kepada pengguna RAM menggunakan model otorisasi PostgreSQL standar
Langkah-langkah berikut menjelaskan cara memberikan izin kepada pengguna RAM menggunakan model otorisasi tingkat lanjut:
-
Buat pengguna.
Buat pengguna RAM di instans Hologres. Kode berikut menyediakan contoh pernyataan.
CREATE USER "p4_AccountID"; // ID tersebut adalah UID dari pengguna RAM Alibaba Cloud. CREATE USER "p4_AccountID" SUPERUSER; // Berikan izin Superuser kepada pengguna RAM. -
Berikan izin kepada pengguna.
Pengguna RAM harus diberikan izin yang diperlukan untuk mengakses objek dalam cakupan izinnya. Kode berikut menyediakan contoh pernyataan otorisasi.
GRANT SELECT ON TABLE TABLENAME TO "AccountID"; // Berikan izin kepada pengguna RAM untuk melihat tabel. GRANT SELECT,INSERT,UPDATE ON ALL TABLES IN SCHEMA PUBLIC TO "p4_AccountID"; // Berikan izin kepada pengguna RAM untuk menambah, memodifikasi, dan melihat semua tabel.CatatanHanya Superuser atau pemilik tabel yang dapat menghapus tabel.
Untuk informasi selengkapnya tentang operasi otorisasi dalam model otorisasi PostgreSQL standar, lihat Model otorisasi PostgreSQL standar.
Gunakan Hologres sebagai pengguna RAM
Setelah otorisasi selesai, pengguna RAM dapat terhubung ke dan menggunakan instans Hologres dari client PSQL. Untuk informasi selengkapnya, lihat Client PSQL.
Berikut contoh pernyataannya.
PGUSER=<AccessID> PGPASSWORD=<AccessKey> psql -p <Port> -h <Endpoint> -d <Database>
Lihat izin pengguna RAM
Gunakan pernyataan SQL untuk melihat izin pengguna RAM.
Setelah Anda menghubungkan tool developer ke instans Hologres, Anda dapat menggunakan pernyataan SQL berikut untuk melihat izin pengguna RAM.
SELECT * FROM pg_roles WHERE rolname = 'p4_ID'; //Lihat role yang dimiliki anggota.
SELECT rolname FROM pg_roles;
SELECT user_display_name(rolname) FROM pg_roles;
Anda dapat menggunakan perintah SELECT * FROM pg_catalog.pg_roles; untuk melihat izin semua pengguna.