BigQuery adalah data warehouse analisis berskala petabyte yang dapat Anda gunakan untuk menjalankan kueri SQL pada data dalam jumlah besar mendekati real time.
Memberikan akses lihat ke set data disebut juga dengan membuat tampilan yang diotorisasi di BigQuery. Tampilan yang diotorisasi memungkinkan Anda membagikan hasil kueri dengan pengguna dan grup tertentu tanpa memberi mereka akses ke tabel dasar. Anda juga dapat menggunakan kueri SQL tampilan untuk membatasi kolom yang dapat dibuat kueri oleh pengguna. Dalam tutorial ini, Anda akan membuat tampilan yang diotorisasi.
Tujuan
Tutorial ini menunjukkan kepada Anda cara menyelesaikan tugas-tugas berikut:
- Membuat set data dan menerapkan kontrol akses ke set data tersebut
- Menetapkan kontrol akses ke project Anda
- Membuat tampilan yang diotorisasi yang membatasi data yang dapat dibuat kueri oleh pengguna
Biaya
BigQuery adalah produk berbayar, dan Anda akan dikenai biaya penggunaan BigQuery dalam tutorial ini. BigQuery menawarkan beberapa resource tanpa biaya hingga batas tertentu. Untuk informasi lebih lanjut, lihat Operasi gratis dan paket gratis BigQuery.
Sebelum memulai
Sebelum memulai tutorial ini, gunakan konsol Google Cloud untuk membuat atau memilih project.
- Login ke akun Google Cloud Anda. Jika Anda baru menggunakan Google Cloud, buat akun untuk mengevaluasi performa produk kami dalam skenario dunia nyata. Pelanggan baru juga mendapatkan kredit gratis senilai $300 untuk menjalankan, menguji, dan men-deploy workload.
-
Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.
-
Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.
- BigQuery secara otomatis diaktifkan dalam project baru.
Untuk mengaktifkan BigQuery dalam project yang sudah ada, buka
Enable the BigQuery API.
- Opsional: Aktifkan penagihan untuk project. Jika Anda tidak ingin mengaktifkan penagihan atau memberikan kartu kredit, langkah-langkah dalam dokumen ini tetap berfungsi. BigQuery menyediakan sandbox untuk melakukan langkah-langkah tersebut. Untuk mengetahui informasi selengkapnya, lihat Mengaktifkan sandbox BigQuery.
Membuat set data sumber
Anda mulai dengan membuat set data untuk menyimpan data sumber. Untuk tutorial ini, Anda akan mengisi tabel di set data sumber dengan membuat kueri set data publik GitHub. Data dalam set data sumber berisi informasi yang tidak ingin Anda tampilkan kepada analis data. Anda membatasi akses ke data menggunakan tampilan yang diotorisasi.
Untuk membuat set data sumber:
Konsol
Di konsol Google Cloud, buka halaman BigQuery.
Di panel Explorer, pilih project tempat Anda ingin membuat set data.
Luaskan opsi
Actions, lalu klik Create dataset.Untuk Dataset ID, masukkan
github_source_data
.Tetap gunakan setelan default lainnya, lalu klik Create dataset.
SQL
Gunakan pernyataan DDL CREATE SCHEMA
:
Di Konsol Google Cloud, buka halaman BigQuery.
Di editor kueri, masukkan pernyataan berikut:
CREATE SCHEMA github_source_data;
Klik
Run.
Untuk informasi selengkapnya tentang cara menjalankan kueri, lihat Menjalankan kueri interaktif.
Java
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Java di Panduan memulai BigQuery menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi BigQuery Java API.
Untuk melakukan autentikasi ke BigQuery, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
Python
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Python di Panduan memulai BigQuery menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi BigQuery Python API.
Untuk melakukan autentikasi ke BigQuery, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
Setelah membuat set data sumber, Anda dapat mengisi tabel di dalamnya menggunakan kueri SQL. Kueri ini mengambil data dari set data publik GitHub.
Konsol
Di konsol Google Cloud, buka halaman BigQuery.
Salin dan tempel kueri berikut ke panel Editor.
SELECT commit, author, committer, repo_name FROM `bigquery-public-data.github_repos.commits` LIMIT 1000;
Klik More dan pilih Query settings.
Untuk Destination, pilih Set a destination table for query results.
Untuk Dataset, masukkan
PROJECT_ID.github_source_data
. Ganti PROJECT_ID dengan project ID Anda.Untuk Table ID, masukkan
github_contributors
.Klik Save.
Klik Run.
Setelah kueri selesai, klik github_contributors, lalu klik Preview untuk memastikan data telah ditulis ke tabel.
Java
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Java di Panduan memulai BigQuery menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi BigQuery Java API.
Untuk melakukan autentikasi ke BigQuery, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
Python
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Python di Panduan memulai BigQuery menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi BigQuery Python API.
Untuk melakukan autentikasi ke BigQuery, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
Membuat set data tempat Anda dapat menyimpan tampilan
Setelah membuat set data sumber, Anda perlu membuat set data baru yang terpisah untuk menyimpan tampilan yang diotorisasi dan akan Anda bagikan kepada analis data. Di langkah selanjutnya, Anda akan memberikan akses lihat yang diotorisasi ke data dalam set data sumber. Kemudian, analis data Anda akan memiliki akses ke tampilan yang diotorisasi, tetapi bukan akses langsung ke data sumber.
Tampilan yang diotorisasi harus dibuat dalam set data yang berbeda dengan data sumber. Dengan demikian, pemilik data dapat memberi pengguna akses ke tampilan yang diotorisasi tanpa memberikan akses ke data dasar secara bersamaan. Set data dari data sumber dan set data tampilan yang diotorisasi harus berada di lokasi regional yang sama.
Untuk membuat set data guna menyimpan tampilan:
Konsol
Di konsol Google Cloud, buka halaman BigQuery.
Di panel Explorer, pilih project tempat Anda ingin membuat set data.
Luaskan opsi
Actions, lalu klik Create dataset.Untuk Dataset ID, masukkan
shared_views
.Tetap gunakan setelan default lainnya, lalu klik Create dataset.
SQL
Gunakan pernyataan DDL CREATE SCHEMA
:
Di Konsol Google Cloud, buka halaman BigQuery.
Di editor kueri, masukkan pernyataan berikut:
CREATE SCHEMA shared_views;
Klik
Run.
Untuk informasi selengkapnya tentang cara menjalankan kueri, lihat Menjalankan kueri interaktif.
Java
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Java di Panduan memulai BigQuery menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi BigQuery Java API.
Untuk melakukan autentikasi ke BigQuery, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
Python
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Python di Panduan memulai BigQuery menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi BigQuery Python API.
Untuk melakukan autentikasi ke BigQuery, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
Membuat tampilan dalam set data baru
Di set data baru, buat tampilan yang ingin Anda beri otorisasi. Ini adalah tampilan yang Anda bagikan kepada analis data Anda. Tampilan ini dibuat menggunakan kueri SQL yang mengecualikan kolom yang tidak ingin Anda tampilkan kepada analis data.
Untuk tutorial ini, tampilan yang dibagikan tidak menyertakan informasi penulis kecuali nama penulis, dan tidak menyertakan informasi committer kecuali nama committer.
Untuk membuat tampilan dalam set data baru:
Konsol
Di konsol Google Cloud, buka halaman BigQuery.
Salin dan tempel kueri berikut ke panel Editor. Ganti
PROJECT_ID
dengan project ID Anda.SELECT commit, author.name AS author, committer.name AS committer, repo_name FROM `PROJECT_ID.github_source_data.github_contributors`;
Klik Save > Save view.
Pada dialog Save view:
- Untuk Project, pastikan project Anda dipilih.
- Untuk Dataset, masukkan
shared_views
. - Untuk Table, masukkan
github_analyst_view
. - Klik Save.
SQL
Gunakan pernyataan DDL CREATE VIEW
:
Di Konsol Google Cloud, buka halaman BigQuery.
Di editor kueri, masukkan pernyataan berikut:
CREATE VIEW shared_views.github_analyst_view AS ( SELECT commit, author.name AS author, committer.name AS committer, repo_name FROM `PROJECT_ID.github_source_data.github_contributors` );
Ganti
PROJECT_ID
dengan project ID Anda.Klik
Run.
Untuk informasi selengkapnya tentang cara menjalankan kueri, lihat Menjalankan kueri interaktif.
Java
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Java di Panduan memulai BigQuery menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi BigQuery Java API.
Untuk melakukan autentikasi ke BigQuery, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
Python
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Python di Panduan memulai BigQuery menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi BigQuery Python API.
Untuk melakukan autentikasi ke BigQuery, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
Menetapkan peran IAM level project untuk analis data Anda
Untuk membuat kueri tampilan, analis data memerlukan izin untuk menjalankan tugas
kueri. Peran bigquery.user
mencakup izin untuk menjalankan tugas, termasuk
tugas kueri, dalam project. Jika Anda memberi pengguna atau grup
peran bigquery.user
di level project, pengguna tersebut dapat membuat set data dan
menjalankan tugas kueri terhadap tabel dalam set data tersebut. Peran bigquery.user
tidak
memberi pengguna izin untuk membuat kueri data, melihat data tabel, atau melihat detail skema
tabel untuk set data yang tidak dibuat pengguna.
Menetapkan peran bigquery.user
level project kepada analis data tidak
memberi mereka kemampuan untuk melihat atau mengkueri data tabel dalam set data yang berisi
tabel yang dikueri oleh tampilan. Peran bigquery.user
juga tidak memberi pengguna
kemampuan untuk memperbarui tampilan Anda.
Sebagian besar individu (data scientist, analis
intelijen bisnis, analis data) di perusahaan harus diberi peran
bigquery.user
level project.
Saat Anda menambahkan grup ke peran IAM, alamat email dan domain harus dikaitkan dengan Akun Google atau akun aplikasi Google yang aktif.
Untuk menetapkan grup analis data ke peran bigquery.user
di level
project:
Konsol
Buka halaman IAM di Konsol Google Cloud.
Pastikan project Anda dipilih pada pemilih project di panel atas.
Klik
Grant access.Pada dialog Grant access to:
- Di kotak New principals, masukkan grup yang berisi analis
data Anda.
Contoh,
data_analysts@example.com
. - Pada kotak Select a role, telusuri peran BigQuery User, lalu pilih peran tersebut.
- Klik Save.
- Di kotak New principals, masukkan grup yang berisi analis
data Anda.
Contoh,
Menetapkan kontrol akses ke set data yang berisi tampilan
Agar analis data Anda dapat membuat kueri tampilan, mereka harus diberi peran
bigquery.dataViewer
pada set data yang berisi tampilan tersebut. Peran
bigquery.user
memberi analis data Anda izin yang diperlukan untuk membuat
tugas kueri. Namun, mereka tidak akan berhasil membuat kueri tampilan kecuali jika mereka juga
memiliki akses bigquery.dataViewer
ke set data yang berisi tampilan.
Untuk memberi analis data Anda akses bigquery.dataViewer
ke set data:
Konsol
Di konsol Google Cloud, buka halaman BigQuery.
Di panel Explorer, pilih set data
shared_views
.Klik > Permissions.
SharingDi panel Dataset permissions, klik Add principal.
Di kotak New principals, masukkan grup yang berisi analis data Anda (misalnya,
data_analysts@example.com
).Klik Select a role, lalu pilih BigQuery > BigQuery Data Viewer.
Klik Save.
Klik Close.
Java
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Java di Panduan memulai BigQuery menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi BigQuery Java API.
Untuk melakukan autentikasi ke BigQuery, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
Python
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Python di Panduan memulai BigQuery menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi BigQuery Python API.
Untuk melakukan autentikasi ke BigQuery, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
Mengizinkan tampilan untuk mengakses set data sumber
Setelah membuat kontrol akses untuk set data yang berisi tampilan, tambahkan tampilan sebagai tampilan yang diotorisasi dalam set data sumber. Otorisasi ini memberi akses lihat ke data sumber, tetapi bukan akses bagi grup analis data Anda ke data sumber.
Untuk mengizinkan tampilan mengakses data sumber:
Konsol
Di konsol Google Cloud, buka halaman BigQuery.
Di panel Explorer, pilih set data
github_source_data
.Klik
Sharing, lalu pilih Authorize views.Di panel Authorized views yang terbuka, masukkan tampilan
github_analyst_view
di kolom Authorized views.Klik Add Authorization.
Tampilan github_analyst_view
kini diberi otorisasi untuk mengakses data di set data
sumber.
Java
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Java di Panduan memulai BigQuery menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi BigQuery Java API.
Untuk melakukan autentikasi ke BigQuery, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
Python
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Python di Panduan memulai BigQuery menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi BigQuery Python API.
Untuk melakukan autentikasi ke BigQuery, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
Memverifikasi konfigurasi
Setelah konfigurasi selesai, anggota grup analis data Anda (misalnya,
data_analysts
) dapat memverifikasi konfigurasi dengan membuat kueri tampilan.
Untuk memverifikasi konfigurasi:
SQL
Minta anggota grup analis data Anda melakukan hal berikut:
Di konsol Google Cloud, buka halaman BigQuery.
Di editor kueri, masukkan pernyataan berikut:
SELECT * FROM `PROJECT_ID.shared_views.github_analyst_view`;
Ganti
PROJECT_ID
dengan project ID Anda.Klik
Run.
Untuk informasi selengkapnya tentang cara menjalankan kueri, lihat Menjalankan kueri interaktif.
Kode sumber lengkap
Berikut adalah kode sumber lengkap tutorial sebagai referensi Anda.
Java
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Java di Panduan memulai BigQuery menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi BigQuery Java API.
Untuk melakukan autentikasi ke BigQuery, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
Python
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Python di Panduan memulai BigQuery menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi BigQuery Python API.
Untuk melakukan autentikasi ke BigQuery, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
Pembersihan
Agar tidak perlu membayar biaya pada akun Google Cloud Anda untuk resource yang digunakan dalam tutorial ini, hapus project yang berisi resource tersebut, atau simpan project dan hapus setiap resource.
- Di konsol Google Cloud, buka halaman Manage resource.
- Pada daftar project, pilih project yang ingin Anda hapus, lalu klik Delete.
- Pada dialog, ketik project ID, lalu klik Shut down untuk menghapus project.
Langkah selanjutnya
- Baca Peran dan izin yang telah ditetapkan untuk mempelajari tentang kontrol akses di BigQuery.
- Baca Pengantar tampilan untuk mempelajari tentang tampilan BigQuery.
- Baca Membuat tampilan yang diotorisasi untuk mempelajari lebih lanjut tentang tampilan yang diotorisasi.
- Baca Ringkasan IAM untuk mempelajari konsep dasar IAM.
- Baca Mengelola kebijakan untuk mempelajari cara mengelola kontrol akses.