Halaman ini memberikan ringkasan tentang Proxy Auth AlloyDB, konektor yang memungkinkan Anda membuat koneksi terenkripsi yang diotorisasi ke database AlloyDB.
Untuk panduan langkah demi langkah tentang cara menggunakan Proxy Auth, lihat Menghubungkan menggunakan Proxy Auth AlloyDB.
Ringkasan
Proxy Auth memberikan keuntungan berikut dibandingkan menghubungkan klien langsung ke database AlloyDB:
Otorisasi koneksi berbasis IAM (AuthZ): Proxy Auth menggunakan kredensial dan izin akun utama IAM untuk memberikan otorisasi koneksi ke instance AlloyDB.
Komunikasi aman dan terenkripsi: Proxy Auth secara otomatis membuat, menggunakan, dan mempertahankan koneksi TLS 1.3 menggunakan cipher AES 256-bit antara klien Anda dan instance AlloyDB untuk memverifikasi identitas klien dan server serta mengenkripsi traffic data.
Untuk mengetahui informasi selengkapnya tentang cara menghubungkan ke instance AlloyDB, lihat Ringkasan koneksi.
Cara kerja Proxy Auth AlloyDB
Proxy Auth AlloyDB bekerja dengan menjalankan klien lokal di lingkungan lokal. Aplikasi Anda berkomunikasi dengan Proxy Auth AlloyDB menggunakan protokol database standar yang digunakan oleh database Anda.
Proxy Auth AlloyDB menggunakan tunnel yang aman (TLS 1.3, cipher AES 256-bit) untuk berkomunikasi dengan proses pendampingnya yang berjalan di server. Setiap koneksi yang dibuat melalui Proxy Auth AlloyDB membuat satu koneksi ke instance AlloyDB.
Saat terhubung ke Proxy Auth AlloyDB, aplikasi akan memeriksa apakah koneksi antara aplikasi tersebut dan instance AlloyDB target telah tersedia. Jika tidak tersedia, maka koneksi akan memanggil AlloyDB Admin API untuk mendapatkan sertifikat SSL sementara dan menggunakannya untuk terhubung ke AlloyDB. Masa berlaku sertifikat SSL sementara akan habis dalam waktu 24 jam. Proxy Auth AlloyDB memperbarui sertifikat-sertifikat tersebut sebelum masa berlakunya habis.
Meskipun dapat memproses port apa pun, Proxy Auth AlloyDB membuat koneksi keluar
ke instance AlloyDB Anda hanya pada port 5433. Karena Proxy Auth AlloyDB memanggil API melalui nama domain alloydb.googleapis.com
, yang tidak memiliki alamat IP tetap, semua koneksi TCP yang keluar pada port 443 harus diizinkan. Jika mesin klien Anda memiliki kebijakan firewall keluar, pastikan
kebijakan tersebut mengizinkan koneksi keluar ke port 5433 pada IP instance
AlloyDB Anda.
Cara Proxy Auth AlloyDB memberikan otorisasi kepada akun utama IAM
Untuk memberikan otorisasi pada koneksi klien ke instance AlloyDB, klien Auth Proxy mengautentikasi ke Google Cloud menggunakan kredensial akun utama
IAM di klien, lalu memvalidasi bahwa akun utama IAM memiliki
peran IAM Cloud AlloyDB Client (roles/alloydb.client
) dan Service Usage Consumer
(roles/serviceusage.serviceUsageConsumer
).
Untuk menemukan kredensial IAM di klien, klien Proxy Autentikasi memeriksa setiap item berikut, menggunakan item pertama yang ditemukan untuk mencoba autentikasi ke Google Cloud:
Kredensial yang disediakan oleh flag --credentials-file
Gunakan akun layanan untuk membuat dan mendownload file kunci JSON terkait, dan tetapkan flag--credentials-file
ke jalur file saat Anda memulai klien Auth Proxy. Akun layanan harus memiliki peran IAM Cloud AlloyDB Client (roles/alloydb.client
) dan Service Usage Consumer (roles/serviceusage.serviceUsageConsumer
) untuk instance AlloyDB.Untuk menggunakan opsi ini pada command line, panggil perintah
alloydb-auth-proxy
dengan flag--credentials-file
yang ditetapkan ke nama file dan jalur file kredensial JSON. Jalur tersebut dapat bersifat absolut atau relatif sesuai direktori kerja saat ini.Kredensial yang disediakan oleh flag --token
Buat token akses dan panggil perintah
alloydb-auth-proxy
dengan flag--token
yang ditetapkan ke token akses OAuth 2.0.Kredensial yang disediakan oleh variabel lingkungan
Opsi ini mirip dengan menggunakan flag
--credentials-file
, kecuali Anda menentukan file kredensial JSON yang ditetapkan dalamGOOGLE_APPLICATION_CREDENTIALS
variabel lingkungan, bukan menggunakan flag--credentials-file
.Kredensial dari klien Google Cloud CLI yang diautentikasi
Jika Anda telah menginstal gcloud CLI dan melakukan autentikasi dengan akun pribadi, klien Auth Proxy dapat menggunakan kredensial akun yang sama. Metode ini sangat membantu untuk mendapatkan lingkungan pengembangan dan menjalankannya.
Jika tidak ada akun yang dipilih untuk
gcloud auth login
, klien Auth Proxy akan memeriksa akun yang dipilih untukgcloud auth application-default login
.Kredensial yang terkait dengan instance Compute Engine
Jika Anda terhubung ke AlloyDB dari instance Compute Engine, klien Proxy Auth dapat menggunakan akun layanan yang terkait dengan instance Compute Engine. Jika akun layanan memiliki peran IAM Klien Cloud AlloyDB (
roles/alloydb.client
) dan Konsumen Penggunaan Layanan (roles/serviceusage.serviceUsageConsumer
) untuk instance AlloyDB, klien Auth Proxy akan berhasil diautentikasi.Jika instance Compute Engine berada dalam project yang sama dengan instance AlloyDB, akun layanan default untuk instance Compute Engine memiliki izin yang diperlukan untuk mengautentikasi AlloyDB. Jika kedua instance berada di project yang berbeda, Anda harus menambahkan akun layanan instance Compute Engine ke project yang berisi instance AlloyDB.
Akun layanan default lingkungan
Jika klien Proxy Autentikasi tidak dapat menemukan kredensial di tempat mana pun yang telah dibahas sebelumnya, klien tersebut mengikuti logika yang didokumentasikan dalam Melakukan autentikasi sebagai akun layanan. Beberapa lingkungan (seperti Compute Engine, App Engine, dan lainnya) menyediakan akun layanan default yang dapat digunakan oleh aplikasi untuk melakukan autentikasi secara default. Jika Anda menggunakan akun layanan default, akun tersebut harus memiliki peran IAM Cloud AlloyDB Client (roles/alloydb.client
) dan Service Usage Consumer (roles/serviceusage.serviceUsageConsumer
).Untuk informasi selengkapnya tentang pendekatan Google Cloud terhadap autentikasi, lihat Ringkasan autentikasi.