Use the destination bucket's default object ACLS, if applicable.
Preserve
Preserve the object's original ACLs. This requires the service account
to have storage.objects.getIamPolicy permission for the source object.
Uniform bucket-level
access
must not be enabled on either the source or destination buckets.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-07 UTC."],[[["\u003cp\u003eThe latest version of the Storage Transfer v1 API is 2.8.0, with previous versions available dating back to 1.0.0, all of which are documented for the \u003ccode\u003eMetadataOptions.Types.Acl\u003c/code\u003e enum.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eMetadataOptions.Types.Acl\u003c/code\u003e enum defines options for handling Cloud Storage object ACLs, including \u003ccode\u003eDestinationBucketDefault\u003c/code\u003e, \u003ccode\u003ePreserve\u003c/code\u003e, and \u003ccode\u003eUnspecified\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003ePreserve\u003c/code\u003e option for ACLs requires specific permissions and that Uniform bucket-level access is disabled on source or destination buckets, whilst \u003ccode\u003eDestinationBucketDefault\u003c/code\u003e uses the destination buckets default object ACLs.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eMetadataOptions.Types.Acl\u003c/code\u003e is found within the \u003ccode\u003eGoogle.Cloud.StorageTransfer.V1\u003c/code\u003e namespace, contained in the \u003ccode\u003eGoogle.Cloud.StorageTransfer.V1.dll\u003c/code\u003e assembly.\u003c/p\u003e\n"]]],[],null,[]]