Mengonfigurasi peran BigQuery sharing
Untuk mengelola akses ke listingan dan pertukaran data berbagi BigQuery Anda, berikan peran Identity and Access Management (IAM) tertentu untuk berbagi BigQuery (sebelumnya Analytics Hub). Dengan menetapkan peran ini, Anda mengontrol izin untuk data Anda dan membantu memastikan bahwa hanya pengguna yang diizinkan yang dapat menemukan, berlangganan, dan mengelola resource berbagi data Anda.
Peran IAM berbagi BigQuery
Bagian berikut menjelaskan peran pengguna berbagi BigQuery yang telah ditetapkan. Tetapkan peran ini untuk mengontrol akses ke pertukaran dan listingan data Anda.
Peran Admin Analytics Hub
Untuk mengelola pertukaran data, BigQuery sharing menyediakan peran Admin Analytics Hub (roles/analyticshub.admin) yang dapat Anda berikan untuk project atau pertukaran data. Dengan peran ini, Anda dapat melakukan hal berikut:
- Membuat, memperbarui, dan menghapus pertukaran data.
- Membuat, memperbarui, menghapus, dan membagikan listingan.
- Mengelola administrator BigQuery sharing, administrator listingan, penayang, pelanggan, dan pelihat.
Dengan peran ini, Anda akan menjadi administrator berbagi BigQuery.
Peran Admin Listingan dan Penayang Analytics Hub
Untuk mengelola listingan, BigQuery sharing menyediakan peran yang telah ditetapkan berikut yang dapat Anda berikan untuk project, pertukaran data, atau listingan:
Peran Penayang Analytics Hub (
roles/analyticshub.publisher), yang memungkinkan Anda melakukan hal berikut:- Membuat, memperbarui, dan menghapus listingan.
- Menetapkan kebijakan IAM pada listingan.
Dengan peran ini, Anda menjadi penayang BigQuery sharing.
Peran Admin Listingan Analytics Hub (
roles/analyticshub.listingAdmin), yang memungkinkan Anda melakukan hal berikut:- Memperbarui dan menghapus listingan.
- Menetapkan kebijakan IAM pada listingan.
Dengan peran ini, Anda akan menjadi administrator BigQuery sharing listing.
Peran Pelanggan dan Pelihat Analytics Hub
Untuk melihat dan berlangganan listingan dan pertukaran data, BigQuery sharing menyediakan peran yang telah ditetapkan berikut yang dapat Anda berikan untuk sebuah project, pertukaran data, atau listingan:
Peran Analytics Hub Subscriber (
roles/analyticshub.subscriber), yang memungkinkan Anda melihat dan berlangganan listingan.Dengan peran ini, Anda akan menjadi subscriber BigQuery sharing.
Peran Pelihat Analytics Hub (
roles/analyticshub.viewer), yang memungkinkan Anda melihat listingan dan izin pertukaran data.Dengan peran ini, Anda akan menjadi BigQuery sharing viewer.
Peran Pemilik Langganan Analytics Hub
Untuk mengelola langganan, BigQuery sharing menyediakan peran bawaan berikut yang dapat Anda berikan untuk project:
- Peran Pemilik Langganan Analytics Hub
(
roles/analyticshub.subscriptionOwner), yang memungkinkan Anda mengelola langganan.
Dengan peran ini, Anda menjadi pemilik langganan BigQuery sharing.
Memberikan peran IAM berbagi BigQuery
Anda dapat memberikan peran IAM pada tingkat hierarki resource berikut:
- Project. Jika Anda memberikan peran untuk suatu project, peran tersebut akan berlaku untuk semua pertukaran data dan listingan dalam project tersebut.
- Pertukaran data. Jika Anda memberikan peran untuk pertukaran data, peran tersebut akan berlaku untuk semua listingan dalam pertukaran data tersebut.
- Listingan. Jika Anda memberikan peran untuk listingan, peran tersebut hanya berlaku untuk listingan tertentu tersebut.
Memberikan peran untuk project
Untuk menetapkan kebijakan IAM pada sebuah project, Anda harus memiliki
peran Admin IAM Project
(roles/resourcemanager.projectIamAdmin) di project tersebut. Untuk memberikan
peran IAM berbagi BigQuery bawaan untuk project,
pilih salah satu opsi berikut:
Konsol
Di konsol Google Cloud , buka halaman IAM.
Klik Grant access.
Di kolom New principals, masukkan alamat email akun utama yang ingin Anda beri akses. Anda dapat menentukan salah satu jenis principal berikut:
- Alamat email Akun Google:
test-user@gmail.com - Grup Google:
admins@googlegroups.com - Akun layanan:
server@example.gserviceaccount.com - Domain Google Workspace:
example.com
- Alamat email Akun Google:
Di daftar Pilih peran, tahan kursor ke Analytics Hub, lalu pilih salah satu peran berikut:
- Analytics Hub Admin
- Analytics Hub Listing Admin
- Analytics Hub Publisher
- Analytics Hub Subscriber
- Pemilik Langganan Analytics Hub
- Analytics Hub Viewer
Opsional: Untuk mengontrol lebih lanjut akses ke Google Cloud resource, tambahkan binding peran bersyarat.
Klik Simpan.
gcloud
Untuk memberikan peran untuk project, gunakan
perintah gcloud projects add-iam-policy-binding:
gcloud projects add-iam-policy-binding PROJECT_ID \
--member='PRINCIPAL' \
--role='roles/analyticshub.admin'
Ganti kode berikut:
PROJECT_ID: project ID—misalnya,my-project-1.PRINCIPAL: akun utama valid yang ingin Anda berikan peran. Anda dapat menentukan salah satu jenis prinsipal berikut:- Alamat email Akun Google:
user:test-user@gmail.com - Grup Google:
group:admins@googlegroups.com - Akun layanan:
serviceAccount:server@example.gserviceaccount.com - Domain Google Workspace:
domain:example.com
- Alamat email Akun Google:
API
Untuk membaca kebijakan yang ada, gunakan metode
projects.getIamPolicy:POST https://cloudresourcemanager.googleapis.com/v1/projects/PROJECT_ID:getIamPolicy
Ganti
PROJECT_IDdengan project ID, misalnya,my-project-1.Untuk menambahkan akun utama dan peran terkait, edit kebijakan dengan editor teks. Gunakan format berikut untuk menambahkan anggota:
user:test-user@gmail.comgroup:admins@googlegroups.comserviceAccount:server@example.gserviceaccount.comdomain:example.com
Misalnya, untuk memberikan peran
roles/analyticshub.adminkegroup:admins@googlegroups.com, tambahkan binding berikut ke kebijakan:{ "members": [ "group:admins@googlegroups.com" ], "role":"roles/analyticshub.admin" }Untuk menetapkan kebijakan untuk project, gunakan metode
projects.setIamPolicy. Di isi permintaan, berikan kebijakan IAM yang telah diperbarui dari langkah sebelumnya:POST https://cloudresourcemanager.googleapis.com/v1/projects/PROJECT_ID:setIamPolicy
Ganti
PROJECT_IDdengan project ID, misalnya,my-project-1.
Anda dapat memperbarui dan menghapus peran project menggunakan panel IAM yang sama.
Memberikan peran untuk pertukaran data
Saat memberikan izin untuk pertukaran data, Anda harus menggunakan huruf kecil untuk lokasi dalam nama resource. Menggunakan nilai huruf besar atau campuran huruf besar/kecil dapat menyebabkan error penolakan izin.
Contoh berikut menunjukkan format nama resource yang valid dan tidak valid:
- Penggunaan:
projects/myproject/locations/us/dataExchanges/123 - Hindari:
projects/myproject/locations/US/dataExchanges/123 - Hindari:
projects/myproject/locations/Eu/dataExchanges/123
Untuk memberikan peran pertukaran data, pilih salah satu opsi berikut:
Konsol
Di konsol Google Cloud , buka halaman Sharing (Analytics Hub).
Klik nama pertukaran data yang izinnya ingin Anda tetapkan.
Klik tab Details.
Klik Setel izin.
Untuk menambahkan akun utama, klik Tambahkan akun utama.
Di kolom New principals, masukkan alamat email akun utama yang ingin Anda beri akses. Anda juga dapat menggunakan
allUsersuntuk membuat resource menjadi publik dan dapat diakses oleh semua orang di internet, atauallAuthenticatedUsersuntuk membuatnya hanya dapat diakses oleh pengguna Google yang login.Di daftar Pilih peran, tahan kursor ke Analytics Hub, lalu pilih salah satu peran IAM berikut:
- Analytics Hub Admin
- Analytics Hub Listing Admin
- Analytics Hub Publisher
- Analytics Hub Subscriber
- Pemilik Langganan Analytics Hub
- Analytics Hub Viewer
Klik Save.
API
Untuk membaca kebijakan yang ada, gunakan metode
projects.locations.dataExchanges.getIamPolicy:POST https://analyticshub.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/dataExchanges/DATAEXCHANGE_ID:getIamPolicy
Ganti kode berikut:
PROJECT_ID: project ID—misalnya,my-project-1.LOCATION: lokasi untuk pertukaran data Anda. Gunakan huruf kecil.DATAEXCHANGE_ID: ID pertukaran data.
Berbagi BigQuery menampilkan kebijakan saat ini.
Untuk menambahkan atau menghapus anggota dan peran IAM terkait, edit kebijakan dengan editor teks. Gunakan format berikut untuk menambahkan anggota:
user:test-user@gmail.comgroup:admins@googlegroups.comserviceAccount:server@example.gserviceaccount.comdomain:example.com
Misalnya, untuk memberikan peran
roles/analyticshub.subscriberkegroup:subscribers@googlegroups.com, tambahkan binding berikut ke kebijakan:{ "members": [ "group:subscribers@googlegroups.com" ], "role":"roles/analyticshub.subscriber" }Untuk menetapkan kebijakan pertukaran data, gunakan metode
projects.locations.dataExchanges.setIamPolicy. Di isi permintaan, berikan kebijakan IAM yang telah diperbarui dari langkah sebelumnya:POST https://analyticshub.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/dataExchanges/DATAEXCHANGE_ID:setIamPolicy
Anda dapat memperbarui dan menghapus peran pertukaran data menggunakan panel IAM yang sama.
Memberikan peran untuk listingan
Saat memberikan izin untuk listingan, Anda harus menggunakan huruf kecil untuk lokasi dalam nama resource. Menggunakan nilai huruf besar atau campuran huruf besar dan kecil dapat menyebabkan error penolakan izin.
Contoh berikut menunjukkan format nama resource yang valid dan tidak valid:
- Penggunaan:
projects/myproject/locations/us/dataExchanges/123/listings/456 - Hindari:
projects/myproject/locations/US/dataExchanges/123/listings/456 - Hindari:
projects/myproject/locations/Eu/dataExchanges/123/listings/456
Untuk memberikan peran pada listingan, pilih salah satu opsi berikut:
Konsol
Di konsol Google Cloud , buka halaman Sharing (Analytics Hub).
Klik nama pertukaran data yang berisi listingan.
Klik listingan yang izinnya ingin Anda tetapkan.
Klik Setel izin.
Untuk menambahkan akun utama, klik Tambahkan akun utama.
Di kolom New principals, masukkan alamat email akun utama yang ingin Anda beri akses.
Di daftar Pilih peran, tahan kursor ke Analytics Hub, lalu pilih salah satu peran IAM berikut:
- Analytics Hub Admin
- Analytics Hub Listing Admin
- Analytics Hub Publisher
- Analytics Hub Subscriber
- Pemilik Langganan Analytics Hub
- Analytics Hub Viewer
Klik Save.
API
Untuk membaca kebijakan yang ada, gunakan metode
projects.locations.dataExchanges.listings.getIamPolicy:POST https://analyticshub.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/dataExchanges/DATAEXCHANGE_ID/listings/LISTING_ID:getIamPolicy
Ganti kode berikut:
PROJECT_ID: project ID—misalnya,my-project-1.LOCATION: lokasi pertukaran data yang berisi listingan. Gunakan huruf kecil.DATAEXCHANGE_ID: ID pertukaran data.LISTING_ID: ID listingan.
Berbagi BigQuery menampilkan kebijakan saat ini.
Untuk menambahkan atau menghapus anggota dan peran IAM terkait, edit kebijakan dengan editor teks. Gunakan format berikut untuk menambahkan anggota:
user:test-user@gmail.comgroup:admins@googlegroups.comserviceAccount:server@example.gserviceaccount.comdomain:example.com
Misalnya, untuk memberikan peran
roles/analyticshub.publisherkegroup:publishers@googlegroups.com, tambahkan binding berikut ke kebijakan:{ "members": [ "group:publishers@googlegroups.com" ], "role":"roles/analyticshub.publisher" }Untuk menetapkan kebijakan listingan, gunakan metode
projects.locations.dataExchanges.listings.setIamPolicy. Di isi permintaan, berikan kebijakan IAM yang telah diperbarui dari langkah sebelumnya:POST https://analyticshub.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/dataExchanges/DATAEXCHANGE_ID/listings/LISTING_ID:setIamPolicy
Anda dapat memperbarui dan menghapus peran listingan menggunakan panel IAM yang sama.
Langkah berikutnya
- Pelajari lebih lanjut peran dan izin berbagi BigQuery.
- Pelajari tentang BigQuery sharing.
- Pelajari cara mengelola pertukaran data.
- Pelajari cara mengelola listingan.
- Pelajari cara melihat dan berlangganan listingan dan pertukaran data.