Menghubungkan ke AlloyDB untuk PostgreSQL

Sebagai administrator BigQuery, Anda dapat membuat koneksi untuk mengakses data AlloyDB. Koneksi ini memungkinkan analis data mengkueri data di AlloyDB.

Untuk terhubung ke AlloyDB, Anda harus melakukan langkah-langkah berikut:

  1. Buat koneksi AlloyDB.

  2. Berikan akses ke akun layanan.

Sebelum memulai

  1. Mengaktifkan BigQuery Connection API.

    Mengaktifkan API

  2. Untuk mendapatkan izin yang diperlukan untuk membuat koneksi AlloyDB, minta administrator untuk memberi Anda peran IAM BigQuery Connection Admin (roles/bigquery.connectionAdmin) pada project. Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses.

    Anda mungkin juga bisa mendapatkan izin yang diperlukan melalui peran khusus atau peran bawaan lainnya.

Membuat koneksi AlloyDB

Sebagai praktik terbaik, gunakan koneksi untuk menangani kredensial database saat Anda terhubung ke AlloyDB. Koneksi dienkripsi dan disimpan dengan aman di layanan koneksi BigQuery. Jika kredensial pengguna valid untuk data lain di sumber, Anda dapat menggunakan kembali koneksi tersebut. Misalnya, Anda dapat menggunakan satu koneksi untuk membuat kueri database yang sama dalam instance AlloyDB beberapa kali.

Pilih salah satu opsi berikut untuk membuat koneksi AlloyDB:

bq

Masukkan perintah bq mk dengan flag berikut:

  bq mk \
  --connection \
  --location=LOCATION \
  --project_id=PROJECT_ID \
  --connector_configuration '{
    "connector_id": "google-alloydb",
    "asset": {
      "database": "DATABASE",
      "google_cloud_resource": "RESOURCE_PATH"
    },
    "authentication": {
      "username_password": {
        "username": "USERNAME",
        "password": {
          "plaintext": "PASSWORD"
        }
      }
    }
  }' \
  CONNECTION_ID

Ganti kode berikut:

  • LOCATION: Tentukan region dari set data BigQuery yang akan digabungkan dengan data dari AlloyDB. Kueri yang menggunakan koneksi ini harus dijalankan dari region ini.
  • PROJECT_ID: Masukkan ID project Google Cloud Anda.
  • DATABASE: Masukkan nama database.
  • RESOURCE_PATH: Masukkan URI Koneksi instance AlloyDB dengan awalan //alloydb.googleapis.com.
    • Contoh URI: //alloydb.googleapis.com/projects/PROJECT_ID/locations/REGION_ID/clusters/CLUSTER_NAME/instances/INSTANCE_ID
  • USERNAME: Masukkan nama pengguna database.
  • PASSWORD: Masukkan sandi pengguna database.
  • CONNECTION_ID: Masukkan ID koneksi untuk mengidentifikasi koneksi ini.

API

Dalam BigQuery Connection API, Anda dapat memanggil CreateConnection dalam ConnectionService untuk membuat instance koneksi. Lihat halaman library klien untuk detail selengkapnya.

Memberikan akses ke akun layanan

Akun layanan otomatis dibuat saat Anda membuat koneksi pertama dalam sebuah project. Nama akun layanan adalah BigQuery Connection Service Agent. ID akun layanan memiliki format berikut:

service-PROJECT_NUMBER@gcp-sa-bigqueryconnection.iam.gserviceaccount.com.

Untuk terhubung ke AlloyDB, Anda harus memberikan akses koneksi baru ke AlloyDB sehingga BigQuery dapat mengakses data atas nama pengguna. Akun layanan harus memiliki izin berikut:

  • alloydb.instances.connect

Anda dapat memberikan peran IAM Klien AlloyDB ke akun layanan yang terkait dengan koneksi, yang telah menetapkan izin ini. Anda dapat menghilangkan langkah ini jika akun layanan sudah memiliki izin yang diperlukan.

Konsol

  1. Buka halaman IAM & Admin.

    Buka IAM & Admin

  2. Klik Berikan Akses.

    Dialog Tambahkan akun utama akan terbuka.

  3. Di kolom Tambahkan akun utama, masukkan nama akun layanan Agen Layanan Koneksi BigQuery atau ID akun layanan yang diambil dari informasi koneksi.

  4. Di kolom Select a role, pilih AlloyDB, lalu pilih AlloyDB Client.

  5. Klik Simpan.

gcloud

Gunakan perintah gcloud projects add-iam-policy-binding:

gcloud projects add-iam-policy-binding PROJECT_ID --member=serviceAccount:SERVICE_ACCOUNT_ID --role=roles/alloydb.client

Berikan nilai berikut:

  • PROJECT_ID: ID project Google Cloud Anda.
  • SERVICE_ACCOUNT_ID: Ganti nomor project di service-PROJECT_NUMBER@gcp-sa-bigqueryconnection.iam.gserviceaccount.com dan gunakan.

Berbagi koneksi dengan pengguna

Anda dapat memberikan peran berikut untuk mengizinkan pengguna membuat kueri data dan mengelola koneksi:

  • roles/bigquery.connectionUser: memungkinkan pengguna menggunakan koneksi untuk terhubung dengan sumber data eksternal dan menjalankan kueri pada sumber data tersebut.

  • roles/bigquery.connectionAdmin: memungkinkan pengguna mengelola koneksi.

Untuk informasi selengkapnya tentang peran dan izin IAM di BigQuery, baca Peran dan izin bawaan.

Pilih salah satu opsi berikut:

bq

Gunakan perintah set-iam-policy berikut:

  bq set-iam-policy RESOURCE FILE_NAME

Ganti kode berikut:

  • RESOURCE: Masukkan nama resource dalam format project_id.region.connection_id atau region.connection_id.
  • FILE_NAME: Masukkan nama file yang berisi kebijakan IAM dalam format JSON.

Untuk mengetahui informasi selengkapnya tentang perintah set-iam-policy, lihat Mengontrol akses ke resource dengan IAM.

API

Gunakan metode projects.locations.connections.setIAM di bagian referensi REST API Koneksi BigQuery dan berikan instance resource policy.

Langkah selanjutnya