Menggunakan Secret Manager untuk menangani secret di AlloyDB untuk PostgreSQL

Halaman ini menjelaskan cara menggunakan AlloyDB untuk PostgreSQL dengan Secret Manager untuk menyimpan informasi akses sensitif.

Menangani informasi sensitif Anda dengan aman adalah bagian penting dalam membangun alur kerja pengembangan yang aman. Untuk AlloyDB, sebaiknya Anda menyimpan informasi sensitif sebagai secret yang dibuat di Secret Manager. Secret mencakup kunci API, sandi, informasi sensitif, dan kredensial yang mungkin Anda gunakan untuk mengakses sistem rahasia.

Ringkasan

Secret Manager memberikan kemudahan dan meningkatkan keamanan. Anda juga dapat menerapkan pembuatan versi ke secret Anda dan membagikannya ke seluruh tim Anda. Untuk mempelajari lebih lanjut cara membagikan secret dengan tim, lihat Kontrol akses dengan IAM.

Nama pengguna dan sandi

Menggunakan Secret Manager untuk menyimpan nama pengguna dan sandi akun pengguna AlloyDB Anda sebagai secret adalah cara yang aman dan andal untuk mengelola informasi sensitif Anda.

Pertama, buat pengguna di AlloyDB. Anda harus memberikan nama pengguna dan sandi. Untuk mengetahui informasi selengkapnya tentang cara membuat pengguna di AlloyDB, lihat Mengelola pengguna PostgreSQL dengan autentikasi bawaan.

Setelah membuat pengguna, buat secret di Secret Manager untuk menyimpan nama pengguna dan sandi, yang mencegah hilangnya informasi sensitif Anda. Untuk mengetahui informasi selengkapnya tentang cara membuat dan mengakses secret di Secret Manager, lihat Membuat secret.

Skenario replika lintas region

Jika cluster AlloyDB utama gagal, Anda dapat mempromosikan cluster sekunder. Setelah cluster sekunder menjadi cluster utama, Anda harus memperbarui nama koneksi instance untuk mencerminkan promosi ini. Jika nama instance disimpan dalam secret, Anda harus memperbarui secret dengan nama cluster utama yang baru. Untuk mengetahui informasi selengkapnya, lihat Mengedit secret.

Salah satu cara menggunakan Secret Manager untuk failover adalah dengan menyimpan nama cluster utama Anda di dalam secret, lalu membungkus pemanggilan Proxy Auth AlloyDB dalam skrip yang melakukan polling Secret Manager.

Untuk mendeteksi kapan nilai untuk nama koneksi instance diperbarui, gunakan Proxy Auth AlloyDB, lalu mulai ulang dengan nilai baru, seperti berikut:

#!/bin/bash

SECRET_ID="my-secret-id" # TODO(developer): replace this value
REFRESH_INTERVAL=5
PORT=5432                # TODO(developer): change this port as needed

# Get the latest version of the secret and start the proxy
INSTANCE=$(gcloud secrets versions access "latest" --secret="$SECRET_ID")
alloydb-auth-proxy $INSTANCE --port=$PORT &
PID=$!

# Every 5s, get the latest version of the secret. If it's changed, restart the
# proxy with the new value.
while true; do
    sleep $REFRESH_INTERVAL
    NEW=$(gcloud secrets versions access "latest" --secret="$SECRET_ID")
    if [ "$INSTANCE" != "$NEW" ]; then
        INSTANCE=$NEW
        kill $PID
        wait $PID
        alloydb-auth-proxy $INSTANCE --port=$PORT &
        PID=$!
    fi
done

Untuk mengetahui informasi selengkapnya tentang cara membuat dan mengakses secret yang berisi nama koneksi instance replika utama, lihat Membuat dan mengakses secret menggunakan Secret Manager. Untuk mengetahui informasi selengkapnya tentang cara menggunakan proxy Auth AlloyDB, lihat Menghubungkan menggunakan Proxy Auth AlloyDB.

Langkah berikutnya

  • Untuk mempelajari cara mengintegrasikan Secret Manager dengan lingkungan pengembangan Anda, lihat berbagai contoh yang tersedia di halaman Semua contoh kode Secret Manager.