You don't need Saas for that. Just upload the images in a S3 bucket and set the access to protected. You can make a PUT request to a pre-signed URL for that. For GET just create a lambda function that GETs the image if it passes your criteria (create time, secret key). It's less than 5 lines of code.
As for CDN just put everything behind Cloudfront and you have edge servers worldwide!