Mengonfigurasi peran berbagi BigQuery

Dokumen ini menjelaskan peran Identity and Access Management (IAM) untuk fitur berbagi BigQuery (sebelumnya Analytics Hub) dan cara memberikannya. Untuk mengetahui informasi selengkapnya, lihat Peran dan izin berbagi BigQuery.

Peran IAM berbagi BigQuery

Bagian berikut menjelaskan peran berbagi BigQuery yang telah ditetapkan. 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, berbagi BigQuery menyediakan peran Admin Analytics Hub (roles/analyticshub.admin) yang dapat Anda berikan untuk pertukaran project atau data Google Cloud . Peran ini memungkinkan pengguna melakukan hal berikut:

  • Membuat, memperbarui, dan menghapus pertukaran data.
  • Membuat, memperbarui, menghapus, dan membagikan listingan.
  • Mengelola administrator, administrator listingan, penayang, pelanggan, dan pelihat BigQuery sharing.

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 menjadi pelanggan berbagi BigQuery.

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

    Dengan peran ini, Anda menjadi pelihat berbagi BigQuery.

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 berbagi BigQuery.

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 Admin IAM Project (roles/resourcemanager.projectIamAdmin) di project tersebut. Untuk memberikan peran Identity and Access Management berbagi BigQuery bawaan untuk 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 beri akses. Anda juga dapat menggunakan allUsers untuk membuat resource menjadi publik dan dapat diakses oleh semua orang di internet, atau allAuthenticatedUsers untuk membuatnya hanya dapat diakses 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