準備進行線上轉移

首次使用線上轉移功能時,必須先完成設定。初始設定完成後,後續轉移作業就不需要執行這些步驟。

如要完成這項設定,最簡單的方法是使用Google Cloud 控制台中的設定檢查清單,詳情請參閱「專案設定和金鑰下載」。檢查清單只會啟用 Transfer Appliance、Pub/Sub 和 Storage Transfer API,建立設備服務帳戶,並將角色授予服務帳戶。

如要手動設定線上移轉作業,例如只授予最低必要角色,或使用屬於其他專案的服務帳戶,請按照本頁的操作說明進行。

用於線上移轉作業的服務帳戶

線上移轉作業會使用下列兩種身分:

  • 設備服務帳戶:使用者自行管理的服務帳戶,您會將其金鑰 (key.json) 上傳至設備。設備會使用這個服務帳戶建立及執行 Storage 移轉服務工作、發布和接收 Pub/Sub 訊息,以及將資料上傳至目的地 bucket。當您點選「Create service account」(建立服務帳戶) 時,設定檢查清單會建立這個服務帳戶。您也可以自行建立。

  • 專案的 Storage 移轉服務服務代理:Google 代管的服務代理,格式如下:

    project-PROJECT_NUMBER@storage-transfer-service.iam.gserviceaccount.com
    

    將 PROJECT_NUMBER 替換為目的地 bucket 所在專案的專案編號。

啟用 API

如要完成線上移轉的首次設定, Google Cloud 管理員必須啟用下列 API:

  • Google Storage Transfer API (storagetransfer.googleapis.com)
  • Pub/Sub API (pubsub.googleapis.com)
  • Cloud Storage API (storage.googleapis.com)

(選用) 如果要啟用 Cloud Monitoring,請一併啟用 Cloud Monitoring API (monitoring.googleapis.com)。

在下列專案中啟用 API:

  • 您訂購設備的專案,其中包含目的地 bucket。
  • 如果設備服務帳戶屬於其他專案,也請提供該專案。系統會根據擁有服務帳戶的專案,檢查來自設備的 API 要求。如果專案未啟用 API,線上移轉作業會失敗,並顯示類似 Storage Transfer API has not been used in project PROJECT_NUMBER before or it is disabled 的錯誤。

如要在專案中啟用 API,請按照下列步驟操作:

  1. 啟用 Storage Transfer、Pub/Sub 和 Cloud Storage API (如有任何 API 尚未啟用)。

    啟用 API 所需的角色

    您必須具備 serviceusage.services.enable 權限,才能啟用 API。如果您建立了專案,可能已透過擁有者角色 (roles/owner) 取得這項權限。否則,您可以透過 Service Usage 管理員角色 (roles/serviceusage.serviceUsageAdmin) 取得這項權限。瞭解如何授予角色。

    啟用 API

    1. 確認要啟用 API 的專案,然後按一下「Next」(下一步)。

    2. 按一下「啟用」。

您也可以執行下列指令:

gcloud services enable storagetransfer.googleapis.com pubsub.googleapis.com storage.googleapis.com --project=PROJECT_ID

將 PROJECT_ID 替換為要啟用 API 的專案 ID。

設定 Storage 移轉服務的服務代理

在訂購設備的專案中,將下列角色授予專案的 Storage 移轉服務代理:

  • Pub/Sub Editor (roles/pubsub.editor)

將下列其中一個角色授予目的地 bucket 的 Storage 移轉服務代理:

  • Storage Object Admin (roles/storage.objectAdmin),這是最低必要角色。
  • Storage Admin (roles/storage.admin):設定檢查清單授予的角色。

建立及設定使用者自行管理的服務帳戶

  1. 建立使用者自行管理的服務帳戶。這是設備服務帳戶。

    服務帳戶可以位於您訂購設備的專案中,也可以位於其他專案,例如貴組織不允許在訂單專案中建立服務帳戶金鑰。如果使用其他專案,也請在該專案中啟用 API。

  2. 在訂購設備的專案,以及目的地 bucket,將角色授予使用者自行管理的服務帳戶。即使服務帳戶屬於其他專案,也請在訂單專案和目的地 bucket 授予這些角色。

    下表列出線上移轉作業所需的最低角色,以及設定檢查清單授予的更廣泛角色:

    授予位置 最低權限角色 設定檢查清單授予的角色
    專案
    • Storage Transfer Agent (roles/storagetransfer.transferAgent)
    • Storage Transfer User (roles/storagetransfer.user)
    • Pub/Sub Editor (roles/pubsub.editor)
    • Monitoring Metric Writer (roles/monitoring.metricWriter)
    • Storage Transfer Admin (roles/storagetransfer.admin)
    • Pub/Sub Editor (roles/pubsub.editor)
    • Monitoring Metric Writer (roles/monitoring.metricWriter)
    • Storage Admin (roles/storage.admin)
    目標值區
    • Storage Object Admin (roles/storage.objectAdmin)
    • Storage Legacy Bucket Reader (roles/storage.legacyBucketReader)
    無,專案層級的 Storage Admin (roles/storage.admin) 角色涵蓋 bucket。

設定服務帳戶後,請準備服務帳戶金鑰:

  1. 為使用者管理的服務帳戶建立服務帳戶金鑰。金鑰會在建立時下載,且無法再次下載。

  2. 將金鑰重新命名為 key.json,並儲存到安全的位置。

  3. 收到設備後,請將 key.json 上傳到設備上的 /tmp 目錄。