An Allow is not enough: IAM still says no
A deploy role that is allowed s3:PutObject still gets AccessDenied. We replay the request in the IAM policy simulator, one layer at a time: implicit deny, permissions boundary, explicit Deny on aws:SecureTransport, organization SCPs.