Secure credential storage for jobs
-
Aashoo Dabral
- New Member
- Posts: 7
- Joined: Thu Aug 14, 2014 4:35 pm
Secure credential storage for jobs
As part of my current work, I happened to run into a scenario where Passwords/API keys for batch: RACF, vault, or encrypted files—pros/cons? Thanks in advance for any pointers.
- Anuj Dhawan
- Founder
- Posts: 2838
- Joined: Sun Apr 21, 2013 7:40 pm
- Location: Mumbai, India
- Contact:
Re: Secure credential storage for jobs
If I have understood the question correctly, these are not exactly alternatives, as they address different requirements.
For a scheduler-submitted job, the scheduler normally runs under its own RACF ID and is authorized through RACF, commonly using SURROGAT, to submit the job under an application batch ID. This avoids storing a RACF password in the JCL.
If the job needs an API key, database password or another external credential, a vault is generally preferable because it supports runtime retrieval, rotation and auditing. An encrypted dataset or file can be used where vault integration is unavailable, but key management and rotation then become additional concerns.
In short, use RACF for the job identity and authorization, a vault for external secrets, and encrypted files only as a fallback. Credentials should not be stored in JCL, PROCs, source code, SYSIN, logs or spool output.
For a scheduler-submitted job, the scheduler normally runs under its own RACF ID and is authorized through RACF, commonly using SURROGAT, to submit the job under an application batch ID. This avoids storing a RACF password in the JCL.
If the job needs an API key, database password or another external credential, a vault is generally preferable because it supports runtime retrieval, rotation and auditing. An encrypted dataset or file can be used where vault integration is unavailable, but key management and rotation then become additional concerns.
In short, use RACF for the job identity and authorization, a vault for external secrets, and encrypted files only as a fallback. Credentials should not be stored in JCL, PROCs, source code, SYSIN, logs or spool output.
Thanks,
Anuj
Disclaimer: My comments on this website are my own and do not represent the opinions or suggestions of any other person or business entity, in any way.
Anuj
Disclaimer: My comments on this website are my own and do not represent the opinions or suggestions of any other person or business entity, in any way.
- hollow_rowan69
- New Member
- Posts: 7
- Joined: Mon Oct 12, 2026 10:06 am
Re: Secure credential storage for jobs
Treating RACF identity and external secrets as separate problems, as Anuj outlined, avoids stuffing passwords into JCL. Scheduler submission under SURROGAT keeps the batch user out of the PROC, while API keys and database passwords belong in a vault with rotation and audit, or in an encrypted file only when vault integration is missing. Whatever store is chosen, credentials should never appear in SYSIN, source, spool or logs, and access should be limited to the job's runtime identity. Documenting which jobs use which secret path also makes rotation day much less risky.
Create an account or sign in to join the discussion
You need to be a member in order to post a reply
Create an account
Not a member? register to join our community
Members can start their own topics & subscribe to topics
It’s free and only takes a minute