Menghubungkan Looker (Google Cloud core) ke database Anda

Untuk membuat kueri data, hubungkan instance Looker (Google Cloud core) ke database. Panduan ini menjelaskan cara menggunakan dialek yang didukung dan mengonfigurasi opsi koneksi tertentu.

Untuk instance yang menggunakan koneksi pribadi, Anda mungkin perlu menyelesaikan konfigurasi tambahan untuk mengakses database. Konfigurasi spesifiknya bergantung pada penyiapan jaringan untuk instance Looker (Google Cloud core) yang Anda gunakan.

Menyiapkan koneksi database

Looker (Google Cloud core) harus terhubung ke database untuk mengaktifkan eksplorasi data. Lihat daftar dialek yang didukung untuk mempelajari dialek yang didukung oleh Looker (Google Cloud core).

Anda dapat membuat koneksi database dalam instance Looker (Google Cloud core) jika memiliki salah satu izin berikut:

Anda dapat mengikuti panduan Menyiapkan Looker yang muncul secara dinamis dalam instance Looker (Google Cloud core) untuk menghubungkan database, atau Anda dapat mengikuti langkah-langkah yang tercantum di halaman dokumentasi khusus dialek. Sebagian besar setelan bersifat umum untuk sebagian besar dialek database. Lihat halaman dokumentasi Menghubungkan Looker ke database untuk mengetahui informasi tentang kolom umum di jendela penyiapan koneksi Looker.

Ada langkah-langkah tambahan jika Anda ingin menyiapkan koneksi Looker (Google Cloud core) dengan salah satu opsi berikut:

Menggunakan Kredensial Default Aplikasi untuk terhubung ke database BigQuery

Instance Looker (Google Cloud core) dapat menggunakan Kredensial Default Aplikasi (ADC) untuk melakukan autentikasi saat Anda menyiapkan koneksi ke database BigQuery SQL standar. Saat Anda menggunakan ADC, koneksi akan melakukan autentikasi ke database menggunakan kredensial akun layanan project Looker (Google Cloud core).

Untuk menggunakan ADC dengan database BigQuery, pilih Kredensial Default Aplikasi di kolom Authentication pada halaman Connection Settings instance Looker. Untuk prosedur lengkapnya, lihat dokumentasi untuk menghubungkan Looker ke database BigQuery.

Jika instance Looker (Google Cloud core) Anda menggunakan tabel turunan persisten dengan set data BigQuery, Anda juga harus memberikan peran Identity and Access Management (IAM) BigQuery Data Editor kepada akun layanan Looker.

Jika Anda terhubung ke database BigQuery yang berada di project yang berbeda dengan instance Looker (Google Cloud core), beberapa penyiapan tambahan diperlukan. Lihat bagian Menggunakan Kredensial Default Aplikasi dengan database BigQuery di project Google Cloud yang berbeda.

Peniruan akun layanan

Jika Anda ingin melakukan autentikasi ke database BigQuery menggunakan akun layanan selain akun layanan project Looker (Google Cloud core), Anda dapat membuat alur permintaan yang didelegasikan dengan memasukkan akun layanan lain, atau rantai akun layanan yang dipisahkan koma, ke dalam kolom Impersonated Service Account. Akun layanan Looker (Google Cloud core) otomatis digunakan sebagai akun layanan pertama dalam rantai dan tidak perlu ditambahkan ke kolom. Akun layanan terakhir dalam rantai (juga dikenal sebagai akun layanan yang ditiru identitasnya) adalah akun yang melakukan autentikasi dengan database.

Saat menggunakan peniruan akun layanan, lakukan hal berikut:

Tag kebijakan BigQuery dan penyamaran data dinamis

Saat Looker (Google Cloud core) terhubung ke BigQuery menggunakan ADC atau akun layanan, BigQuery tidak menerima kredensial pengguna Looker individual. Karena BigQuery hanya melihat satu identitas untuk semua kueri, keamanan tingkat kolom BigQuery bawaan (tag kebijakan dan penyamaran data) tidak dapat menerapkan aturan akses atau penyamaran yang berbeda untuk setiap pengguna Looker.

Untuk menerapkan penyamaran data dinamis dengan Looker (Google Cloud core) dan BigQuery, pertimbangkan salah satu opsi arsitektur berikut:

  • Penyamaran lapisan aplikasi (didukung untuk ADC dan akun layanan): Pertahankan satu koneksi database yang menggunakan ADC atau akun layanan, dan terapkan logika penyamaran data dalam lapisan semantik LookML menggunakan pernyataan CASE WHEN LookML yang didorong oleh atribut pengguna yang dipetakan dari penyedia identitas Anda.
  • Penyamaran lapisan database (memerlukan OAuth): Konfigurasikan koneksi Looker ke BigQuery untuk menggunakan OAuth, bukan ADC. OAuth meneruskan kredensial individual setiap pengguna akhir langsung ke BigQuery, sehingga BigQuery dapat mengevaluasi dan menerapkan tag kebijakan serta aturan penyamaran data per pengguna secara native.

Menggunakan Kredensial Default Aplikasi dengan database BigQuery di project Google Cloud yang berbeda

Langkah-langkah untuk menggunakan ADC untuk database BigQuery Standard SQL yang berada di luar project yang menampung instance Looker (Google Cloud core) Anda sama dengan langkah-langkah untuk menyiapkan koneksi di dalam project yang sama. Namun, sebelum Anda dapat menyiapkan koneksi di instance Looker (Google Cloud core), akun layanan project Looker (Google Cloud core) Anda harus memiliki peran IAM berikut:

Jika akun layanan Looker (Google Cloud core) belum memiliki peran IAM dalam project yang berisi set data BigQuery, gunakan alamat email akun layanan saat Anda memberikan peran dalam project tersebut. Untuk menemukan alamat email akun layanan, buka halaman IAM di konsol Google Cloud , lalu centang kotak Sertakan pemberian peran yang disediakan Google. Email akan memiliki format service-<project number>@gcp-sa-looker.. Gunakan email tersebut untuk memberikan peran yang sesuai ke akun layanan.

Setelah peran yang sesuai diberikan, ikuti langkah-langkah untuk menggunakan ADC.

Sekarang Anda dapat menggunakan ADC dengan database SQL Standar BigQuery ini. Project yang dilampirkan ke akun layanan yang ditentukan di halaman Connection Settings akan digunakan untuk penagihan dan juga bertindak sebagai project default.

Menggunakan Kredensial Default Aplikasi untuk terhubung ke database Cloud SQL

Instance Looker (Google Cloud core) dapat menggunakan ADC untuk mengautentikasi koneksi ke database Cloud SQL (Cloud SQL untuk PostgreSQL atau Cloud SQL untuk MySQL). Saat Anda menggunakan ADC untuk melakukan autentikasi ke database Cloud SQL, project Google Cloud tempat database Cloud SQL berjalan adalah project yang ditagih untuk kueri Looker.

Untuk koneksi Looker ke Cloud SQL yang menggunakan ADC, ADC meniru akun layanan atau rantai akun layanan untuk mengakses database Anda. Saat membuat koneksi Looker ke database, Anda menggunakan kolom IAM database username(s) untuk menentukan akun layanan, atau rantai akun layanan, yang akan ditiru oleh ADC. Akun layanan Looker yang dibuat secara otomatis saat Anda membuat instance Looker (Google Cloud core) akan otomatis digunakan sebagai akun layanan pertama dalam rantai dan tidak perlu ditambahkan ke kolom.

Jika ingin melakukan autentikasi ke database Cloud SQL menggunakan akun layanan selain akun layanan Looker, Anda dapat membuat alur permintaan yang didelegasikan dengan memasukkan akun layanan lain, atau rangkaian akun layanan yang dipisahkan koma, ke dalam kolom IAM database username(s).

Akun layanan terakhir dalam rantai (juga dikenal sebagai akun layanan yang ditiru identitasnya) adalah akun yang melakukan autentikasi dengan database, dan akun ini harus ditambahkan sebagai pengguna di database Cloud SQL Anda. Jika Anda menggunakan akun layanan Looker sebagai akun layanan terakhir dalam rantai (dengan mengosongkan kolom IAM database username(s)), Anda harus menambahkan akun layanan Looker sebagai pengguna di database Cloud SQL Anda.

Berikut adalah langkah-langkah umum untuk menghubungkan database Cloud SQL untuk PostgreSQL atau Cloud SQL untuk MySQL ke Looker menggunakan ADC:

  1. Tambahkan akun layanan yang ditiru ke database Cloud SQL Anda.
  2. Siapkan peniruan akun layanan di database Cloud SQL Anda.
  3. Hubungkan ke database Anda untuk menjalankan perintah konfigurasi tambahan untuk Cloud SQL untuk PostgreSQL atau Cloud SQL untuk MySQL.
  4. Buat koneksi Looker ke database Anda.

Menambahkan akun layanan yang ditiru ke database Cloud SQL Anda

Saat membuat koneksi Looker ke database, Anda menggunakan kolom IAM database username(s) untuk menentukan akun layanan, atau rangkaian akun layanan, yang akan ditiru oleh ADC untuk melakukan tindakan pada database Anda. Akun layanan terakhir dalam rantai peniruan identitas dianggap sebagai akun layanan yang ditiru identitasnya.

Untuk menggunakan ADC dengan Cloud SQL, Anda harus menambahkan akun layanan yang ditiru ke database Cloud SQL:

  • Dalam kasus default, jika Anda mengosongkan kolom IAM database username(s), ADC akan meniru akun layanan Looker. Dalam hal ini, akun layanan Looker adalah akun layanan yang ditiru, jadi Anda perlu menambahkan akun layanan Looker ke database Cloud SQL Anda. Lihat halaman dokumentasi Membuat instance Looker (Google Cloud core) untuk mengetahui informasi tentang akun layanan Looker dan prosedur untuk melihat alamat email akun layanan Looker.
  • Jika Anda menentukan akun layanan selain akun layanan Looker, atau jika Anda menentukan rantai akun layanan di kolom IAM database username(s), Anda harus menambahkan akun layanan terakhir dalam rantai peniruan identitas ke database Cloud SQL Anda.

Untuk menambahkan akun layanan ke database Cloud SQL, Anda harus memiliki peran IAM Cloud SQL Admin.

Ikuti prosedur "Menambahkan akun pengguna atau layanan IAM ke instance database" untuk dialek database Anda guna menambahkan akun layanan yang ditiru ke database Cloud SQL:

Menyiapkan peniruan akun layanan di database Cloud SQL Anda

Setelah membuat pengguna Cloud SQL di database, Anda harus menyiapkan database Cloud SQL untuk peniruan identitas layanan dengan melakukan langkah-langkah berikut:

  1. Ikuti prosedur untuk mengaktifkan Cloud SQL Admin API.
  2. Pastikan semua akun layanan dalam rantai, termasuk akun layanan Looker, memiliki izin IAM yang sesuai.
  3. Ikuti prosedur untuk memberikan satu peran di konsol Google Cloud . Berikan peran Cloud SQL berikut ke akun layanan yang ditiru yang Anda tambahkan ke database Cloud SQL:

    Jika Anda menentukan akun layanan selain akun layanan Looker, atau jika Anda menentukan rantai akun layanan di kolom IAM database username(s), berikan izin berikut kepada setiap akun layanan dalam rantai tersebut:

Perintah konfigurasi tambahan untuk Cloud SQL untuk MySQL

Untuk Cloud SQL untuk MySQL, Anda harus terhubung ke instance database dan menjalankan perintah berikut di database Cloud SQL untuk MySQL:

GRANT ALL on DATABASE_NAME.* to 'DATABASE_USER'@'%'

Ganti kode berikut:

  • DATABASE_NAME: Nama database Anda.
  • DATABASE_USER: Nama pengguna akun layanan yang dipotong untuk akun layanan yang ditiru yang Anda tambahkan ke database Cloud SQL. Akun layanan akan memiliki format service-<project number>@gcp-sa-looker.. Potong nama pengguna dengan menghapus @ dan semua yang mengikutinya. Setelah pemotongan, nama pengguna akan terlihat seperti service-<project number>.

Misalnya, jika nama pengguna akun layanan adalah service-12345678901@gcp-sa-looker. dan nama database adalah looker-test, perintahnya akan seperti berikut:

GRANT ALL on looker-test.* to 'service-12345678901'@'%'

Perintah konfigurasi tambahan untuk Cloud SQL untuk PostgreSQL

Untuk Cloud SQL untuk PostgreSQL, Anda harus terhubung ke instance database dan menjalankan beberapa perintah konfigurasi di database Cloud SQL untuk PostgreSQL:

  • Berikan izin pengguna pada database Anda seperti yang dijelaskan di bagian Pengguna dan keamanan pada halaman dokumentasi PostgreSQL.
  • Tetapkan jalur penelusuran yang akan digunakan Looker SQL Runner untuk mengambil metadata dari database Anda, seperti yang dijelaskan di bagian Menetapkan search_path di halaman PostgreSQL dokumentasi Looker.

Membuat koneksi dari Looker (Google Cloud core) ke database Cloud SQL Anda

Untuk membuat koneksi dari Looker ke database Anda, ikuti langkah-langkah berikut:

  1. Di bagian Admin Looker, pilih Connections, lalu klik Add Connection.
  2. Dari menu drop-down Dialect, pilih Google Cloud PostgreSQL atau, untuk Cloud SQL untuk MySQL, pilih Google Cloud SQL.
  3. Di bagian Authentication, klik opsi Kredensial Default Aplikasi.
  4. Di kolom IAM database username(s), tentukan akun layanan, atau rantai akun layanan, yang Anda inginkan untuk ditiru identitasnya oleh ADC guna melakukan tindakan pada database Anda:

  5. Isi detail koneksi lainnya. Sebagian besar setelan bersifat umum untuk sebagian besar dialek database. Lihat halaman dokumentasi Menghubungkan Looker ke database Anda untuk mengetahui informasi selengkapnya.

  6. Untuk memverifikasi bahwa koneksi berhasil, klik tombol Test Connection di bagian Status details di bagian bawah halaman Connections Settings.

  7. Jika Looker menampilkan Can Connect, tekan Connect untuk membuat koneksi.

Koneksi database Anda kemudian akan ditambahkan ke daftar di halaman Admin Connections Looker.

Setelah koneksi database disiapkan, Anda siap menyiapkan project LookML.

Mengonfigurasi autentikasi OAuth dengan BigQuery

Untuk mengonfigurasi autentikasi OAuth untuk koneksi ke database BigQuery di instance Looker (Google Cloud core), ikuti langkah-langkah berikut:

  1. Di bagian Authentication, pilih OAuth. Looker (Google Cloud core) secara default menggunakan kredensial aplikasi OAuth yang digunakan admin Looker saat membuat instance Looker (Google Cloud core). Anda tidak perlu membuat atau memasukkan client ID dan rahasia klien secara manual.
  2. Tambahkan URI pengalihan tambahan ke kolom Authorized redirect URIs di klien OAuth instance (atau buat klien OAuth baru dengan kredensial dan tambahkan URI pengalihan). URI pengalihan harus menggunakan URL instance Looker yang diikuti dengan /external_oauth/redirect. Untuk mengetahui informasi latar belakang, lihat dokumentasi membuat kredensial OAuth untuk BigQuery.

Jika Anda ingin memasukkan kredensial OAuth yang berbeda secara manual untuk koneksi ini, aktifkan tombol Manually configure OAuth credentials, lalu isi kolom OAuth Client ID dan OAuth Client Secret. Jika Anda memasukkan kredensial OAuth secara manual, tindakan tersebut tidak akan mengubah atau memperbarui kredensial yang digunakan saat instance Looker (Google Cloud core) dibuat. Ikuti langkah-langkah dalam dokumentasi Mengonfigurasi project database BigQuery untuk OAuth guna membuat dan menggunakan kredensial yang berbeda.

Dialek yang didukung untuk Looker (Google Cloud core)

Tabel berikut menunjukkan dukungan Looker (Google Cloud core) untuk dialek database:

Dialek Didukung?
Actian Avalanche
Amazon Athena
Amazon Aurora MySQL
Amazon Redshift
Amazon Redshift 2.1+
Amazon Redshift Serverless 2.1+
Apache Druid
Apache Druid 0.13.x - 0.17.x
Apache Druid 0.18+
Apache Hive 2.3+
Apache Hive 3.1.2+
Apache Spark 3+
ClickHouse
ClickHouse 26+
Cloudera Impala 3.1+
Cloudera Impala 3.1+ with Native Driver
Cloudera Impala with Native Driver
DataVirtuality
Databricks
Denodo 7
Denodo 8 & 9
Dremio
Dremio 11+
Dremio 26+ with Arrow Flight SQL
Exasol
Google BigQuery Legacy SQL
Google BigQuery Standard SQL
Google Cloud AlloyDB for PostgreSQL
Google Cloud PostgreSQL
Google Cloud SQL
Google Spanner
Greenplum
HyperSQL
IBM Netezza
MariaDB
Microsoft Azure PostgreSQL
Microsoft Azure SQL Database
Microsoft Azure Synapse Analytics
Microsoft SQL Server 2008+
Microsoft SQL Server 2012+
Microsoft SQL Server 2016
Microsoft SQL Server 2017+
MongoBI
MongoSQL
MySQL
MySQL 8.0.12+
Oracle
Oracle ADWC
PostgreSQL 9.5+
PostgreSQL pre-9.5
PrestoDB
PrestoSQL
SAP HANA
SAP HANA 2+
SingleStore
SingleStore 7+
Snowflake
Teradata
Trino
Vector
Vertica

Petunjuk konfigurasi database

Petunjuk tersedia untuk dialek SQL berikut:

Langkah berikutnya