Cloud Storage 管理式資料夾可針對 Cloud Storage 值區中的物件提供精細的存取權控管功能。您可以在使用通用值區層級存取權的值區中,以資料夾層級設定權限。使用 Storage 移轉服務在 Cloud Storage 值區之間轉移物件時,這些受管理的資料夾權限會保留。
限制
以下限制適用於受管理資料夾的移轉作業:
- 目的地值區必須使用統一值區層級存取權。
- 受管理的資料夾轉移作業不支援
deleteObjectsUniqueInSink
或deleteObjectsFromSourceAfterTransfer
選項。 - 目的地值區或其專案不得設有使用值區資源類型 (
storage.googleapis.com/Bucket
) 或物件資源類型 (storage.googleapis.com/Object
) 的 IAM 限制條件。如果專案中的任何值區都設有使用這兩種資源類型之一的 IAM 限制條件,則即使後來移除限制條件,也無法將受管理的資料夾轉移至該專案中的任何值區。 - 不支援事件導向轉移作業。
- 不支援資訊清單轉移。
IAM 權限
Google 管理的服務帳戶需要下列 Google Cloud 身分與存取權管理 (IAM) 權限。
無論來源和目的地為何,您都可以在儲存桶層級設定權限,也可以在受管理的資料夾上設定。如要設定目標代管資料夾的權限,該資料夾必須已存在。
我們不建議在專案層級設定受管理的資料夾權限。如需更多資訊,請參閱「安全性考量」。
在來源值區或受管理的資料夾上:
storage.managedFolders.getIamPolicy
storage.managedFolders.list
storage.managedFolders.get
在目標值區或受管理的資料夾上:
storage.managedFolders.setIamPolicy
storage.managedFolders.list
storage.managedFolders.create
除了 Storage 移轉服務所需的標準權限外,還需要下列權限:
如要授予必要的受管理資料夾權限,請建立自訂角色,並只授予必要的權限。
建立受管理的資料夾轉移作業
如要建立包含受管理資料夾的傳輸作業,請在 transferSpec
中指定 managedFolderTransferEnabled: true
。您可以選擇指定 path
值,只轉移特定的受管理資料夾。
POST https://storagetransfer.googleapis.com/v1/transferJobs
{
"name": "transferjobs/NAME",
"projectId": "PROJECT_ID",
"transferSpec": {
"gcsDataSource": {
"bucketName": "SOURCE_BUCKET",
"path": "SOURCE_PATH",
"managedFolderTransferEnabled": true
},
"gcsDataSink": {
"bucketName": "DESTINATION_BUCKET",
"path": "DESTINATION_PATH",
}
},
"status": "ENABLED"
}
如果來源和目的地未設定正確的受管理轉移權限,轉移作業就會失敗。
如要進一步瞭解如何使用 REST API 建立轉移作業,請參閱「建立轉移作業」一文,或參閱 transferJobs.create
參考資料。
安全性考量
將受管理的資料夾權限授予 Google 管理的服務帳戶,即可讓該帳戶修改目的地資料夾的 IAM 政策,如果是在專案層級授予角色,則可修改所有資料夾的 IAM 政策。這會帶來安全性風險:具備工作編輯權限的使用者可能會利用這項功能,將權限授予惡意人士。為降低這類風險,建議您在專屬 Google Cloud 專案中隔離受管理的資料夾轉移作業。
Cloud Logging
Cloud Logging 會記錄受管理資料夾的動作。詳情請參閱「Storage 移轉服務的 Cloud Logging」。
疑難排解
如需建立及管理受管理資料夾的相關說明,請參閱「疑難排解」頁面。