1
votes

I am having this error in my getList call:

S3TransferManagerSample[1717:48308] listObjects failed: [Error Domain=com.amazonaws.AWSS3ErrorDomain Code=1 "The operation couldn’t be completed. (com.amazonaws.AWSS3ErrorDomain error 1.)" UserInfo=0x7fb71412d300 {HostId=qhjcOyYAPQjHhJIX5REMTN5A48ecxIkHCqt6fFwkQPBff+tKWnML9A4yQobq2C38, Message=Access Denied, Code=AccessDenied, RequestId=B6920900AB17C864}]

I have created 2 roles one is auth and other is un-auth. Here are the inline policies for both roles:

RoleARN: Cognito_(projectName)Auth_Role
oneClick_Cognito_(projectName)Auth_Role_1424434616386: {
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "mobileanalytics:PutEvents",
        "cognito-sync:"
      ],
      "Resource": [
        ""
      ]
    }
  ]
}

policygen-Cognito_(projectName)Auth_Role-201502201739: {
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "Stmt1424435859000",
      "Effect": "Allow",
      "Action": [
        "s3:GetObject",
        "s3:ListBucket",
        "s3:PutObject"
      ],
      "Resource": [
        "arn:aws:s3:::(bucket name)/*"
      ]
    }
  ]
}

RoleARN: Cognito_(projectName)Unauth_Role
oneClick_Cognito_(projectName)Unauth_Role_1424434555837: {
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "mobileanalytics:PutEvents",
        "cognito-sync:"
      ],
      "Resource": [
        ""
      ]
    }
  ]
}

policygen-Cognito_(projectName)Unauth_Role-201502201743: {
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "Stmt1424436103000",
      "Effect": "Allow",
      "Action": [
        "s3:GetObject",
        "s3:ListBucket",
        "s3:PutObject"
      ],
      "Resource": [
        "arn:aws:s3:::(bucket name)/*"
      ]
    }
  ]
}

can someOne please guide me through?

1

1 Answers

2
votes

ListBucket permission needs to be granted for a bucket, not for the keys in the bucket. You should take a look at this blog for further details.