Attempting to manually test creating an exact backup for a GCS bucket via Data Transfer Service in the GCP browser UI and getting error...
Couldn't read source object ACLs. Source bucket must not have storage.uniformBucketLevelAccess enabled and the service account must have storage.objects.getIAMPolicy on the source object.
Yet, my source bucket does not have uniform Access Control and I do have storage.objects.getIAMPolicy
permissions on the project. I'm not very experienced with GCP, so IDK what else could be going wrong here.
Does anyone have any thoughts on what could be going wrong here or any debugging things to try?
My DTS job configs look like this:
My source bucket configs look like...
My destination bucket configs look like...
And my user IAM permissions look like...
(IDK why there are no "excess permissions" added for my Storage Object Admin role (I think has something do do with this), but storage.objects.getIamPolicy
was indeed part of the permissions diff list when I set that role.)
Tried looking at the docs here (https://cloud.google.com/storage-transfer/docs/source-cloud-storage#user_permissions), but IDK that these docs are accurate / up to date.
If you're using the Google Cloud console to create your transfer, and have the permissions listed in User permissions.
Looking at the User Permissions section...
The Storage Legacy Bucket Owner role (roles/storage.legacyBucketOwner) or the Storage Admin role (roles/storage.admin) provide the required permissions.
My personal user already has the Storage Admin role (the Storage Legacy Bucket role appear to not exist when I attempt to edit my user permissions) -- there is a Storage Transfer Admin role, but the policy change simulator shows this would not add any new permissions.
Following the instructions re. granting the required permissions to the service agent here to ID the DTS service agent principal email (https://cloud.google.com/storage-transfer/docs/source-cloud-storage#find), I followed along and found that the service agent principal was already added to the DTS source bucket with Storage Legacy Bucket Reader
and Storage Object Viewer
roles. So, unfortunately, it appears there was no issue with the automatic granting yet the DTS job does not work.
(And there is nothing in the Logs Explorer re. that bucket or GCS other than the logged actions of me creating it -- ie. as if it's not even registering the failed DTS job runs I manually triggered).
Does anyone have any thoughts on what could be going wrong here or any debugging things to try?