Mengonfigurasi peran berbagi BigQuery

Dokumen ini menjelaskan peran Identity and Access Management (IAM) untuk 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 Google Cloud pertukaran project atau data. 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 berbagi BigQuery.

Dengan peran ini, Anda menjadi administrator berbagi BigQuery.

Peran Admin Listingan dan Penayang Analytics Hub

Untuk mengelola listingan, 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, 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 Analytics Hub Viewer (roles/analyticshub.viewer), yang memungkinkan pengguna melihat listingan dan memberikan izin pertukaran data.

    Dengan peran ini, Anda menjadi pelihat berbagi BigQuery.

Peran Pemilik Langganan Analytics Hub

Untuk mengelola langganan, Berbagi menyediakan peran yang telah ditetapkan berikut yang dapat Anda berikan di level 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 diterapkan ke semua pertukaran data dan listingan dalam project tersebut.
  • Pertukaran data. Jika Anda memberikan peran untuk pertukaran data, peran tersebut akan diterapkan ke semua listingan dalam pertukaran data tersebut.
  • Listingan. Jika Anda memberikan peran untuk listingan, peran tersebut hanya berlaku untuk listingan tertentu 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 yang telah ditetapkan 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 Select a role, tahan kursor ke Analytics Hub dan pilih salah satu peran berikut:

    • Analytics Hub Admin
    • Analytics Hub Listing Admin
    • Analytics Hub Publisher
    • Analytics Hub Subscriber
    • Analytics Hub Subscription Owner
    • Analytics Hub Viewer
  5. Opsional: Untuk mengontrol lebih lanjut akses ke Google Cloud resource, tambahkan binding peran kondisional.

  6. Simpan perubahan.

    Anda dapat menghapus dan memperbarui 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 beri peran. Contoh:

    • Alamat email Google Account: 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 project.setIamPolicy metode. 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 Google Cloud console, buka halaman Sharing (Analytics Hub).

    Buka Sharing (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 Select a role, 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
    • Analytics Hub Subscription Owner
    • 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.

    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 nama resource. Menggunakan nilai huruf besar atau campuran 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 Google Cloud console, buka halaman Sharing (Analytics Hub).

    Buka Sharing (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 Tambahkan akun utama.

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

  7. Di menu Select a role, 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
    • Analytics Hub Subscription Owner
    • 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.

    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 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