使用服務帳戶
部分資料來源支援使用服務帳戶透過 Google Cloud 控制台、API 或 bq
指令列進行資料移轉驗證。服務帳戶是與 Google Cloud 專案相關聯的 Google 帳戶。服務帳戶可透過服務帳戶憑證 (而非使用者憑證) 進行驗證,並執行工作,例如排程查詢或批次處理管道。
您可以使用服務帳戶的憑證更新現有資料轉移作業。詳情請參閱「更新資料移轉憑證」。
在下列情況下,您需要更新憑證:
您的轉移作業無法授權使用者存取資料來源:
Error code 401 : Request is missing required authentication credential. UNAUTHENTICATED
嘗試執行轉移作業時,您會收到 INVALID_USER 錯誤:
Error code 5 : Authentication failure: User Id not found. Error code: INVALID_USERID
如要進一步瞭解如何透過服務帳戶進行驗證,請參閱驗證功能簡介一文。
支援服務帳戶的資料來源
BigQuery 資料移轉服務可使用服務帳戶憑證,透過下列項目進行移轉:
- Cloud Storage
- Amazon Redshift
- Amazon S3
- Campaign Manager
- 碳足跡
- 資料集副本
- Display & Video 360
- Google Ad Manager
- Google Ads
- Google Merchant Center
- Google Play
- 已排定的查詢
- Search Ads 360
- Teradata
- YouTube 內容擁有者
事前準備
- 確認您已完成「啟用 BigQuery 資料移轉服務」中的一切必要動作。
- 授予 Identity and Access Management (IAM) 角色,讓使用者擁有執行本文中各項工作所需的權限。
所需權限
如要更新資料移轉作業以使用服務帳戶,您必須具備下列權限:
修改移轉作業的
bigquery.transfers.update
權限。預先定義的
roles/bigquery.admin
IAM 角色包含這項權限。服務帳戶的存取權。如要進一步瞭解如何授予使用者服務帳戶角色,請參閱服務帳戶使用者角色。
請確認您選擇用來執行轉移作業的服務帳戶具備下列權限:
目標資料集的
bigquery.datasets.get
和bigquery.datasets.update
權限。如果資料表使用資料欄層級存取權控管,服務帳戶也必須具備bigquery.tables.setCategory
權限。bigquery.admin
預先定義的 IAM 角色具有以上所有權限。如要進一步瞭解 BigQuery 資料移轉服務中的 IAM 角色,請參閱 IAM 簡介。存取已設定的移轉資料來源。如要進一步瞭解不同資料來源的必要權限,請參閱「支援服務帳戶的資料來源」一文。
如要轉移 Google Ads,服務帳戶必須獲得網域範圍的授權。詳情請參閱 Google Ads API 服務帳戶指南。
更新資料移轉憑證
主控台
下列程序會更新資料移轉設定,改為以服務帳戶 (而非個別使用者帳戶) 進行驗證。
前往 Google Cloud 控制台的「資料移轉」頁面。
在資料移轉清單中,按一下要查看的移轉作業。
按一下「編輯」即可更新轉移設定。
在「Service Account」(服務帳戶) 欄位中,輸入服務帳戶名稱。
按一下 [儲存]。
bq
如要更新資料移轉作業的憑證,可以使用 bq 指令列工具更新移轉作業設定。
請使用 bq update
指令,並加上 --transfer_config
、--update_credentials
和 --service_account_name
旗標。
舉例來說,下列指令會更新資料移轉設定,並以服務帳戶 (而非個人使用者帳戶) 進行驗證:
bq update \
--transfer_config \
--update_credentials \
--service_account_name=abcdef-test-sa@abcdef-test.iam.gserviceaccount.com projects/862514376110/locations/us/transferConfigs/5dd12f26-0000-262f-bc38-089e0820fe38 \
Java
在試行這個範例之前,請先按照 BigQuery 快速入門導覽課程:使用用戶端程式庫中的 Java 設定說明進行操作。詳情請參閱 BigQuery Java API 參考說明文件。
如要向 BigQuery 進行驗證,請設定應用程式預設憑證。 詳情請參閱「設定用戶端程式庫的驗證機制」。
Python
在試行這個範例之前,請先按照 BigQuery 快速入門導覽課程:使用用戶端程式庫中的 Python 設定說明進行操作。詳情請參閱 BigQuery Python API 參考說明文件。
如要向 BigQuery 進行驗證,請設定應用程式預設憑證。 詳情請參閱「設定用戶端程式庫的驗證機制」。