Mengonfigurasi peran BigQuery sharing

Untuk mengelola akses ke listingan dan platform pertukaran data BigQuery dengan aman, berikan peran Identity and Access Management (IAM) tertentu untuk berbagi BigQuery (sebelumnya Analytics Hub). Anda mengontrol izin pengguna untuk data Anda dengan menetapkan peran ini, sehingga hanya pengguna yang diberi otorisasi yang dapat menemukan, berlangganan, dan mengelola resource berbagi data Anda.

Peran IAM berbagi BigQuery

Bagian berikut menjelaskan peran berbagi BigQuery yang telah ditentukan. Anda dapat menugaskan peran ini kepada pengguna untuk melakukan berbagai tugas pada 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 Google Cloud . Peran ini memungkinkan pengguna 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, fitur Berbagi menyediakan peran yang telah ditetapkan berikut yang dapat Anda berikan untuk project, pertukaran data, atau listingan:

Peran Pelanggan dan Pelihat Analytics Hub

Untuk melihat dan berlangganan listingan dan pertukaran data, fitur Berbagi menyediakan peran yang telah ditetapkan berikut yang dapat Anda berikan untuk project, pertukaran data, atau listingan:

  • Peran Analytics Hub Subscriber (roles/analyticshub.subscriber), yang memungkinkan pengguna melihat dan berlangganan listingan.

    Dengan peran ini, Anda akan menjadi subscriber BigQuery sharing.

  • Peran Pelihat Analytics Hub (roles/analyticshub.viewer), yang memungkinkan pengguna melihat listingan dan izin pertukaran data.

    Dengan peran ini, Anda akan menjadi BigQuery sharing viewer.

Peran Pemilik Langganan Analytics Hub

Untuk mengelola langganan, fitur Berbagi menyediakan peran yang telah ditetapkan berikut yang dapat Anda berikan di tingkat project:

Dengan peran ini, Anda menjadi pemilik langganan BigQuery sharing.

Memberikan peran IAM berbagi BigQuery

Bergantung pada kebutuhan, Anda dapat memberikan peran IAM di 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 tersebut.

Memberikan peran untuk sebuah project

Jika ingin menetapkan kebijakan IAM pada sebuah project, Anda harus memiliki peran Project IAM Admin (roles/resourcemanager.projectIamAdmin) di project tersebut. Untuk memberikan peran pengelolaan akses dan identitas berbagi BigQuery yang telah ditentukan sebelumnya untuk sebuah project, pilih salah satu opsi berikut.

Konsol

  1. Buka IAM untuk project.

    Buka IAM

  2. Klik Grant access.

  3. Di kolom New principals, masukkan alamat email identitas yang ingin Anda beri akses. Contoh:

    • Email Google Account: test-user@gmail.com
    • Grup Google: admins@googlegroups.com
    • Akun layanan: server@example.gserviceaccount.com
    • Domain Google Workspace: example.com
  4. 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
  5. Opsional: Untuk mengontrol lebih lanjut akses ke Google Cloud resource, tambahkan binding peran bersyarat.

  6. Simpan perubahan.

    Anda dapat menghapus dan mengupdate administrator project menggunakan panel IAM yang sama.

gcloud

Untuk memberikan peran di level 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—misalnya, my-project-1.
  • PRINCIPAL: identitas valid yang ingin Anda berikan peran. Contoh:

    • Alamat email Akun Google: user:user@gmail.com
    • Grup Google: group:admins@googlegroups.com
    • Akun layanan: serviceAccount:server@example.gserviceaccount.com
    • Domain Google Workspace: domain:example.com

API

  1. Baca kebijakan yang ada dengan metode getIamPolicy resource. Untuk project, gunakan metode projects.getIamPolicy.

    POST https://cloudresourcemanager.googleapis.com/v1/projects/PROJECT_ID:getIamPolicy
    

    Ganti PROJECT_ID dengan project—misalnya, my-project-1.

  2. Untuk menambahkan akun utama dan peran terkait, edit kebijakan dengan editor teks. Gunakan format berikut untuk menambahkan anggota:

    • user:test-user@gmail.com
    • group:admins@example.com
    • serviceAccount:test123@example.domain.com
    • domain:example.domain.com

    Misalnya, untuk memberikan peran roles/analyticshub.admin ke group:admins@example.com, tambahkan binding berikut ke kebijakan:

    {
     "members": [
       "group:admins@example.com"
     ],
     "role":"roles/analyticshub.admin"
    }
    
  3. Tulis kebijakan yang telah diperbarui menggunakan metode setIamPolicy.

    Misalnya, untuk menetapkan kebijakan di level project, gunakan metode project.setIamPolicy. Dalam isi permintaan, berikan kebijakan IAM yang telah diperbarui dari langkah sebelumnya.

    POST https://cloudresourcemanager.googleapis.com/v1/projects/PROJECT_ID:setIamPolicy
    

    Ganti PROJECT_ID dengan project ID.

Memberikan peran untuk pertukaran data

Untuk memberikan peran pertukaran data, ikuti langkah-langkah berikut:

Konsol

  1. Di konsol Google Cloud , buka halaman Sharing (Analytics Hub).

    Buka Berbagi (Analytics Hub)

  2. Klik nama pertukaran data yang ingin Anda tetapkan izinnya.

  3. Buka tab Detail.

  4. Klik Setel izin.

  5. Untuk menambahkan akun utama, klik Tambahkan akun utama.

  6. Di kolom New principals, tambahkan ID email yang ingin Anda berikan akses. Anda juga dapat menggunakan allUsers untuk membuat resource menjadi publik dan dapat diakses oleh semua orang di internet, atau allAuthenticatedUsers untuk membuatnya dapat diakses hanya oleh pengguna Google yang login.

  7. Di menu Pilih peran, pilih Analytics Hub, lalu pilih salah satu peran Identity and Access Management (IAM) berikut:

    • Analytics Hub Admin
    • Analytics Hub Listing Admin
    • Analytics Hub Publisher
    • Analytics Hub Subscriber
    • Pemilik Langganan Analytics Hub
    • Analytics Hub Viewer
  8. Klik Save.

API

  1. Baca kebijakan yang sudah ada dengan metode getIamPolicy listingan menggunakan 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.

    Fitur berbagi BigQuery (sebelumnya Analytics Hub) menampilkan kebijakan saat ini.

  2. Untuk menambahkan atau menghapus anggota dan peran Identity and Access Management (IAM) terkait, edit kebijakan dengan editor teks. Gunakan format berikut untuk menambahkan anggota:

    • user:test-user@gmail.com
    • group:admins@example.com
    • serviceAccount:test123@example.domain.com
    • domain:example.domain.com

    Misalnya, untuk memberikan peran roles/analyticshub.subscriber ke group:subscribers@example.com, tambahkan binding berikut ke kebijakan:

    {
     "members": [
       "group:subscribers@example.com"
     ],
     "role":"roles/analyticshub.subscriber"
    }
    
  3. Tulis kebijakan yang telah diperbarui menggunakan metode projects.locations.dataExchanges.setIamPolicy. Dalam 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
    

    Dalam isi permintaan, berikan detail listingan. Jika permintaan berhasil, isi respons akan berisi detail listingan.

Saat memberikan izin di tingkat resource, seperti pada pertukaran data, Anda harus menggunakan huruf kecil untuk bagian lokasi pada nama resource. Menggunakan nilai huruf besar atau campuran huruf besar/kecil dapat menyebabkan error Permission Denied.

  • Penggunaan: projects/myproject/locations/us/dataExchanges/123
  • Hindari: projects/myproject/locations/US/dataExchanges/123
  • Hindari: projects/myproject/locations/Eu/dataExchanges/123

Anda dapat menghapus dan memperbarui peran pertukaran data menggunakan panel IAM yang sama.

Memberikan peran untuk listingan

Guna memberikan peran untuk listingan, ikuti langkah-langkah berikut:

Konsol

  1. Di konsol Google Cloud , buka halaman Sharing (Analytics Hub).

    Buka Berbagi (Analytics Hub)

  2. Klik nama pertukaran data yang berisi listingan.

  3. Klik listingan yang ingin Anda tambahkan pengguna.

  4. Klik Setel izin.

  5. Untuk menambahkan akun utama, klik Add principal.

  6. Di kolom New principals, tambahkan ID email identitas yang ingin Anda beri akses.

  7. Di menu Pilih peran, pilih Analytics Hub, lalu pilih salah satu peran Identity and Access Management (IAM) berikut:

    • Analytics Hub Admin
    • Analytics Hub Listing Admin
    • Analytics Hub Publisher
    • Analytics Hub Subscriber
    • Pemilik Langganan Analytics Hub
    • Analytics Hub Viewer
  8. Klik Save.

API

  1. Baca kebijakan yang sudah ada dengan metode getIamPolicy listingan menggunakan 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.

    Fitur berbagi menampilkan kebijakan saat ini.

  2. Untuk menambahkan atau menghapus anggota dan peran Identity and Access Management (IAM) terkait, edit kebijakan dengan editor teks. Gunakan format berikut untuk menambahkan anggota:

    • user:test-user@gmail.com
    • group:admins@example.com
    • serviceAccount:test123@example.domain.com
    • domain:example.domain.com

    Misalnya, untuk memberikan peran roles/analyticshub.publisher ke group:publishers@example.com, tambahkan binding berikut ke kebijakan:

    {
     "members": [
       "group:publishers@example.com"
     ],
     "role":"roles/analyticshub.publisher"
    }
    
  3. Tulis kebijakan yang telah diperbarui menggunakan metode projects.locations.dataExchanges.listings.setIamPolicy. Dalam 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
    

    Dalam isi permintaan, berikan detail listingan. Jika permintaan berhasil, isi respons akan berisi detail listingan.

Saat memberikan izin di tingkat resource, seperti pada listingan, Anda harus menggunakan huruf kecil untuk bagian lokasi nama resource. Menggunakan nilai huruf besar atau campuran huruf besar/kecil dapat menyebabkan error Permission Denied.

  • 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

Anda dapat menghapus dan memperbarui peran listingan menggunakan panel IAM yang sama.

Langkah berikutnya