Apart from the above answers, another thing to make sure is, if s3 bucket has server side encryption with KMS, in account B, and the access is originated from account A, make sure the principal in account A has access to that KMS, and the KMS's resource based policy allows it. Ref