Menggunakan akun layanan
Beberapa sumber data mendukung autentikasi transfer data dengan menggunakan akun layanan
melalui konsol Google Cloud, API, atau command line bq
. Akun layanan adalah Akun Google yang terkait dengan project Google Cloud Anda. Akun layanan dapat menjalankan tugas, seperti kueri terjadwal atau pipeline batch processing dengan melakukan autentikasi menggunakan kredensial akun layanan, bukan kredensial pengguna.
Anda dapat mengupdate transfer data yang ada dengan kredensial akun layanan. Untuk mengetahui informasi selengkapnya, lihat Mengupdate kredensial transfer data.
Situasi berikut memerlukan update kredensial:
Transfer Anda gagal memberikan otoritas akses pengguna ke sumber data:
Error code 401 : Request is missing required authentication credential. UNAUTHENTICATED
Anda akan menerima error INVALID_USER saat mencoba menjalankan transfer:
Error code 5 : Authentication failure: User Id not found. Error code: INVALID_USERID
Untuk mempelajari lebih lanjut cara melakukan autentikasi dengan akun layanan, lihat Pengantar autentikasi.
Sumber data dengan dukungan akun layanan
BigQuery Data Transfer Service dapat menggunakan kredensial akun layanan untuk transfer dengan hal-hal berikut:
- Cloud Storage
- Amazon Redshift
- Amazon S3
- Campaign Manager
- Salinan Set Data
- Display & Video 360
- Google Ad Manager
- Google Ads
- Google Merchant Center
- Google Play
- Kueri Terjadwal
- Search Ads 360
- Teradata
- Pemilik Konten YouTube
Sebelum memulai
- Pastikan Anda telah menyelesaikan semua tindakan yang diperlukan dalam Mengaktifkan BigQuery Data Transfer Service.
- Berikan peran Identity and Access Management (IAM) yang memberi pengguna izin yang diperlukan untuk melakukan setiap tugas dalam dokumen ini.
Izin yang diperlukan
Untuk mengupdate transfer data agar menggunakan akun layanan, Anda harus memiliki izin berikut:
Izin
bigquery.transfers.update
untuk mengubah transfer.Peran IAM
roles/bigquery.admin
bawaan mencakup izin ini.Akses ke akun layanan. Untuk mengetahui informasi selengkapnya tentang cara memberikan peran akun layanan kepada pengguna, lihat Peran Service Account User.
Pastikan akun layanan yang Anda pilih untuk menjalankan transfer memiliki izin berikut:
Izin
bigquery.datasets.get
danbigquery.datasets.update
pada set data target. Jika tabel menggunakan kontrol akses level kolom, akun layanan juga harus memiliki izinbigquery.tables.setCategory
.Peran IAM
bigquery.admin
bawaan mencakup semua izin ini. Untuk mengetahui informasi selengkapnya tentang peran IAM dalam BigQuery Data Transfer Service, lihat Pengantar IAM.Akses ke sumber data transfer yang dikonfigurasi. Untuk mengetahui informasi selengkapnya tentang izin yang diperlukan untuk berbagai sumber data, lihat Sumber data dengan dukungan akun layanan.
Untuk transfer Google Ads, akun layanan harus diberi otoritas tingkat domain. Untuk informasi selengkapnya, lihat Panduan Akun Layanan Google Ads API.
Mengupdate kredensial transfer data
Konsol
Prosedur berikut memperbarui konfigurasi transfer data untuk melakukan autentikasi sebagai akun layanan, bukan akun pengguna individual Anda.
Di konsol Google Cloud, buka halaman Data transfers.
Klik transfer di daftar transfer data.
Klik EDIT untuk memperbarui konfigurasi transfer.
Di kolom Service Account, masukkan nama akun layanan.
Klik Simpan.
bq
Untuk mengupdate kredensial transfer data, Anda dapat menggunakan alat command line bq untuk mengupdate konfigurasi transfer.
Gunakan perintah bq update
dengan flag --transfer_config
,
--update_credentials
, dan --service_account_name
.
Misalnya, perintah berikut mengupdate konfigurasi transfer data untuk melakukan autentikasi sebagai akun layanan, bukan akun pengguna individual Anda:
bq update \
--transfer_config \
--update_credentials \
--service_account_name=abcdef-test-sa@abcdef-test. projects/862514376110/locations/us/transferConfigs/5dd12f26-0000-262f-bc38-089e0820fe38 \
Java
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Java di Panduan memulai BigQuery menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi BigQuery Java API.
Untuk melakukan autentikasi ke BigQuery, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
Python
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Python di Panduan memulai BigQuery menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi BigQuery Python API.
Untuk melakukan autentikasi ke BigQuery, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.