S3 does not have a way to set cache headers per bucket. Instead you have to set the cache header per image. When Grasshopper uploads an image, far future cache headers should be set on that image. This functionality should be opt in via the options key farFutureHeaders.
This should only affect the AWS Assets engine.