The VSAM file doesn't need to be predefined, it will be configured by extracting values( hlq, mode, vol and stgclass) from the YAML file.
This will create a target JCL member in zowe.setup.mvs.jcllib(ZWECVSCM) with hardcoded values as below;
REC(80 20) -
RECSZ(4096 4096) -
KEYS(128 0)) -
//RLS DD *
//NONRLS DD *
SHAREOPTIONS(2 3) -
The is no particular need to provide update access to VSAM for every zowe user. That will be managed by resource class and dataset protection created by ZOWE security job.
For a detailed explanation please refer to "Creating VSAM caching service datasets"