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

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

  1. Di konsol Google Cloud , buka halaman IAM.

    Buka IAM

  2. Klik Grant access.

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

API

  1. Untuk membaca kebijakan yang ada, gunakan metode projects.getIamPolicy:

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

    Ganti PROJECT_ID dengan project ID, 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@googlegroups.com
    • serviceAccount:server@example.gserviceaccount.com
    • domain:example.com

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

    {
     "members": [
       "group:admins@googlegroups.com"
     ],
     "role":"roles/analyticshub.admin"
    }
    
  3. 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_ID dengan 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

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

    Buka Berbagi (Analytics Hub)

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

  3. Klik tab Details.

  4. Klik Setel izin.

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

  6. Di kolom New principals, masukkan alamat email akun utama 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 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
  8. Klik Save.

API

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

  2. Untuk menambahkan atau menghapus anggota dan peran IAM terkait, edit kebijakan dengan editor teks. Gunakan format berikut untuk menambahkan anggota:

    • user:test-user@gmail.com
    • group:admins@googlegroups.com
    • serviceAccount:server@example.gserviceaccount.com
    • domain:example.com

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

    {
     "members": [
       "group:subscribers@googlegroups.com"
     ],
     "role":"roles/analyticshub.subscriber"
    }
    
  3. 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

  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 izinnya ingin Anda tetapkan.

  4. Klik Setel izin.

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

  6. Di kolom New principals, masukkan alamat email akun utama yang ingin Anda beri akses.

  7. 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
  8. Klik Save.

API

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

  2. Untuk menambahkan atau menghapus anggota dan peran IAM terkait, edit kebijakan dengan editor teks. Gunakan format berikut untuk menambahkan anggota:

    • user:test-user@gmail.com
    • group:admins@googlegroups.com
    • serviceAccount:server@example.gserviceaccount.com
    • domain:example.com

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

    {
     "members": [
       "group:publishers@googlegroups.com"
     ],
     "role":"roles/analyticshub.publisher"
    }
    
  3. 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