Proxy Auth AlloyDB adalah konektor yang memungkinkan Anda membuat koneksi terenkripsi dan resmi ke database AlloyDB untuk PostgreSQL tanpa mengelola sertifikat SSL atau mengonfigurasi aturan firewall. Untuk panduan langkah demi langkah dalam menggunakan Proxy Auth, lihat Menghubungkan menggunakan Proxy Auth AlloyDB.
Manfaat menggunakan Proxy Auth AlloyDB
Proxy Auth memberikan keuntungan berikut dibandingkan menghubungkan klien secara langsung ke database AlloyDB:
Otorisasi koneksi berbasis Identity and Access Management (IAM). Proxy Auth menggunakan kredensial dan izin akun utama IAM untuk mengizinkan koneksi ke instance AlloyDB.
Autentikasi IAM otomatis. Proxy Auth dapat secara otomatis mengautentikasi pengguna database berdasarkan akun utama IAM yang menjalankan proxy.
Komunikasi yang aman dan terenkripsi. Proxy Auth secara otomatis membuat, menggunakan, dan memelihara koneksi mutual TLS (mTLS) 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 terhubung ke instance AlloyDB, lihat Ringkasan koneksi.
Cara kerja Proxy Auth AlloyDB
Proxy Auth AlloyDB berjalan sebagai proses klien lokal (alloydb-auth-proxy) di
lingkungan aplikasi Anda dan memproses koneksi di localhost (secara
default di port TCP 5432) atau di soket domain Unix lokal. Aplikasi Anda
terhubung ke pemroses lokal ini menggunakan driver dan protokol kabel PostgreSQL standar, sementara klien Proxy Auth meneruskan traffic melalui tunnel terenkripsi (mTLS 1.3 dengan cipher AES 256-bit) ke proses server Proxy Auth pendampingnya
yang berjalan di instance AlloyDB. Setiap koneksi yang dibuat melalui Proxy Auth membuat
satu koneksi ke instance AlloyDB.
Saat aplikasi terhubung ke Proxy Auth, proxy akan memeriksa apakah koneksi yang ada ke instance AlloyDB target tersedia. Jika koneksi tidak ada, proxy akan memanggil AlloyDB API untuk mendapatkan sertifikat SSL sementara dan menggunakannya untuk membuat tunnel mTLS ke instance. Masa berlaku sertifikat SSL sementara akan habis dalam waktu 24 jam, dan Proxy Auth akan memperbaruinya secara otomatis sebelum masa berlakunya habis.
Proxy Auth memanggil AlloyDB API melalui nama domain
alloydb.googleapis.com melalui HTTPS. Oleh karena itu, firewall Anda harus mengizinkan
koneksi TCP keluar pada port 443 (HTTPS) dari mesin klien.
Meskipun dapat memproses secara lokal di port mana pun, Proxy Auth membuat koneksi keluar ke instance AlloyDB Anda hanya di port TCP 5433. Jika host klien Anda memiliki firewall keluar, host tersebut harus mengizinkan koneksi
ke port 5433 di alamat IP instance AlloyDB Anda dan ke port
443 untuk semua alamat IP.
Anda dapat menggunakan Proxy Auth di semua jalur konektivitas jaringan AlloyDB:
- Akses layanan pribadi (default): Terhubung ke alamat IP internal instance dalam jaringan Virtual Private Cloud (VPC) yang di-peering.
- Private Service Connect: Terhubung melalui
endpoint Private Service Connect dan data DNS pribadi
saat Anda meneruskan flag
--psc. - IP Publik: Terhubung ke alamat IP publik instance saat Anda meneruskan flag
--public-ip. Karena Proxy Auth mengautentikasi dan mengenkripsi koneksi menggunakan IAM dan mTLS di port5433, Anda tidak perlu menambahkan alamat IP klien ke Jaringan eksternal yang diizinkan saat terhubung melalui Proxy Auth.
Cara Proxy Auth AlloyDB mengautentikasi dan mengizinkan koneksi
Untuk mengizinkan koneksi klien ke instance AlloyDB, klien Proxy Auth melakukan autentikasi ke Google Cloud menggunakan kredensial akun utama IAM di klien, lalu memvalidasi bahwa akun utama IAM memiliki peran IAM Klien AlloyDB (roles/alloydb.client) dan Konsumen Penggunaan Layanan (roles/serviceusage.serviceUsageConsumer).
Secara default, klien Proxy Auth menggunakan Kredensial Default Aplikasi (ADC) untuk menemukan kredensial klien. Hal ini memberikan cara standar dan terpadu bagi aplikasi untuk melakukan autentikasi secara otomatis tanpa mengedit atau melakukan hardcode pada nilai konfigurasi.
Autentikasi standar
Untuk penyiapan pengembangan dan produksi standar, Anda tidak perlu mengonfigurasi kredensial atau flag kustom. Klien Proxy Auth secara otomatis menyelesaikan kredensial menggunakan jalur lingkungan standar. Bergantung pada lingkungan yang Anda gunakan untuk menjalankan klien Proxy Auth, klien ini akan menemukan kredensial dari sumber berikut:
Pengembangan lokal. Saat mengembangkan secara lokal, Anda dapat melakukan autentikasi menggunakan akun pengguna Google pribadi atau perusahaan Anda. Klien Proxy Auth otomatis mendeteksi dan menggunakan kredensial ini. Ini adalah pendekatan yang direkomendasikan untuk pengembangan lokal, sehingga tidak perlu mendownload file kunci akun layanan secara lokal. Untuk mengetahui petunjuk menyeluruh tentang cara menyiapkan lingkungan pengembangan lokal, lihat Menghubungkan dari laptop Anda dan Menginstal alat command line
psql.Lingkungan yang dikelola Google. Saat Anda menjalankan aplikasi di layanan Google Cloud —seperti instance Compute Engine, Google Kubernetes Engine, Cloud Run, Cloud Run Functions, atau App Engine—kredensial dari akun layanan yang terlampir akan otomatis disediakan oleh server metadata lingkungan. Klien Proxy Auth secara otomatis menemukan dan menggunakan kredensial ini tanpa konfigurasi tambahan.
- Jika resource komputasi berada dalam project yang sama dengan instance AlloyDB, akun layanan default biasanya memiliki izin yang diperlukan untuk melakukan autentikasi.
- Jika resource komputasi dan instance AlloyDB berada di project yang berbeda, Anda harus menambahkan akun layanan resource komputasi ke project yang berisi instance AlloyDB dan memberinya peran yang diperlukan.
Mengganti kredensial
Dalam skenario tertentu—seperti pengujian, menjalankan di luar Google Cloud, atau saat Anda ingin mengabaikan kredensial lingkungan standar—Anda dapat mengganti kredensial menggunakan salah satu metode berikut:
Kunci akun layanan. Berikan kunci melalui variabel lingkungan
GOOGLE_APPLICATION_CREDENTIALSatau flag--credentials-file. Kunci akun layanan akan berisiko keamanan jika tidak dikelola dengan benar, jadi sebaiknya gunakan salah satu sumber standar jika memungkinkan.Token akses OAuth 2.0 yang ada. Berikan token melalui flag
--token.Kredensial gcloud CLI. Berikan kredensial ini melalui flag
--gcloud-auth. Kami tidak merekomendasikan flag ini. Sebagai gantinya, jalankangcloud auth application-default login.
Untuk mengetahui informasi selengkapnya tentang cara mengonfigurasi kredensial ini di klien, lihat Menghubungkan menggunakan Proxy Auth AlloyDB. Untuk mengetahui informasi umum tentang pendekatan Google Cloud terhadap autentikasi, lihat Ringkasan autentikasi.