Mengelola pengguna PostgreSQL dengan autentikasi standar

Halaman ini menjelaskan cara membuat, mengelola, dan menghapus peran, pengguna, dan grup PostgreSQL serta AlloyDB for PostgreSQL menggunakan metode autentikasi standar berbasis sandi PostgreSQL.

Membuat pengguna PostgreSQL di AlloyDB

Saat Anda membuat pengguna PostgreSQL, pengguna tersebut hanya dimulai dengan hak istimewa LOGIN. Untuk mengetahui informasi selengkapnya tentang hak istimewa ini, lihat CREATE USER.

Anda dapat mengubah hak istimewa pengguna mana pun dengan menggunakan perintah ALTER ROLE. Jika Anda membuat pengguna baru dengan klien psql, Anda dapat memilih untuk mengaitkannya dengan peran lain, atau menetapkan hak istimewa yang berbeda.

Kelola pengguna

Anda dapat membuat dan mengelola pengguna AlloyDB dengan Google Cloud CLI, atau menggunakan perintah PostgreSQL. Bagian berikut menunjukkan tugas pengelolaan pengguna umum menggunakan salah satu metode.

Sebelum memulai

Untuk menggunakan perintah PostgreSQL guna mengelola pengguna di cluster, Anda memerlukan hal berikut:

  • Akses ke klien psql
  • Akses ke pengguna database postgres, atau peran pengguna lain dengan hak istimewa administratif yang sesuai

Untuk menggunakan konsol Google Cloud atau Google Cloud CLI guna mengelola pengguna di cluster, cluster tersebut harus memiliki instance utama. Jika cluster Anda tidak memiliki instance utama, Anda harus membuatnya sebelum dapat mengelola pengguna.

Membuat pengguna database

Untuk membuat pengguna database yang melakukan autentikasi dengan database secara langsung menggunakan nama pengguna dan sandi, yang juga dikenal sebagai autentikasi bawaan, ikuti langkah-langkah di bagian ini.

Untuk membuat pengguna database yang menggunakan Identity and Access Management (IAM) untuk mengautentikasi, lihat Mengelola autentikasi IAM.

Konsol

  1. Buka halaman Cluster.

    Buka Cluster

  2. Klik nama cluster tempat Anda ingin menambahkan pengguna.

  3. Klik Pengguna.

  4. Klik Tambahkan akun pengguna.

  5. Biarkan Built-in authentication dipilih.

    Jika ingin menggunakan IAM untuk mengautentikasi dan login ke cluster database, Anda harus menyelesaikan langkah-langkah tambahan untuk menyiapkan project dan memberikan izin yang sesuai kepada pengguna baru. Untuk mengetahui informasi selengkapnya, lihat Mengelola autentikasi IAM.

  6. Masukkan nama pengguna dan sandi untuk pengguna baru.

  7. Untuk menetapkan peran selain alloydbsuperuser default kepada pengguna, ikuti langkah-langkah berikut:

    1. Masukkan nama peran di Peran.
    2. Untuk menambahkan peran, tekan Enter atau Tab.
    3. Pilih x untuk peran yang ingin Anda hapus bagi pengguna tersebut.

      Untuk mengetahui informasi selengkapnya, lihat Peran yang telah ditetapkan

  8. Klik Tambahkan.

psql

CREATE USER USERNAME WITH PASSWORD PASSWORD;

Untuk mengetahui informasi selengkapnya tentang cara membuat dan menentukan pengguna database, lihat CREATE USER.

Setelah membuat pengguna, Anda dapat mengubah hak istimewanya menggunakan perintah ALTER ROLE di klien psql.

gcloud

Gunakan perintah gcloud alloydb users create.

gcloud alloydb users create USERNAME \
--password=PASSWORD \
--cluster=CLUSTER_ID \
--region=REGION_ID

Ganti variabel berikut:

  • USERNAME: Nama pengguna pengguna. USERNAME harus mengikuti aturan untuk ID SQL: tanpa karakter khusus, atau diapit tanda kutip ganda. Misalnya, db_user_1.

  • PASSWORD: Sandi pengguna. Untuk membuat pengguna tanpa sandi, hilangkan argumen ini.

  • CLUSTER_ID: ID cluster tempat pengguna akan ditambahkan.

  • REGION_ID: ID region tempat cluster berada. Contoh, us-central1.

Setelah membuat pengguna, Anda dapat mengubah hak istimewanya menggunakan perintah gcloud alloydb users set-roles.

Selain itu, Anda dapat memberikan peran atau hak istimewa pengguna super kepada pengguna saat membuatnya. Untuk melakukannya, sertakan argumen --db-roles atau --superuser, seperti yang dijelaskan di bagian berikut.

Memberikan peran kepada pengguna database

Konsol

Untuk memberikan peran kepada pengguna database, gunakan psql atau gcloud CLI, bukan konsol Google Cloud .

psql

GRANT ROLE to USERNAME;

Ganti variabel berikut:

  • USERNAME: Nama pengguna pengguna.
  • ROLE: Peran untuk memberikan akses kepada pengguna. Misalnya, untuk memberi pengguna hak istimewa superuser, berikan alloydbsuperuser.

gcloud

Gunakan perintah gcloud alloydb users set-roles untuk menentukan semua peran yang ingin Anda berikan kepada pengguna.

gcloud alloydb users set-roles USERNAME \
--db-roles=ROLES \
--cluster=CLUSTER_ID \
--region=REGION_ID

Ganti variabel berikut:

  • USERNAME: Nama pengguna pengguna.

  • ROLES: Daftar semua peran yang dipisahkan koma yang Anda inginkan untuk dimiliki pengguna. Pastikan Anda mencantumkan semua peran, termasuk peran yang ada dan peran baru.

    Untuk menemukan daftar peran yang ada yang ditetapkan kepada pengguna, jalankan perintah berikut:

    gcloud alloydb users list --cluster=CLUSTER_ID --region=REGION_ID

    Ganti variabel berikut:

    • CLUSTER_ID: ID cluster yang berisi pengguna.

    • REGION_ID: ID region tempat cluster berada. Contoh, us-central1.

    Untuk memberikan hak istimewa superuser kepada pengguna, Anda dapat memberikan peran alloydbsuperuser kepada pengguna tersebut secara manual menggunakan psql, atau Anda dapat menjalankan perintah gcloud alloydb users set-superuser dengan argumen --superuser=true:

    gcloud alloydb users set-superuser USERNAME \
    --superuser=true \
    --cluster=CLUSTER_ID \
    --region=REGION_ID

    Ganti variabel berikut:

    • CLUSTER_ID: ID cluster yang berisi pengguna.

    • REGION_ID: ID region tempat cluster berada. Contoh, us-central1.

Mengubah sandi pengguna database

Untuk menyetel sandi baru bagi pengguna database PostgreSQL standar, ikuti langkah-langkah di bagian ini.

Anda tidak dapat mengubah atau menyetel sandi pengguna berbasis IAM karena pengguna IAM tidak menggunakan sandi untuk mengautentikasi. Untuk mengetahui informasi selengkapnya, lihat Menghubungkan menggunakan akun IAM.

Konsol

  1. Buka halaman Cluster.

    Buka Cluster

  2. Klik nama cluster yang berisi pengguna database.

  3. Klik Pengguna.

  4. Di baris yang merepresentasikan pengguna, klik Open actions for this user.

  5. Pilih Change Password.

  6. Tentukan sandi:

    • Untuk menyetel sandi baru bagi pengguna ini, ketik sandi ke kolom Sandi.

    • Untuk tidak menyetel sandi bagi pengguna ini, centang kotak Tanpa sandi.

  7. Klik Oke.

psql

ALTER USER USERNAME WITH PASSWORD PASSWORD;

Untuk mengetahui informasi selengkapnya tentang cara mengubah sandi pengguna, lihat ALTER ROLE.

gcloud

Gunakan perintah gcloud alloydb users set-password:

gcloud alloydb users set-password USERNAME \
--password=PASSWORD \
--cluster=CLUSTER_ID \
--region=REGION_ID

Ganti variabel berikut:

  • USERNAME: Nama pengguna pengguna.

  • PASSWORD: Sandi baru yang akan ditetapkan kepada pengguna.

  • CLUSTER_ID: ID cluster tempat pengguna berada.

  • REGION_ID: ID region tempat cluster berada. Contoh, us-central1.

Mencabut peran dari pengguna database

Konsol

Untuk mencabut peran dari pengguna, gunakan psql atau gcloud CLI, bukan konsol Google Cloud .

psql

Anda dapat mencabut hak istimewa yang sebelumnya diberikan dari satu atau beberapa peran atau mencabut keanggotaan pengguna dalam suatu peran.

REVOKE ROLE FROM USERNAME;

Untuk menghapus hak istimewa superuser pengguna, cabut peran alloydbsuperuser dari pengguna tersebut.

gcloud

Untuk mencabut peran dengan Google Cloud CLI, gunakan perintah gcloud alloydb users set-roles untuk menentukan semua peran yang ingin Anda berikan kepada pengguna, dengan menghilangkan peran yang akan dicabut dari pengguna.

gcloud alloydb users set-roles USERNAME \
--db-roles=ROLES \
--cluster=CLUSTER_ID \
--region=REGION_ID

Ganti variabel berikut:

  • USERNAME: Nama pengguna pengguna.

  • ROLES: Daftar semua peran yang dipisahkan koma yang Anda inginkan untuk dimiliki pengguna. Pastikan Anda mencantumkan semua peran, termasuk peran yang ada dan peran baru.

    Untuk menemukan daftar peran yang ada yang ditetapkan kepada pengguna, jalankan perintah berikut:

    gcloud alloydb users list --cluster=CLUSTER_ID --region=REGION_ID
  • CLUSTER_ID: ID cluster yang berisi pengguna.

  • REGION_ID: ID region tempat cluster berada. Contoh, us-central1.

Untuk mencabut hak istimewa superuser, Anda dapat menghapus peran alloydbsuperuser pengguna secara manual menggunakan psql, atau Anda dapat menjalankan perintah gcloud alloydb users set-superuser dengan argumen --superuser=false.

Melihat daftar pengguna database

Konsol

  1. Buka halaman Cluster.

    Buka Cluster

  2. Klik nama cluster yang penggunanya ingin Anda lihat.

  3. Klik Pengguna.

psql

Perintah \du mencetak tabel semua pengguna database, termasuk keanggotaan grup mereka.

\du

gcloud

Gunakan perintah gcloud alloydb users list.

gcloud alloydb users list \
--cluster=CLUSTER_ID \
--region=REGION_ID

Ganti kode berikut:

  • CLUSTER_ID: ID cluster yang berisi pengguna.

  • REGION_ID: ID region tempat cluster berada. Contoh, us-central1.

Menghapus pengguna database

Konsol

  1. Buka halaman Cluster.

    Buka Cluster

  2. Klik nama cluster yang berisi pengguna.

  3. Klik Pengguna.

  4. Di baris yang merepresentasikan pengguna, klik Open actions for this user.

  5. Pilih Hapus.

  6. Pada dialog Hapus akun pengguna?, klik Hapus.

psql

Sebelum menghapus pengguna, Anda harus menghapus, atau menetapkan kembali, semua objek yang dimilikinya, dan mencabut hak istimewa yang telah diberikan kepada pengguna tersebut pada objek lain.

DROP ROLE USERNAME;

gcloud

Gunakan perintah gcloud alloydb users delete.

gcloud alloydb users delete USERNAME \
--cluster=CLUSTER_ID \
--region=REGION_ID

Ganti kode berikut:

  • USERNAME: Nama pengguna pengguna.

  • CLUSTER_ID: ID cluster tempat pengguna berada.

  • REGION_ID: ID region tempat cluster berada. Contoh, us-central1.

Langkah berikutnya