Menyiapkan akun layanan Google Cloud untuk Data Studio

Akun layanan adalah jenis Akun Google khusus yang dimaksudkan untuk mewakili pengguna non-manusia yang dapat melakukan autentikasi dan diberi otorisasi untuk mengakses data di Google API dan produk Google. Data Studio dapat menggunakan akun layanan untuk mengakses data, alih-alih mendelegasikan akses menggunakan Kredensial pemilik, atau mewajibkan setiap pelihat laporan untuk memiliki akses ke data menggunakan kredensial pelihat laporan.

Catatan: Kredensial akun layanan hanya tersedia untuk sumber data BigQuery.

Pelajari selengkapnya tentang akun layanan.

Manfaat menggunakan akun layanan dengan Data Studio

Menggunakan kredensial akun layanan sebagai ganti kredensial setiap pengguna akan memberikan manfaat berikut:

  • Sumber data yang menggunakan kredensial akun layanan tidak akan terganggu jika kreator keluar dari perusahaan Anda.
  • Kredensial akun layanan mendukung akses ke data yang berada di balik perimeter Kontrol Layanan VPC yang menggunakan kebijakan perangkat.
  • Fitur otomatis seperti email terjadwal, pemberitahuan, dan ekstrak data terjadwal berfungsi dengan sumber data yang berada di balik perimeter Kontrol Layanan VPC. (Lihat bagian Batas untuk mengetahui peringatan penting.)
  • Anda dapat membuat aturan ingress dan egress untuk mengizinkan akses akun layanan ke dan dari resource serta klien yang dilindungi oleh perimeter layanan.

Peran yang diperlukan

Untuk administrator

  • Untuk mendapatkan agen layanan Data Studio, Anda harus menjadi pengguna Google Workspace atau Cloud Identity.
  • Untuk menyiapkan akun layanan, Anda harus memiliki peran Service Account Admin (roles/iam.serviceAccountAdmin) atau Create Service Accounts (roles/iam.serviceAccountCreator) di project Google Cloud Anda. Pelajari lebih lanjut peran akun layanan.
  • Untuk mengonfigurasi akun layanan agar dapat mengakses tabel atau set data BigQuery, Anda harus memiliki peran BigQuery Data Owner (roles/bigquery.dataOwner) pada tabel atau set data, atau peran lain yang memberi Anda izin bigquery.datasets.setIamPolicy.

Untuk akun layanan

  • Minimal, akun layanan harus diberi peran BigQuery Data Viewer (roles/bigquery.dataViewer) di tabel atau set data tertentu yang perlu diaksesnya.
  • Kueri kustom: Jika sumber data menggunakan kueri kustom, akun layanan juga harus diberi peran BigQuery Job User (roles/bigquery.jobUser) di project Google Cloud yang berisi data.

Petunjuk penyiapan

Untuk menyiapkan akun layanan yang memberikan akses ke data BigQuery, ikuti langkah-langkah berikut:

  1. Dapatkan agen layanan Data Studio. Pada langkah ini, Anda akan menyalin alamat email agen layanan agar dapat menggunakannya di langkah berikutnya. Alamat ini dibuat untuk Anda secara otomatis oleh Data Studio.
  2. Buat akun layanan untuk Data Studio. Pada langkah ini, Anda akan membuat pengguna non-manusia yang akan mengakses data.
  3. Izinkan agen layanan Data Studio mengakses akun layanan Anda. Pada langkah ini, Anda akan memberikan peran yang diperlukan kepada agen layanan di akun layanan.
  4. Memberikan peran pengguna. Pada langkah ini, Anda akan memberikan peran yang diperlukan kepada pengguna agar mereka dapat membuat sumber data yang menggunakan kredensial akun layanan.
  5. Aktifkan akun layanan untuk mengakses data BigQuery Anda. Pada langkah ini, Anda akan memberikan peran yang diperlukan ke akun layanan agar akun tersebut dapat mengakses tabel atau set data BigQuery.

Langkah 1: Dapatkan agen layanan Data Studio

Agar akun layanan dapat mengakses data, Anda harus menyediakan agen layanan Data Studio untuk organisasi Anda. Anda bisa mendapatkan agen layanan dari halaman bantuan di Data Studio:

  1. Buka halaman bantuan agen layanan Data Studio.
  2. Salin alamat email agen layanan yang ditampilkan di halaman tersebut.

Langkah 2: Buat akun layanan untuk Data Studio

Lihat Google Cloud dokumentasi IAM untuk mengetahui petunjuk cara membuat akun layanan. Anda dapat menggunakan konsol Google Cloud atau command line Cloud Shell untuk membuat akun layanan.

Konsol

  1. Dari konsol Google Cloud , buka halaman Buat akun layanan.

    Buka Create service account

  2. Pilih project.
  3. Masukkan nama akun layanan untuk ditampilkan di konsol Google Cloud .

    Konsol Google Cloud membuat ID akun layanan berdasarkan nama ini. Edit ID sekarang jika perlu. Anda tidak dapat mengubah ID nanti.

  4. Opsional: Masukkan deskripsi akun layanan.
  5. Klik CREATE AND CONTINUE.
  6. Di Permissions, berikan peran IAM BigQuery Job User untuk akun layanan di project yang berisi data yang ingin Anda hubungkan di Data Studio. Perhatikan bahwa project ini mungkin berbeda dengan project tempat Anda membuat akun layanan.
  7. Klik Lanjutkan.
  8. Di kolom Service account users role, tambahkan pengguna yang dapat menggunakan akun layanan ini untuk memberikan kredensial bagi sumber data mereka. Jika Anda belum siap menambahkan pengguna sekarang, Anda dapat melakukannya nanti dengan mengikuti petunjuk di bagian Memberikan peran pengguna.
  9. Klik DONE untuk menyimpan akun layanan dan kembali ke halaman daftar akun layanan untuk project Anda.

gcloud

Ikuti langkah-langkah umum yang tercantum di bagian Cloud Shell pada halaman Membuat dan mengelola akun layanan.

  1. Buka Cloud Shell.
  2. Pilih project, jika perlu.
  3. Untuk membuat akun layanan, jalankan perintah gcloud iam service-accounts create. Anda dapat menggunakan nama akun, deskripsi, dan nama tampilan apa pun yang dipilih.

Contoh:

gcloud iam service-accounts create looker-studio-service-account \
--description="Use for Data Studio access to BigQuery"  \
--display-name="LS_BQ"
  1. Untuk mengakses data BigQuery di project Google Cloud yang ingin Anda gunakan dengan Data Studio, berikan izin bigquery.jobs.create kepada akun layanan di project tersebut. Anda dapat memberikan peran IAM BigQuery Job User untuk memberikan izin ini.

    Selain itu, berikan izin bigquery.tables.getData dan bigquery.tables.get untuk akun layanan di project atau set data yang ingin Anda gunakan dengan Data Studio. Anda dapat memberikan peran BigQuery Data Viewer (roles/bigquery.dataViewer) untuk memberikan izin ini.

    Untuk memberikan peran ini, jalankan perintah gcloud projects add-iam-policy-binding. Pada contoh berikut, ganti PROJECT_ID dengan project ID Anda.

Contoh: Memberikan peran BigQuery Job User

gcloud projects add-iam-policy-binding PROJECT_ID \
--member="serviceAccount:looker-studio-service-account@PROJECT_ID.iam.gserviceaccount.com" \
--role="roles/bigquery.jobUser"

Contoh: Memberikan peran BigQuery Data Viewer

gcloud projects add-iam-policy-binding PROJECT_ID \
--member="serviceAccount:looker-studio-service-account@PROJECT_ID.iam.gserviceaccount.com" \
--role="roles/bigquery.dataViewer"

Langkah 3: Izinkan agen layanan Data Studio mengakses akun layanan Anda

Untuk mengizinkan agen layanan Data Studio mengakses data menggunakan akun layanan, berikan peran Service Account Token Creator (roles/iam.serviceAccountTokenCreator) kepada agen layanan.

Konsol

  1. Kembali ke daftar akun layanan konsolGoogle Cloud .
  2. Pilih akun layanan Data Studio yang baru saja Anda buat dengan mengkliknya di daftar.
  3. Klik Principals with access.
  4. Klik person_addBERIKAN AKSES.
  5. Di Add principals to PROJECT_ID, tempel alamat email agen layanan Data Studio (yang telah Anda salin pada langkah 1 sebelumnya) ke kotak New principals. Alamat agen layanan Anda akan terlihat seperti ini:
        service-org-ORG-ID@gcp-sa-datastudio.iam.gserviceaccount.com
    
    Ganti ORG-ID dengan ID organisasi Google Cloud Anda.
  6. Pilih peran yang memberikan izin iam.serviceAccounts.getAccessTokenkepada agen layanan. Misalnya, Anda dapat menggunakan peran Service Account Token Creator, tetapi Anda juga dapat menggunakan peran khusus yang memberikan izin ini.
  7. Klik SIMPAN.

gcloud

Jalankan perintah gcloud iam service-accounts add-iam-policy-binding. Pada contoh berikut, ganti ORG_ID dengan ID organisasi Anda.

Contoh:

gcloud iam service-accounts add-iam-policy-binding looker-studio-service-account@PROJECT_ID.iam.gserviceaccount.com \
--member="serviceAccount:service-org-ORG_ID@gcp-sa-datastudio.iam.gserviceaccount.com" \
--role="roles/iam.serviceAccountTokenCreator"

Langkah 4: Berikan peran untuk pengguna

Pengguna Data Studio yang akan membuat atau mengedit sumber data harus diberi peran yang menyertakan izin iam.serviceAccounts.actAs, seperti peran Service Account User (roles/iam.serviceAccountUser). Anda dapat memberikan peran ini pada project atau akun layanan individual, tetapi sebaiknya Anda memberikan peran tersebut pada akun layanan saja. Untuk mendapatkan petunjuk, lihat Mengelola peniruan identitas akun layanan.

Sebaiknya Anda tidak memberikan peran Service Account Token Creator kepada pengguna non-agen layanan. Peran ini tidak diperlukan untuk Data Studio.

Konsol

  1. Buka daftar akun layanan Konsol.
  2. Pilih akun layanan Data Studio Anda dengan mengkliknya di daftar.
  3. Klik Principals with access.
  4. Klik person_add BERIKAN AKSES.
  5. Di Add principals and roles for Service Account, masukkan alamat email pengguna Anda di kotak New principals.
  6. Pilih peran Service Account User.
  7. Klik SIMPAN.

gcloud

Untuk memberikan peran Service Account User, jalankan perintah gcloud projects add-iam-policy-binding. Pada contoh berikut, ganti PROJECT_ID dengan project ID Anda, dan ganti USER_EMAIL dengan satu atau beberapa alamat email yang valid (pisahkan beberapa entri dengan koma).

Contoh:

gcloud iam service-accounts add-iam-policy-binding  looker-studio-service-account@PROJECT_ID.iam.gserviceaccount.com  \
--member="user:USER_EMAIL" \
--role="roles/iam.serviceAccountUser"

Langkah 5: Aktifkan akun layanan untuk mengakses data BigQuery Anda

Untuk mengizinkan Data Studio mengakses data Anda, berikan peran BigQuery Data Viewer ke akun layanan di tingkat tabel atau set data. Sebaiknya jangan berikan akses di level project untuk akun layanan.

Untuk menyelesaikan langkah ini, salin alamat email agen layanan Data Studio, seperti yang dijelaskan sebelumnya di Langkah 1. Dapatkan agen layanan Data Studio agar Anda dapat menempelkannya ke dialog Tambahkan akun utama saat diminta untuk melakukannya.

Konsol

Untuk memberikan akses ke tabel:

  1. Salin akun layanan Data Studio, seperti yang dijelaskan sebelumnya di Langkah 2: Buat akun layanan untuk Data Studio.
  2. Buka daftar akun layanan konsolGoogle Cloud .
  3. Buka BigQuery, lalu pilih project.
  4. Klik dataset Datasets, lalu pilih set data.
  5. Pilih tabel.
  6. Di toolbar, klik menu person_add SHARE, lalu klik Share.
  7. Di panel Share permissions, klik person_add ADD PRINCIPAL.
  8. Di kotak New principals, tempel alamat email agen layanan Data Studio.
  9. Pilih peran BigQuery Data Viewer.
  10. Klik SIMPAN.

Untuk memberikan akses ke set data:

  1. Salin akun layanan Data Studio, seperti yang dijelaskan sebelumnya di Langkah 2: Buat akun layanan untuk Data Studio.
  2. Buka daftar akun layanan konsolGoogle Cloud .
  3. Buka BigQuery, lalu pilih project.
  4. Klik dataset Datasets, lalu pilih set data.
  5. Klik more_vert Tindakan chevron_forward Bagikan chevron_forward Kelola izin.
  6. Di panel Share permissions, klik person_add ADD PRINCIPAL.
  7. Di kotak New principals, tempel alamat email agen layanan Data Studio.
  8. Pilih peran BigQuery Data Viewer.
  9. Klik SIMPAN.

gcloud

Sebaiknya gunakan petunjuk konsol Google Cloud untuk memberikan akses ke data. Untuk memberikan akses ke data menggunakan alat command line bq, lihat Mengontrol akses ke set data dalam dokumentasi BigQuery.

Menyediakan akun layanan Data Studio untuk pengguna Data Studio

Pengguna Data Studio perlu mengetahui akun layanan mana yang akan digunakan saat mereka membuat sumber data. Karena tidak ada cara untuk melihat daftar akun layanan yang tersedia dari dalam Data Studio, Anda harus menyampaikan informasi ini menggunakan dokumentasi, situs internal, atau email organisasi.

Membuat sumber data yang menggunakan kredensial akun layanan

Untuk membuat sumber data yang menggunakan kredensial akun layanan, pengguna Data Studio dapat mengikuti langkah-langkah dasar yang sama seperti untuk jenis kredensial data lainnya:

  1. Buat atau edit sumber data BigQuery.
  2. Di toolbar, klik Kredensial Data.
  3. Pilih Kredensial Akun Layanan.
  4. Masukkan alamat email Akun layanan Anda di kotak.
  5. Klik Update.

Mengedit sumber data yang menggunakan kredensial akun layanan

Saat seseorang mengedit sumber data yang menggunakan kredensial akun layanan, Data Studio akan memeriksa apakah orang itu memiliki izin untuk menggunakan akun layanan tersebut. Jika tidak memiliki izin, sumber data akan beralih menggunakan kredensial orang tersebut.

Melihat siapa yang menggunakan akun layanan untuk mengakses data

Anda dapat memeriksa log audit untuk akun layanan di konsol Google Cloud . Anda harus mengaktifkan log audit IAM untuk aktivitas Akses Data jika ingin menerima log audit untuk akun layanan.

Contoh skenario akun layanan

Misalnya, Anda ingin memastikan bahwa pengguna Data Studio di perusahaan Anda hanya memiliki akses ke data untuk anak perusahaan di negara mereka. Solusinya adalah dengan membuat akun layanan untuk setiap negara, dan hanya memberikan izin kepada pengguna Data Studio di negara tersebut untuk bertindak sebagai akun layanan.

Contoh penyiapan

Dalam contoh ini, Anda akan membuat tiga akun layanan: satu untuk Inggris Raya, satu untuk Prancis, dan satu untuk Jerman. Kemudian, tetapkan agen layanan dan pengguna yang Anda inginkan sebagai akun utama agar dapat membuat sumber data yang menggunakan akun layanan. Anda juga akan menetapkan peran yang tepat untuk setiap pengguna.

Akun layanan untuk Inggris Raya

service-account-1@example-org-uk-example-project.iam.gserviceaccount.com

Akun utama untuk Inggris Raya

Akun utama Peran

service-org-12345@gcp-sa-datastudio.iam.gserviceaccount.com

Ini adalah agen layanan.

Service Account Token Creator
Pengguna 1 Service Account User
Pengguna 2 Service Account User

Akun layanan untuk Prancis

service-account-1@example-org-fr-example-project.iam.gserviceaccount.com

Akun utama untuk Prancis

Akun utama Peran

service-org-12345@gcp-sa-datastudio.iam.gserviceaccount.com

Ini adalah agen layanan.

Service Account Token Creator
Pengguna 3 Service Account User
Pengguna 4 Service Account User

Akun layanan untuk Jerman

service-account-1@example-org-de-example-project.iam.gserviceaccount.com

Akun utama untuk Jerman

Akun utama Peran

service-org-12345@gcp-sa-datastudio.iam.gserviceaccount.com

Ini adalah agen layanan.

Service Account Token Creator
Pengguna 5 Service Account User
Pengguna 6 Service Account User

Error

Bagian ini menjelaskan error yang mungkin dialami oleh pembaca laporan dan pembuat sumber data Data Studio saat mencoba menggunakan akun layanan. Umumnya, error ini memiliki penyebab utama yang sama: penyiapan akun layanan yang salah atau tidak lengkap.

Peran agen layanan tidak ada

Pesan

  • Agen layanan Data Studio tidak memiliki izin iam.serviceAccounts.getAccessToken untuk layanan ini.
  • Agen layanan yang digunakan oleh akun layanan sumber data ini tidak memiliki peran "Service Account Token Creator".

Penyebab

Agen layanan belum diberi peran Service Account Token Creator (atau peran lain yang mencakup izin iam.serviceAccounts.getAccessToken).

Solusi

Berikan peran Service Account Token Creator kepada agen layanan.

Tidak ada akses ke data

Pesan

Akun layanan ini tidak dapat mengakses set data pokok.

Penyebab

  • Akun layanan belum diberi akses ke data project.
  • Project penagihan terhubung ke project yang tidak dapat diakses oleh akun layanan.
  • Sumber data menggunakan kueri kustom, tetapi akun layanan tidak memiliki peran Pengguna Tugas BigQuery di project.

Solusi

  • Minimal, berikan peran BigQuery Data Viewer untuk akun layanan Anda di tabel, set data, atau project pokok.
  • Jika Anda menggunakan kueri kustom, berikan juga peran BigQuery Job User ke akun layanan di project tempat kueri berjalan.

Peran pengguna tidak ada

Pesan

Anda tidak memiliki izin untuk menggunakan akun layanan ini.

Penyebab

Pengguna belum ditambahkan sebagai akun utama ke akun layanan dengan peran Service Account User.

Solusi

Berikan peran Service Account User kepada pengguna di akun layanan tersebut.

Agen layanan tidak tersedia untuk akun ini

Pesan

  • Agen layanan tidak dapat dibuat untuk akun ini. Coba lagi menggunakan akun yang dikelola Cloud Identity atau Google Workspace.
  • Kredensial agen layanan hanya tersedia untuk organisasi yang dikelola oleh Cloud Identity atau Google Workspace. Gunakan akun lain untuk menggunakan fitur ini.

Penyebab

Pengguna mencoba menggunakan Akun Google standar (pengguna konsumen) untuk mengakses data yang dikontrol oleh akun layanan.

Solusi

Gunakan akun Google Workspace atau Cloud Identity untuk mengakses data.

Tidak dapat menggunakan agen layanan di dialog kredensial

Pesan

Agen layanan Data Studio tidak dapat digunakan untuk terhubung langsung ke data. Sebagai gantinya, gunakan akun layanan.

Solusi

Agen layanan dan akun layanan tidak sama. Masukkan akun layanan di dialog kredensial. Anda dapat menemukan daftar akun layanan yang tersedia menggunakan konsol Google Cloud atau Cloud Shell:

Konsol

  1. Buka halaman Google Cloud Platform > IAM & Admin > Service accounts.
  2. Pilih project, jika perlu.
  3. Di halaman Service accounts for project, cari akun layanan yang akan digunakan Looker Studio untuk mengakses data BigQuery Anda.
  4. Salin alamat email untuk akun tersebut.

gcloud

  1. Buka Cloud Shell.
  2. Pilih project, jika perlu.
  3. Untuk mencantumkan akun layanan yang dapat Anda akses, jalankan perintah gcloud iam service-accounts list.

Contoh:

gcloud iam service-accounts list

Batas

  • Kredensial akun layanan hanya tersedia untuk sumber data BigQuery. Batas IAM berlaku untuk akun layanan.
  • Mungkin diperlukan waktu beberapa menit hingga perubahan izin akun layanan diterapkan di Data Studio.
  • Pengiriman email dan pemberitahuan terjadwal tidak berfungsi dengan data yang dilindungi menggunakan tingkat akses berbasis IP dengan Kontrol Layanan VPC. (Data Studio tidak meneruskan alamat IP penerima email saat penerima melihat laporan.)