Halaman ini menjelaskan autentikasi database Identity and Access Management (IAM) perorangan dan grup, yang Anda gunakan untuk mengelola akses ke database AlloyDB untuk PostgreSQL.
Autentikasi database IAM menawarkan opsi berikut:
- Autentikasi IAM individual: Anda menambahkan pengguna atau akun layanan tertentu ke cluster.
- Autentikasi IAM grup: Anda menambahkan grup IAM ke cluster. Semua anggota grup tersebut mewarisi izin untuk mengautentikasi, sehingga menyederhanakan pengelolaan untuk beberapa pengguna.
Autentikasi individu berguna saat Anda perlu memberikan akses langsung ke akun tertentu. Gunakan autentikasi grup jika Anda ingin mengelola akses dengan mengubah keanggotaan grup, yang mengurangi kebutuhan untuk menambahkan atau menghapus pengguna di tingkat cluster.
Konsep autentikasi IAM
Saat Anda menggunakan autentikasi IAM, izin untuk mengakses instance AlloyDB tidak diberikan langsung kepada pengguna akhir. Sebagai gantinya, izin dikelompokkan ke dalam peran, dan peran diberikan kepada akun utama. Untuk mengetahui informasi selengkapnya, lihat Ringkasan IAM.
Administrator yang memiliki pengguna yang login melalui autentikasi database IAM dapat menggunakan IAM untuk mengelola kontrol akses ke instance mereka secara terpusat menggunakan kebijakan IAM.
Kebijakan IAM mencakup entity berikut:
Akun utama. Di AlloyDB, Anda dapat menggunakan akun pengguna atau akun layanan untuk aplikasi. Untuk mengetahui informasi selengkapnya, lihat Principal.
Peran. Untuk autentikasi database IAM, akun utama memerlukan izin alloydb.instances.login. Izin ini disertakan dalam peran Klien AlloyDB (
roles/alloydb.client). Untuk mendapatkan izin ini, ikat pengguna, akun layanan, atau grup ke peran bawaan atau peran khusus yang menyertakan izin tersebut. Untuk mengetahui informasi selengkapnya, lihat Izin dan peran.Resource. Resource yang diakses utama adalah cluster AlloyDB. Binding kebijakan IAM diterapkan di level project, sehingga akun utama menerima izin peran untuk semua instance AlloyDB dalam project. Untuk mengetahui informasi selengkapnya, lihat Resource.
Membandingkan opsi autentikasi database
Gunakan tabel berikut untuk membantu Anda memutuskan metode autentikasi mana yang paling sesuai untuk kasus penggunaan Anda.
| Fitur | Autentikasi database bawaan | Autentikasi database IAM |
|---|---|---|
| Metode autentikasi | Sandi | Token autentikasi sementara |
| Enkripsi traffic jaringan | SSL tidak diperlukan | SSL diperlukan |
| Pengelolaan pengguna | Manual | Terpusat melalui IAM |
Autentikasi database IAM otomatis versus manual
AlloyDB menawarkan dua metode untuk autentikasi database IAM: otomatis dan manual.
Autentikasi database IAM otomatis
Autentikasi database IAM otomatis memungkinkan Anda menyerahkan permintaan dan pengelolaan token akses ke konektor AlloyDB perantara, seperti Auth Proxy atau salah satu Konektor Bahasa.
Dengan autentikasi database IAM otomatis, aplikasi hanya perlu meneruskan nama pengguna database IAM dalam permintaan koneksi dari klien. Konektor mengirimkan informasi token akses untuk atribut sandi atas nama klien.
Autentikasi database IAM manual
Autentikasi database IAM manual mengharuskan akun utama IAM secara eksplisit meneruskan token akses untuk atribut sandi dalam permintaan koneksi klien. Akun utama harus login ke Google Cloud terlebih dahulu dan secara eksplisit meminta token akses dari IAM.
Untuk menyimpan catatan akses data, termasuk login, Anda dapat menggunakan Cloud Audit Logs. Cloud Audit Logs dinonaktifkan secara default. Aktifkan log audit Akses Data untuk pelacakan login.
Autentikasi grup IAM
Autentikasi grup IAM memungkinkan Anda mengelola pengguna AlloyDB di tingkat grup. Contoh grup mencakup grup Cloud Identity. Fitur ini menyederhanakan pengelolaan pengguna database. Anda dapat mengelola peran atau izin PostgreSQL untuk beberapa pengguna IAM secara bersamaan, bukan memperbarui setiap pengguna atau akun layanan satu per satu. Anda juga dapat memberikan dan mencabut peran database untuk grup Cloud Identity. Setiap akun baru yang Anda tambahkan ke grup Cloud Identity akan mewarisi hak istimewa dan peran grup tersebut.
Dengan menggunakan autentikasi grup IAM, Anda dapat melakukan hal berikut:
- Tambahkan pengguna ke grup dan minta pengguna mewarisi peran IAM dan hak istimewa database secara otomatis.
- Menghapus pengguna dari grup untuk menghapus akses login dan hak istimewa database mereka dari cluster AlloyDB.
- Berikan hak istimewa login atau database ke grup satu kali, bukan memberikan hak istimewa yang sama beberapa kali kepada pengguna yang berbeda.
- Menghapus izin login atau akses ke objek database untuk grup sekaligus.
Meskipun peran dan izin IAM ditetapkan di tingkat grup, pengguna dan akun layanan menggunakan akun dan kredensial IAM masing-masing, bukan akun grup bersama untuk login. AlloyDB membuat akun database di cluster untuk prinsipal tersebut selama login pertamanya.
Aktivitas login dan database individual untuk setiap akun pengguna atau akun layanan akan muncul di log audit. Untuk tujuan audit, Anda mendapatkan manfaat dengan melihat akun mana yang melakukan tindakan apa di database Anda.
Untuk mengetahui informasi selengkapnya tentang cara menggunakan grup Cloud Identity, lihat Ringkasan Cloud Identity.
Saat Anda menambahkan pengguna atau akun layanan ke grup, perubahan berikut terjadi di AlloyDB:
- Jika Anda telah memberikan izin login IAM ke grup, pengguna atau akun layanan akan dapat login ke cluster AlloyDB karena pengguna atau akun layanan tersebut termasuk dalam grup.
- Pengguna secara otomatis mewarisi hak istimewa database atau peran yang telah diberikan kepada grup.
Saat Anda menghapus pengguna atau akun layanan dari grup, perubahan berikut terjadi di AlloyDB:
- Pengguna kehilangan hak istimewa database apa pun yang sebelumnya diwarisi dengan menjadi anggota grup.
- Pengguna mungkin masih dapat membuat sesi baru jika mereka menerima izin login IAM untuk cluster AlloyDB melalui keanggotaan grup lain. Namun, pengguna tidak akan memiliki hak istimewa database dari keanggotaan grup sebelumnya saat login.
Praktik terbaik
- Jika Anda mencabut izin login (
alloydb.databaseUser) untuk grup IAM di Cloud Identity, hapus grup dari cluster AlloyDB. - Saat Anda menghapus grup dari Cloud Identity, hapus grup tersebut dari cluster AlloyDB.
- Gunakan grup untuk mengonfigurasi role-based access control di database Anda. Berikan hak istimewa yang paling sedikit diperlukan kepada grup.
Batasan
- Autentikasi grup IAM tersedia dalam Pratinjau untuk cluster AlloyDB baru. Untuk mengaktifkan fitur ini di cluster yang sudah ada, hubungi tim akun Google Cloud Anda.
- Autentikasi grup IAM hanya didukung di database versi
POSTGRES_15dan yang lebih baru dalam Pratinjau. - Untuk mendukung keamanan, login menggunakan autentikasi database IAM hanya tersedia di koneksi SSL. Koneksi yang tidak terenkripsi ditolak.
- Terdapat kuota login per menit untuk setiap instance, yang mencakup login berhasil dan gagal. Jika kuota terlampaui, login tidak akan tersedia untuk sementara. Sebaiknya hindari login yang terlalu sering dan batasi login menggunakan jaringan yang diizinkan.
- Saat Anda menggunakan autentikasi grup IAM, jika Anda memiliki cluster AlloyDB dengan replika baca, login ke instance utama terlebih dahulu sebelum Anda login ke instance replika baca. Setelah login pertama kali ke instance utama, informasi pengguna grup akan direplikasi ke replika baca. Untuk login berikutnya, Anda dapat login langsung ke replika baca.
- Anda dapat menambahkan maksimal 200 grup IAM ke instance.
- Anda tidak dapat menambahkan akun pengguna atau akun layanan IAM perorangan yang termasuk dalam grup di instance yang sama. Dengan kata lain, Anda tidak dapat menambahkan akun dengan jenis
ALLOYDB_IAM_USERjika akun identik dengan jenisALLOYDB_IAM_GROUP_USERatauALLOYDB_IAM_GROUP_SERVICE_ACCOUNTsudah ada. Jika akun perorangan sudah ada di instance dengan jenis
ALLOYDB_IAM_USER, Anda tidak dapat menggunakan akun tersebut untuk autentikasi grup IAM. Jenis pengguna ini tidak mewarisi peran IAM dan hak istimewa database dari grup. Untuk memperbaiki masalah ini dan menggunakan akun dengan autentikasi grup IAM, hapus akun pengguna atau akun layanan IAM individual. Untuk mengetahui informasi selengkapnya, lihat Akun pengguna atau layanan IAM yang sudah ada tidak mewarisi hak istimewa database yang diberikan kepada grupnya.Perubahan pada keanggotaan grup Cloud Identity—seperti penambahan akun—memerlukan waktu sekitar 15 menit untuk diterapkan. Hal ini merupakan tambahan dari waktu yang diperlukan untuk perubahan IAM.
Autentikasi grup IAM tidak didukung dengan penggabungan koneksi terkelola.
Autentikasi grup IAM tidak didukung dengan identitas gabungan.