For AEMaaCS, I guess you have already considered the cached Assets on CDN. If you want to customize Asset caching, there is default caching behavior which needs to be disabled,
Please refer to following:
The AEM layer sets cache headers depending on whether the cache header has already been set and the value of the request type. If no cache control header is set, public content is cached, and authenticated traffic is set to private. If a cache control header is set, the cache headers are left untouched.
| Cache control header exists? |
Request type |
AEM sets cache headers to |
| No |
public |
Cache-Control: public, max-age=600, immutable |
| No |
authenticated |
Cache-Control: private, max-age=600, immutable |
| Yes |
any |
unchanged |
While not recommended, it is possible to change the new default behavior to follow the older behavior (program ids equal or lower than 65000) by setting the Cloud Manager environment variable AEM_BLOB_ENABLE_CACHING_HEADERS to false.
Now, images in blob storage that are marked private cannot be cached at the Dispatcher using Permission Sensitive Caching. The image is always requested from the AEM origin and served if the user is authorized.