如要執行代理程式型移轉作業,必須具備兩個不同實體的專案層級 IAM 權限:服務代理和移轉代理帳戶。
只有在移轉作業涉及檔案系統、HDFS 或與 S3 相容的儲存空間時,才需要設定這個頁面的權限。如果轉移作業不使用無代理程式,請勿在這個頁面設定角色,直接前往「設定來源和目的地的存取權」。
代理程式型移轉作業會使用下列身分:
- 服務代理:由 Google 代管的服務帳戶,Storage 移轉服務會使用這個帳戶與移轉代理協調工作。
- 移轉代理程式帳戶:Google Cloud 使用者帳戶或使用者自行管理的服務帳戶,用於在用戶端機器或執行個體上驗證及執行移轉代理程式。
如要瞭解如何授予 IAM 角色,請參閱「授予、變更及撤銷資源的存取權」。
服務代理權限
Storage 移轉服務會使用服務代理,協調代理驅動的移轉作業。
如要讓 Storage 移轉服務協調 Google Cloud 和移轉代理程式之間的工作,請將下列角色授予執行 Storage 移轉服務的專案服務代理:
- Storage 移轉服務代理 (
roles/storagetransfer.serviceAgent)
取得服務代理電子郵件地址
如要將角色授予服務代理,必須提供服務代理的電子郵件地址 ID。首次建立移轉工作、執行 gcloud transfer 設定指令、造訪 Google Cloud 控制台中的「Storage Transfer」頁面,或呼叫 googleServiceAccounts.get 時,系統會自動建立服務代理。
如要取得服務代理電子郵件地址,請按照下列步驟操作:
- 前往
googleServiceAccounts.get參考頁面。互動式面板隨即開啟,標題為「試用這個方法」。 - 在「Request parameters」(要求參數) 下方,輸入專案 ID。
- 點選「Execute」。
複製 accountEmail 的值。電子郵件地址會採用下列格式:project-PROJECT_NUMBER@storage-transfer-service.iam.gserviceaccount.com。
授予服務代理角色
如要授予 Storage 移轉服務代理角色,請按照下列步驟操作:
Google Cloud 控制台
前往 Google Cloud 控制台,找到執行 Storage 移轉服務的專案,然後前往「IAM」頁面。
按一下「授予存取權」。
在「New principals」(新增主體) 欄位中,輸入服務代理電子郵件地址。
在「Select a role」(選取角色) 下拉式選單中,搜尋並選取「Storage Transfer Service Agent」(Storage 移轉服務代理程式) (
roles/storagetransfer.serviceAgent)。按一下「儲存」。
gcloud
執行 gcloud projects add-iam-policy-binding:
gcloud projects add-iam-policy-binding PROJECT_ID \ --member="serviceAccount:SERVICE_AGENT_EMAIL" \ --role="roles/storagetransfer.serviceAgent"
更改下列內容:
- PROJECT_ID:執行 Storage 移轉服務的專案。
- SERVICE_AGENT_EMAIL:服務代理電子郵件地址。
轉移代理帳戶權限
移轉代理程式會使用使用者帳戶或使用者自行管理的服務帳戶憑證,在用戶端機器上執行:
- 使用者帳戶會使用已驗證使用者的憑證。
- 使用者自行管理的服務帳戶會使用服務帳戶金鑰或身分聯盟。如要建立服務帳戶,請參閱「建立及管理服務帳戶」。
如要授權移轉代理程式連線至 Storage 移轉服務、接收工作及記錄狀態,請在託管代理程式集區的 Google Cloud 專案中指派下列角色:
- Storage 移轉代理程式 (
roles/storagetransfer.transferAgent)
授予這個角色的方法如下:
Google Cloud 控制台
前往 Google Cloud 控制台的「IAM」(身分與存取權管理) 頁面。
確認您已選取含有代理程式集區的專案。
按一下「授予存取權」。
在「New principals」(新增主體) 欄位中,輸入使用者帳戶或使用者自行管理的服務帳戶電子郵件地址。
在「Select a role」(請選擇角色) 下拉式選單中,搜尋並選取「Storage Transfer Agent」(Storage 移轉代理程式) (
roles/storagetransfer.transferAgent)。按一下「儲存」。
gcloud
執行 gcloud projects add-iam-policy-binding:
gcloud projects add-iam-policy-binding AGENT_POOL_PROJECT_ID \ --member="serviceAccount_OR_user:TRANSFER_AGENT_ACCOUNT" \ --role="roles/storagetransfer.transferAgent"
更改下列內容:
- AGENT_POOL_PROJECT_ID:包含代理程式集區的專案。
- serviceAccount_OR_user:如果移轉代理程式帳戶是服務帳戶,請指定
serviceAccount;如果代理程式是以使用者帳戶安裝,請指定user。 - TRANSFER_AGENT_ACCOUNT:執行 移轉代理程式的帳戶電子郵件地址。
後續步驟
設定專案權限後,請依序完成下列設定步驟: