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 izinbigquery.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:
- 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.
- Buat akun layanan untuk Data Studio. Pada langkah ini, Anda akan membuat pengguna non-manusia yang akan mengakses data.
- Izinkan agen layanan Data Studio mengakses akun layanan Anda. Pada langkah ini, Anda akan memberikan peran yang diperlukan kepada agen layanan di akun layanan.
- 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.
- 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:
- Buka halaman bantuan agen layanan Data Studio.
- 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
- Dari konsol Google Cloud , buka halaman Buat akun layanan.
- Pilih project.
- 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.
- Opsional: Masukkan deskripsi akun layanan.
- Klik CREATE AND CONTINUE.
- 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.
- Klik Lanjutkan.
- 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.
- 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.
- Buka Cloud Shell.
- Pilih project, jika perlu.
- 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"
-
Untuk mengakses data BigQuery di project Google Cloud yang ingin Anda gunakan dengan Data Studio, berikan izin
bigquery.jobs.createkepada akun layanan di project tersebut. Anda dapat memberikan peran IAM BigQuery Job User untuk memberikan izin ini.Selain itu, berikan izin
bigquery.tables.getDatadanbigquery.tables.getuntuk 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
- Kembali ke daftar akun layanan konsolGoogle Cloud .
- Pilih akun layanan Data Studio yang baru saja Anda buat dengan mengkliknya di daftar.
- Klik Principals with access.
- Klik person_addBERIKAN AKSES.
- 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: Ganti ORG-ID dengan ID organisasi Google Cloud Anda.service-org-ORG-ID@gcp-sa-datastudio.iam.gserviceaccount.com - 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. - 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
- Buka daftar akun layanan Konsol.
- Pilih akun layanan Data Studio Anda dengan mengkliknya di daftar.
- Klik Principals with access.
- Klik person_add BERIKAN AKSES.
- Di Add principals and roles for Service Account, masukkan alamat email pengguna Anda di kotak New principals.
- Pilih peran Service Account User.
- 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:
- Salin akun layanan Data Studio, seperti yang dijelaskan sebelumnya di Langkah 2: Buat akun layanan untuk Data Studio.
- Buka daftar akun layanan konsolGoogle Cloud .
- Buka BigQuery, lalu pilih project.
- Klik dataset Datasets, lalu pilih set data.
- Pilih tabel.
- Di toolbar, klik menu person_add SHARE, lalu klik Share.
- Di panel Share permissions, klik person_add ADD PRINCIPAL.
- Di kotak New principals, tempel alamat email agen layanan Data Studio.
- Pilih peran BigQuery Data Viewer.
- Klik SIMPAN.
Untuk memberikan akses ke set data:
- Salin akun layanan Data Studio, seperti yang dijelaskan sebelumnya di Langkah 2: Buat akun layanan untuk Data Studio.
- Buka daftar akun layanan konsolGoogle Cloud .
- Buka BigQuery, lalu pilih project.
- Klik dataset Datasets, lalu pilih set data.
- Klik more_vert Tindakan chevron_forward Bagikan chevron_forward Kelola izin.
- Di panel Share permissions, klik person_add ADD PRINCIPAL.
- Di kotak New principals, tempel alamat email agen layanan Data Studio.
- Pilih peran BigQuery Data Viewer.
- 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:
- Buat atau edit sumber data BigQuery.
- Di toolbar, klik Kredensial Data.
- Pilih Kredensial Akun Layanan.
- Masukkan alamat email Akun layanan Anda di kotak.
- 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 |
|
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 |
|
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 |
|
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
|
PenyebabAgen layanan belum diberi peran Service Account Token Creator (atau peran lain yang mencakup izin |
SolusiBerikan peran Service Account Token Creator kepada agen layanan. |
Tidak ada akses ke data
PesanAkun layanan ini tidak dapat mengakses set data pokok. |
Penyebab
|
Solusi
|
Peran pengguna tidak ada
PesanAnda tidak memiliki izin untuk menggunakan akun layanan ini. |
PenyebabPengguna belum ditambahkan sebagai akun utama ke akun layanan dengan peran Service Account User. |
SolusiBerikan peran Service Account User kepada pengguna di akun layanan tersebut. |
Agen layanan tidak tersedia untuk akun ini
Pesan
|
PenyebabPengguna mencoba menggunakan Akun Google standar (pengguna konsumen) untuk mengakses data yang dikontrol oleh akun layanan. |
SolusiGunakan akun Google Workspace atau Cloud Identity untuk mengakses data. |
Tidak dapat menggunakan agen layanan di dialog kredensial
PesanAgen layanan Data Studio tidak dapat digunakan untuk terhubung langsung ke data. Sebagai gantinya, gunakan akun layanan. |
SolusiAgen 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
gcloud
Contoh: |
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.)
Referensi terkait
- Memahami akun layanan
- Aturan ingress dan egress
- Terhubung ke BigQuery: Dukungan untuk Kontrol Layanan VPC
- Meluncurkan Cloud Shell