如果您具備適當的 IAM 權限,且強制執行必要的機構政策,即可使用 Resource Manager API 在機構資源之間遷移專案資源。
gcloud
如要將專案遷移至其他機構資源,請執行下列指令:
gcloud beta projects move PROJECT_ID \ --organization ORGANIZATION_ID
您也可以使用下列指令,將資料夾指定為目標資源:
gcloud beta projects move PROJECT_ID \ --folder FOLDER_ID
取代下列欄位:
- PROJECT_ID 是要遷移的專案 ID 或編號。
- ORGANIZATION_ID 是您要將專案移至的機構資源 ID。您只能指定一個目標,也就是機構資源或資料夾。
- FOLDER_ID 是您要將專案移至的資料夾 ID。您只能指定一個目標,也就是資料夾或機構資源。
API
透過 v1 Resource Manager API,您就能將專案的 parent
欄位設為目標資源的 ID,藉此在機構資源之間遷移專案。
如要遷移專案,請按照下列步驟操作:
- 使用
projects.get()
方法取得project
物件。 - 將其
parent
欄位設為機構資源的機構資源 ID,或是要將其移至的資料夾的資料夾 ID。 - 使用
projects.update()
方法更新project
物件。
以下用程式碼片段說明上述步驟:
project = crm.projects().get(projectId=flags.projectId).execute()
project['parent'] = {
'type': 'organization',
'id': flags.organizationId
}
project = crm.projects().update(
projectId=flags.projectId, body=project).execute()
復原遷移作業
如果誤將專案遷移至錯誤位置,可以再次執行遷移作業,將舊來源設為新目的地,並將舊目的地設為新來源,藉此還原作業。您必須具備必要的 IAM 權限,並強制執行機構政策,才能允許這項操作,就像是進行全新的遷移作業一樣。
如要還原專案從「無機構」遷移至「機構」資源的作業,請與 Google Cloud 客戶服務聯絡。