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
deleteObjectsUniqueInSinkataudeleteObjectsFromSourceAfterTransfer. - Tidak boleh ada IAM Conditions pada
bucket tujuan atau project-nya yang
menggunakan jenis resource bucket (
storage.googleapis.com/Bucket) atau jenis resource object (storage.googleapis.com/Object). Jika ada bucket dalam project yang memiliki IAM Condition yang menggunakan salah satu jenis resource ini, folder terkelola tidak dapat ditransfer ke bucket mana pun dalam project tersebut, meskipun kondisinya dihapus nanti. - Transfer berbasis peristiwa tidak didukung.
- Transfer manifes tidak didukung.
Izin IAM
Izin Google Cloud Identity and Access Management (IAM) berikut diperlukan oleh agen layanan Storage Transfer Service service agent.
Untuk sumber dan tujuan, izin dapat ditetapkan di tingkat bucket, atau dapat ditetapkan pada folder terkelola. Untuk menetapkan izin pada folder terkelola tujuan, folder tersebut harus sudah ada.
Sebaiknya jangan tetapkan izin folder terkelola di tingkat project; lihat Pertimbangan keamanan untuk info tambahan.
Di bucket sumber atau folder terkelola:
storage.managedFolders.getIamPolicystorage.managedFolders.liststorage.managedFolders.get
Di bucket tujuan atau folder terkelola:
storage.managedFolders.setIamPolicystorage.managedFolders.liststorage.managedFolders.create
Izin ini selain izin standar yang diperlukan oleh Storage Transfer Service:
Untuk memberikan izin folder terkelola yang diperlukan, buat peran kustom dengan hanya izin yang diperlukan.
Membuat transfer folder terkelola
Untuk membuat transfer yang berisi folder terkelola, tentukan managedFolderTransferEnabled: true di transferSpec. Anda dapat secara opsional 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 agen layanan memungkinkan akun 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 mengeksploitasinya untuk memberikan hak istimewa kepada pihak berniat jahat. Untuk mengurangi risiko ini, pertimbangkan untuk mengisolasi transfer folder terkelola dalam project Google Cloud khusus.
Cloud Logging
Tindakan folder terkelola dicatat oleh Cloud Logging. Lihat Cloud Logging untuk Storage Transfer Service untuk mengetahui detailnya.
Pemecahan masalah
Untuk mendapatkan bantuan dalam membuat dan mengelola folder terkelola, lihat halaman Pemecahan masalah.