使用服務帳戶
部分資料來源會透過 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 資料移轉服務中的身分與存取權管理角色,請參閱「身分與存取權管理簡介」。存取已設定的轉移資料來源。如要進一步瞭解不同資料來源的必要權限,請參閱「支援服務帳戶的資料來源」。
如要轉移 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 進行驗證,請設定應用程式預設憑證。詳情請參閱「設定用戶端程式庫的驗證機制」。