According to the AWS Create a scope-down policy documentation and their example provided, it seems you need to utilize and structure the configuration differently but similar to their example with "Sid": "AllowListingOfUserFolder"
per theirthat guidance.
Create a scope-down policy
A scope-down policy is an AWS Identity and Access Management (IAM) policy that restricts users to certain portions of an Amazon S3 bucket. It does so by evaluating access in real time.
You can use a scope-down policy when you need to give the same access to a group of users to a particular portion of your Amazon S3 bucket. For example, a group of users might need access to only the home directory. That group of users share the same IAM roleFor example, a group of users might need access to only the home directory. That group of users share the same IAM role.
To create a scope-down policy, use the following policy variables in your IAM policy:
${transfer:HomeBucket}
${transfer:HomeDirectory}
${transfer:HomeFolder}
${transfer:UserName}
An example of a scope-down policy is shown in the code example following.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowListingOfUserFolder", "Action": [ "s3:ListBucket" ], "Effect": "Allow", "Resource": [ "arn:aws:s3:::${transfer:HomeBucket}" ], "Condition": { "StringLike": { "s3:prefix": [ "${transfer:HomeFolder}/*", "${transfer:HomeFolder}" ] } } }, { "Sid": "HomeDirObjectAccess", "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetObject", "s3:DeleteObjectVersion", "s3:DeleteObject", "s3:GetObjectVersion", "s3:GetObjectACL", "s3:PutObjectACL" ], "Resource": "arn:aws:s3:::${transfer:HomeDirectory}*" } ] }