Mengelola autentikasi IAM

Halaman ini menunjukkan cara menyiapkan resource AlloyDB untuk PostgreSQL agar memungkinkan autentikasi database melalui Identity and Access Management (IAM).

Metode ini melengkapi autentikasi database melalui peran pengguna PostgreSQL standar, yang didukung oleh setiap cluster AlloyDB. Jika mengaktifkan autentikasi berbasis IAM di cluster, Anda dapat menggunakan peran pengguna IAM atau PostgreSQL untuk melakukan autentikasi dengan cluster tersebut.

Secara default, instance AlloyDB tidak mengaktifkan autentikasi berbasis IAM. Anda dapat mengambil langkah-langkah untuk mengaktifkan login IAM, dan menyiapkan pengguna database berbasis IAM terpisah:

Anda dapat mengulangi langkah-langkah terakhir sesering yang diperlukan, setiap kali Anda perlu menambahkan pengguna IAM lebih lanjut ke cluster AlloyDB.

Bagian selanjutnya dari halaman ini menjelaskan langkah-langkah ini secara lebih mendetail.

Mengaktifkan atau menonaktifkan autentikasi IAM

Untuk mengaktifkan autentikasi IAM pada instance, tetapkan tanda alloydb.iam_authentication pada instance tersebut ke on.

Untuk menonaktifkan autentikasi IAM pada instance, tetapkan alloydb.iam_authentication kembali ke nilai defaultnya, yaitu off.

Untuk mengetahui informasi selengkapnya tentang cara menetapkan flag pada instance AlloyDB, lihat Mengonfigurasi flag database instance.

Memberikan akses ke instance kepada akun pengguna atau layanan IAM

Mengaktifkan akses yang diautentikasi IAM ke pengguna database baru adalah proses dua langkah:

  1. Perbarui setelan IAM project Anda untuk memberikan akses database AlloyDB ke akun pengguna atau layanan IAM yang sesuai.

  2. Buat pengguna database baru di cluster Anda, dengan menetapkan nama pengguna sebagai alamat email akun pengguna atau layanan IAM.

Anda dapat mengulangi langkah kedua sesering yang diperlukan untuk memberikan akses akun yang ditentukan IAM ke cluster lain di dalam project Anda.

Memperbarui akun IAM dengan peran yang sesuai

Anda dapat memberi pengguna IAM atau akun layanan kemampuan untuk melakukan autentikasi dengan instance AlloyDB dengan memberi mereka peran IAM berikut:

  • alloydb.databaseUser
  • serviceusage.serviceUsageConsumer

Untuk melakukannya, ikuti petunjuk di Memberikan akses kepada pengguna lain. Pada langkah saat Anda memilih peran yang akan diberikan ke akun utama IAM, pilih alloydb.databaseUser.

Menambahkan akun pengguna atau akun layanan IAM ke cluster

Konsol

  1. Buka halaman Cluster.

    Buka Cluster

  2. Klik nama cluster yang ingin Anda tambahi pengguna.

  3. Klik Pengguna.

  4. Klik Tambahkan akun pengguna.

  5. Pilih Cloud IAM.

  6. Di kolom Principal, masukkan akun utama IAM.

    Untuk akun pengguna IAM, berikan alamat email lengkap akun pengguna. Misalnya, kai@altostrat.com.

    Untuk akun layanan IAM, berikan alamat akun layanan tanpa akhiran .gserviceaccount.com. Misalnya, untuk menentukan my-service@my-project.iam.gserviceaccount.com akun layanan, Anda akan menggunakan nilai my-service@my-project.iam di sini.

  7. Klik Tambahkan.

gcloud

Untuk membuat pengguna database PostgreSQL berdasarkan pengguna IAM atau akun layanan, gunakan perintah gcloud alloydb users create:

gcloud alloydb users create USERNAME \
--cluster=CLUSTER \
--region=REGION \
--type=IAM_BASED

Ganti kode berikut:

  • USERNAME: ID untuk pengguna IAM yang ingin Anda tambahkan sebagai pengguna database baru.

    Untuk akun pengguna IAM, berikan alamat email lengkap akun pengguna. Misalnya, kai@altostrat.com.

    Untuk akun layanan IAM, berikan alamat akun layanan tanpa akhiran .gserviceaccount.com. Misalnya, untuk menentukan my-service@my-project.iam.gserviceaccount.com akun layanan, Anda akan menggunakan nilai my-service@my-project.iam di sini.

  • CLUSTER: ID cluster tempat membuat akun pengguna database ini.

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

Memberikan izin database yang sesuai kepada pengguna IAM

Saat pengguna IAM ditambahkan ke instance database, pengguna baru tersebut tidak diberi hak istimewa di database mana pun, secara default.

Saat akun pengguna atau akun layanan terhubung ke database, mereka dapat menjalankan kueri terhadap objek database yang aksesnya telah diberikan ke PUBLIK.

Jika memerlukan akses tambahan, lebih banyak hak istimewa dapat diberikan menggunakan pernyataan PostgreSQL GRANT:

GRANT SELECT ON TABLE_NAME TO "USERNAME";

Ganti kode berikut:

  • USERNAME: Alamat email untuk pengguna. Anda harus menyertakan tanda kutip ganda di sekitar alamat.

  • TABLE_NAME: Nama tabel yang ingin Anda berikan akses kepada pengguna.

Menghapus akun pengguna atau akun layanan IAM dari cluster

Konsol

  1. Buka halaman Cluster.

    Buka Cluster

  2. Klik nama cluster tempat Anda ingin menghapus pengguna.

  3. Klik Pengguna.

  4. Pada baris yang merepresentasikan pengguna yang ingin Anda hapus, klik Buka tindakan untuk pengguna ini.

  5. Pilih Hapus.

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

gcloud

Gunakan perintah gcloud alloydb users delete:

gcloud alloydb users delete USERNAME \
--cluster=CLUSTER \
--region=REGION

Ganti kode berikut:

  • USERNAME: ID pengguna IAM yang ingin Anda hapus dari cluster.

    Untuk akun pengguna IAM, berikan alamat email lengkap akun pengguna. Misalnya, kai@altostrat.com.

    Untuk akun layanan IAM, berikan alamat akun layanan tanpa akhiran .gserviceaccount.com. Misalnya, untuk menentukan my-service@my-project.iam.gserviceaccount.com akun layanan, Anda akan menggunakan nilai my-service@my-project.iam di sini.

  • CLUSTER: ID cluster tempat pengguna ini akan dihapus.

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

Langkah selanjutnya