Folder terkelola Cloud Storage menyediakan kontrol akses terperinci ke objek di bucket Cloud Storage. Izin dapat ditetapkan di tingkat folder dalam bucket yang menggunakan akses level bucket universal. Saat mentransfer objek antar-bucket Cloud Storage dengan Storage Transfer Service, izin folder terkelola ini dapat dipertahankan.
Batasan
Batasan berikut berlaku untuk transfer folder terkelola:
- Bucket tujuan harus menggunakan akses level bucket yang seragam.
- Transfer folder terkelola tidak mendukung opsi
deleteObjectsUniqueInSink
ataudeleteObjectsFromSourceAfterTransfer
. - Tidak boleh ada IAM Conditions di
bucket tujuan atau project-nya yang
menggunakan jenis resource bucket (
storage.googleapis.com/Bucket
) atau jenis resource object (storage.googleapis.com/Object
). Jika bucket dalam project memiliki IAM Conditions yang menggunakan salah satu jenis resource ini, folder terkelola tidak dapat ditransfer ke bucket mana pun dalam project tersebut, meskipun kondisi tersebut dihapus nanti. - Transfer berbasis peristiwa tidak didukung.
- Transfer manifes tidak didukung.
Izin IAM
Izin Identity and Access Management (IAM) Google Cloud berikut diperlukan oleh akun layanan yang dikelola Google.
Untuk sumber dan tujuan, izin dapat ditetapkan di tingkat bucket, atau dapat ditetapkan di folder terkelola. Untuk menetapkan izin di folder terkelola tujuan, folder tersebut harus sudah ada.
Sebaiknya jangan tetapkan izin folder terkelola di tingkat project; lihat Pertimbangan keamanan untuk mengetahui info tambahan.
Di bucket sumber atau folder terkelola:
storage.managedFolders.getIamPolicy
storage.managedFolders.list
storage.managedFolders.get
Di bucket tujuan atau folder terkelola:
storage.managedFolders.setIamPolicy
storage.managedFolders.list
storage.managedFolders.create
Izin ini merupakan tambahan dari izin standar yang diperlukan oleh Storage Transfer Service:
Untuk memberikan izin folder terkelola yang diperlukan, buat peran khusus hanya dengan izin yang diperlukan.
Membuat transfer folder terkelola
Untuk membuat transfer yang berisi folder terkelola, tentukan
managedFolderTransferEnabled: true
di transferSpec
Anda. Secara opsional, Anda dapat menentukan nilai path
untuk mentransfer hanya folder terkelola tertentu.
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"
}
Jika izin transfer terkelola yang benar tidak ditetapkan di sumber dan tujuan, transfer akan gagal.
Lihat Membuat transfer
untuk mengetahui detail tentang cara membuat transfer menggunakan REST API, atau lihat
referensi transferJobs.create
.
Pertimbangan keamanan
Memberikan izin folder terkelola ke akun layanan yang dikelola Google memungkinkan akun tersebut mengubah kebijakan IAM di folder tujuan, atau di semua folder jika peran diberikan di tingkat project. Hal ini menimbulkan risiko keamanan: pengguna dengan izin edit tugas dapat memanfaatkannya untuk memberikan hak istimewa kepada pelaku berbahaya. Untuk memitigasi risiko ini, pertimbangkan untuk mengisolasi transfer folder terkelola dalam project Google Cloud khusus.
Cloud Logging
Tindakan folder terkelola dicatat ke dalam log oleh Cloud Logging. Lihat artikel Cloud Logging untuk Storage Transfer Service untuk mengetahui detailnya.
Pemecahan masalah
Untuk mendapatkan bantuan dalam membuat dan mengelola folder terkelola, lihat halaman Pemecahan masalah.