Tentang Proxy Auth AlloyDB

Halaman ini memberikan ringkasan tentang Proxy Auth AlloyDB, konektor yang memungkinkan Anda membuat koneksi terenkripsi yang sah ke database AlloyDB.

Untuk panduan langkah demi langkah tentang cara menggunakan Proxy Auth, lihat Menghubungkan menggunakan Proxy Auth AlloyDB.

Manfaat menggunakan Proxy Auth AlloyDB

Proxy Auth memberikan keuntungan berikut dibandingkan dengan menghubungkan klien langsung ke database AlloyDB:

  • Otorisasi koneksi berbasis IAM (AuthZ): Proxy Auth menggunakan kredensial dan izin akun utama Identity and Access Management (IAM) untuk memberi otorisasi koneksi ke instance AlloyDB.

  • Komunikasi terenkripsi yang aman: 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.

Proxy Auth AlloyDB memanggil API melalui nama domain alloydb.googleapis.com menggunakan HTTPS. Akibatnya, semua koneksi TCP keluar pada port 443 (HTTPS) dari mesin klien harus diizinkan oleh firewall Anda.

Meskipun dapat memproses port apa pun, Proxy Auth AlloyDB membuat koneksi keluar ke instance AlloyDB Anda hanya pada port 5433. Jika host klien Anda memiliki firewall keluar, firewall tersebut harus mengizinkan koneksi ke port 5433 di alamat IP instance AlloyDB Anda. Host klien juga harus mengizinkan koneksi ke port 443, yang merupakan port HTTPS standar, ke semua alamat IP.

Cara Proxy Auth AlloyDB mengizinkan principal IAM

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 Cloud AlloyDB (roles/alloydb.client) dan Konsumen Penggunaan Layanan (roles/serviceusage.serviceUsageConsumer).

Untuk menemukan kredensial IAM di klien, klien Proxy Auth memeriksa setiap item berikut, menggunakan item pertama yang ditemukan untuk mencoba autentikasi ke Google Cloud:

  1. Kredensial yang disediakan oleh flag --credentials-file

    Gunakan akun layanan untuk membuat dan mendownload file kunci JSON terkait, lalu tetapkan flag --credentials-file ke jalur file saat Anda memulai klien Proxy Auth. 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.

  2. Kredensial yang disediakan oleh tanda --token

    Buat token akses dan panggil perintah alloydb-auth-proxy dengan flag --token yang ditetapkan ke token akses OAuth 2.0.

  3. Kredensial yang disediakan oleh variabel lingkungan

    Opsi ini mirip dengan menggunakan flag --credentials-file, kecuali Anda menentukan file kredensial JSON yang ditetapkan dalam GOOGLE_APPLICATION_CREDENTIALS variabel lingkungan, bukan menggunakan flag --credentials-file.

  4. Kredensial dari klien Google Cloud CLI yang diautentikasi

    Jika Anda telah menginstal gcloud CLI dan melakukan autentikasi dengan akun pribadi, klien Proxy Auth dapat menggunakan kredensial akun yang sama jika Anda mengaktifkan flag --gcloud-auth. Metode ini sangat membantu untuk mendapatkan lingkungan pengembangan dan menjalankannya.

    Jika tidak ada akun yang dipilih untuk gcloud auth login, klien Proxy Auth akan memeriksa akun yang dipilih untuk gcloud auth application-default login. Ini adalah perilaku default jika Anda tidak mengaktifkan tanda --gcloud-auth.

  5. 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 Identity and Access Management (IAM) Cloud AlloyDB Client (roles/alloydb.client) dan Service Usage Consumer (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.

  6. Akun layanan default lingkungan

    Jika klien Auth Proxy tidak dapat menemukan kredensial di tempat mana pun yang telah dibahas sebelumnya, klien tersebut mengikuti logika yang didokumentasikan dalam Mengautentikasi 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 mengetahui informasi selengkapnya tentang pendekatan Google Cloud terhadap autentikasi, lihat Ringkasan autentikasi.

Langkah berikutnya