Tampilan yang diberi otorisasi
Dokumen ini menjelaskan cara membuat tampilan yang diotorisasi dan tampilan terwujud yang diotorisasi di BigQuery.
Ringkasan
Sebagai administrator data, Anda dapat membuat tampilan yang diizinkan untuk membagikan subset data dalam set data kepada pengguna dan grup (akun utama) tertentu. Prinsipal dapat melihat data yang Anda bagikan dan menjalankan kueri di dalamnya, tetapi mereka tidak dapat mengakses set data sumber secara langsung.
Jenis tampilan
Tampilan logis adalah jenis tampilan default untuk BigQuery, dan tampilan terwujud adalah tampilan yang telah dihitung sebelumnya yang secara berkala meng-cache hasil kueri untuk meningkatkan performa dan efisiensi.
Tampilan yang diotorisasi untuk tampilan logis disebut tampilan yang diotorisasi, tetapi tampilan yang diotorisasi untuk tampilan terwujud disebut tampilan terwujud yang diotorisasi.
Jika tampilan logis mengandalkan kueri yang besar atau mahal secara komputasi, Anda dapat membuat tampilan terwujud sebagai gantinya. Namun, membuat kueri hanya untuk sebagian data atau menggunakan teknik lain sering kali dapat meningkatkan performa tanpa perlu membuat tampilan yang diwujudkan.
Untuk informasi selengkapnya, lihat referensi berikut:
Langkah-langkah tingkat tinggi untuk membuat tampilan yang diotorisasi
Untuk membuat dan membagikan tampilan, tinjau langkah-langkah tingkat tinggi berikut, yang sama untuk tampilan logis yang diotorisasi dan tampilan terwujud yang diotorisasi.
- Buat set data untuk menampung data sumber Anda.
- Jalankan kueri untuk memuat data ke tabel tujuan di set data sumber.
- Buat set data untuk menampung tampilan resmi Anda.
- Buat tampilan yang diotorisasi dari kueri SQL yang membatasi kolom yang dapat dilihat oleh analis data Anda dalam hasil kueri.
- Berikan izin kepada analis data Anda untuk menjalankan tugas kueri.
- Berikan akses ke set data yang berisi tampilan yang diotorisasi kepada analis data Anda.
- Berikan akses tampilan yang diotorisasi ke set data sumber.
Alternatif
Meskipun tampilan yang diotorisasi fleksibel dan skalabel, salah satu metode berikut mungkin lebih sesuai untuk kasus penggunaan Anda:
- Menetapkan kebijakan tingkat baris pada tabel.
- Menetapkan kebijakan tingkat kolom pada tabel.
- Menyimpan data dalam tabel terpisah.
- Membagikan semua tampilan dalam set data (set data yang diizinkan).
Menggunakan keamanan tingkat baris atau tingkat kolom, atau tabel terpisah
Dengan menetapkan kebijakan akses tingkat baris pada tabel, atau dengan membuat tabel terpisah untuk menyimpan data sensitif, administrator data dapat membatasi kemampuan pengguna untuk melihat data tersebut. Menyimpan data dalam tabel terpisah akan mengisolasi data dan menghapus kemampuan untuk melihat jumlah baris yang ada dalam tabel.
Selain itu, dengan membuat dan menerapkan tag kebijakan, administrator data dapat membatasi kemampuan pengguna untuk melihat kolom dalam tabel.
Menyimpan data dalam tabel terpisah adalah metode yang paling aman, tetapi paling tidak fleksibel. Menetapkan kebijakan tingkat baris bersifat fleksibel dan aman, sedangkan berbagi tampilan yang sah bersifat fleksibel dan memberikan performa terbaik.
Untuk membandingkan metode ini secara mendetail, lihat referensi berikut:
- Perbandingan antara tampilan yang diotorisasi, keamanan tingkat baris, dan tabel terpisah
- Pengantar keamanan tingkat baris
- Contoh kasus penggunaan untuk keamanan tingkat baris
- Pengantar kontrol akses tingkat kolom
Membagikan semua tampilan dalam set data
Jika ingin memberikan akses koleksi tabel virtual ke set data tanpa harus memberi otorisasi setiap tabel virtual tertentu, Anda dapat mengelompokkan tabel virtual ke dalam set data, lalu memberikan set data yang berisi akses tabel virtual ke set data yang berisi data.
Selanjutnya, Anda dapat memberikan akses kepada akun utama ke set data yang berisi grup tabel virtual, atau ke setiap tabel virtual dalam set data, sesuai kebutuhan. Set data yang memiliki akses ke set data lain disebut set data yang diizinkan. Set data yang memberikan otorisasi pada set data lain untuk mengakses datanya disebut set data bersama.
Untuk mengetahui informasi selengkapnya, lihat Set data yang diotorisasi dan Memberi otorisasi pada set data.
Batasan
- Saat Anda membuat tampilan yang diotorisasi atau tampilan terwujud yang diotorisasi di set data lain, set data dari data sumber dan set data tampilan yang diotorisasi harus berada di lokasi regional yang sama.
- Saat Anda menghapus tampilan yang diotorisasi, diperlukan waktu hingga 24 jam untuk menghapus tampilan yang diotorisasi tersebut dari daftar tampilan. Selama waktu ini, Anda tidak dapat mengakses tampilan yang diotorisasi, tetapi tampilan yang dihapus tersebut dapat muncul dalam daftar tampilan, dan dihitung dalam batas tampilan yang diotorisasi. Batas ini dapat mencegah pembuatan tampilan tambahan yang diotorisasi jika tampilan baru yang diotorisasi akan melebihi batas tersebut.
Sebelum memulai
Berikan peran Identity and Access Management (IAM) yang memberi pengguna izin yang diperlukan untuk membuat kueri tampilan yang diotorisasi atau tampilan terwujud yang diotorisasi yang Anda bagikan.
Peran yang diperlukan
Untuk membuat atau memperbarui tampilan yang diotorisasi, Anda memerlukan izin ke set data yang berisi tampilan dan ke set data yang memberikan akses ke tampilan tersebut.
Anda juga perlu memberikan akses ke project dan set data yang berisi tampilan kepada pengguna atau grup.
Izin admin pada set data yang berisi tampilan
Tampilan diperlakukan sebagai resource tabel di BigQuery, sehingga pembuatan tampilan memerlukan izin yang sama seperti pembuatan tabel. Anda juga harus memiliki izin untuk membuat kueri setiap tabel yang direferensikan oleh kueri SQL tampilan.
Untuk membuat tampilan, Anda memerlukan izin IAM
bigquery.tables.create
. Peran IAM roles/bigquery.dataEditor
yang telah ditetapkan mencakup izin yang diperlukan untuk membuat tampilan.
Selain itu, jika Anda memiliki izin bigquery.datasets.create
, Anda dapat
membuat tampilan dalam set data yang Anda buat. Agar dapat membuat tampilan untuk data yang
bukan milik Anda, Anda harus memiliki izin bigquery.tables.getData
untuk tabel tersebut.
Untuk mengetahui informasi selengkapnya tentang peran dan izin IAM di BigQuery, lihat Peran dan izin yang telah ditetapkan.
Izin admin pada set data kedua yang memberikan akses ke tampilan
Untuk memperbarui properti set data, Anda memerlukan izin IAM berikut:
bigquery.datasets.update
bigquery.datasets.setIamPolicy
(hanya diperlukan saat memperbarui kontrol akses set data di Konsol Google Cloud)
Peran IAM roles/bigquery.dataOwner
yang telah ditetapkan mencakup
izin yang Anda perlukan untuk memperbarui properti set data.
Selain itu, jika memiliki izin bigquery.datasets.create
, Anda dapat
memperbarui properti set data yang Anda buat.
Untuk mengetahui informasi selengkapnya tentang peran dan izin IAM di BigQuery, lihat Peran dan izin bawaan.
Izin pengguna pada project dan set data untuk tampilan
Untuk membagikan tampilan yang diotorisasi kepada pengguna atau grup, Anda harus memberikan izin IAM berikut kepada pengguna atau grup tersebut:
- Peran IAM
roles/bigquery.user
ke project yang berisi tampilan yang diotorisasi. - Peran IAM
roles/bigquery-data-viewer
ke set data yang berisi tampilan yang diizinkan.
Menggunakan tampilan yang diotorisasi
Bagian berikut menjelaskan cara menggunakan tampilan yang diotorisasi dan tampilan material yang diotorisasi.
Membuat, membagikan, dan menghapus tampilan yang diotorisasi
Untuk mengetahui langkah-langkah lengkap dalam memberikan otorisasi, membagikan, dan menghapus tampilan yang diotorisasi, lihat tutorial Membuat tampilan yang diotorisasi.
Mengelola pengguna atau grup untuk tampilan yang diotorisasi
Setelah memberikan otorisasi ke tampilan, Anda dapat mempertahankan akses ke tampilan tersebut dengan menyelesaikan tugas berikut untuk set data, tabel, atau tampilan:
- Lihat kebijakan akses.
- Berikan akses.
- Cabut akses.
- Menolak akses.
Untuk mengetahui informasi selengkapnya, lihat Mengontrol akses ke resource menggunakan IAM.
Menghapus otorisasi ke tampilan
Untuk menghapus otorisasi ke tampilan, pilih salah satu opsi berikut:
Konsol
Buka halaman BigQuery di Konsol Google Cloud.
Di panel Explorer, luaskan project Anda dan pilih set data.
Klik > Otorisasi tampilan.
BerbagiKlik
untuk Menghapus otorisasi.Klik Close.
bq
Untuk menghapus otorisasi dari tampilan, gunakan perintah bq rm
. Masukkan
table_id
untuk tampilan yang ingin Anda hapus otorisasinya.
bq rm \ project_id:dataset:table_id
API
Panggil metode tables.delete
dan gunakan properti projectID
,datasetID
, dan tableID
untuk
menghapus tampilan yang diotorisasi untuk set data Anda. Untuk mengetahui informasi selengkapnya, lihat
Tabel.
Kuota dan batas
- Tampilan yang diotorisasi tunduk pada batas set data. Untuk mengetahui informasi selengkapnya, lihat Batas set data.
- Jika Anda menghapus tampilan yang diotorisasi, perlu waktu hingga 24 jam untuk menghapus semua referensi ke tampilan tersebut dari sistem. Untuk menghindari error, tunggu 24 jam sebelum menggunakan kembali nama tampilan yang dihapus, atau buat nama unik untuk tampilan Anda.
Topik lanjutan
Bagian berikut menjelaskan metode lanjutan untuk menggunakan tampilan yang diotorisasi.
Menggabungkan keamanan tingkat baris dengan tampilan yang diizinkan
Data yang ditampilkan dalam tampilan logis atau tampilan terwujud difilter sesuai dengan kebijakan akses tingkat baris tabel sumber yang mendasarinya.
Untuk mengetahui detail tentang cara keamanan tingkat baris berinteraksi dengan tampilan terwujud, lihat Menggunakan keamanan tingkat baris dengan fitur BigQuery lainnya.
Menggabungkan keamanan tingkat kolom dengan tampilan yang diotorisasi
Dampak keamanan tingkat kolom pada tampilan tidak bergantung pada apakah tampilan merupakan tampilan yang diotorisasi atau bukan.
Untuk deskripsi mendetail tentang cara izin diterapkan, lihat Tampilan kueri untuk keamanan tingkat kolom.
Menggunakan Analytics Hub dengan tampilan yang diotorisasi
Analytics Hub adalah platform pertukaran data dengan kemampuan berikut:
- Memungkinkan Anda berbagi data dan insight dalam skala besar di seluruh batas organisasi.
- Menggunakan framework keamanan dan privasi yang andal.
- Mendukung publikasi set data BigQuery, yang disebut set data bersama, serta tampilan resmi dan set data resmi terkait, ke sekumpulan pelanggan.
Set data tertaut adalah set data BigQuery hanya baca yang berfungsi sebagai pointer atau referensi ke set data bersama. Berlangganan listingan Analytics Hub akan membuat set data tertaut dalam project Anda, tetapi bukan salinan set data, sehingga subscriber dapat membaca data, tetapi tidak dapat menambahkan atau memperbarui objek di dalamnya.
Tabel virtual terwujud yang merujuk ke tabel dalam set data tertaut tidak didukung.
Untuk mengetahui informasi selengkapnya, lihat Pengantar Analytics Hub.
Langkah berikutnya
- Untuk tutorial tentang cara membuat tampilan yang diotorisasi, lihat Membuat tampilan yang diotorisasi.
- Untuk membuat tampilan logis, lihat Membuat tampilan logis.
- Untuk membuat tampilan terwujud, yang mendukung jenis kontrol akses lainnya, lihat Membuat tampilan terwujud.
- Untuk mendapatkan metadata tampilan, lihat Mendapatkan informasi tentang tampilan.
- Untuk mengelola tampilan, lihat Mengelola tampilan.