8.31 Separation of development, test and production environments
Requires development, testing and production environments to be separated from one another and each of them secured.
5
artefacts
0
held by a system
3
at each review
hard
to go live
Policy repository / GRC workspace
where the evidence lives
teal = a system already holds it · olive = produced at each review
system holds itEvidence a system already holds
none for this control
periodic reviewEvidence produced at each review
- Evidence of technical enforcement, such as separate accounts, subscriptions or tenancies and distinct credentials per environment · Identity provider / directory
- Evidence of control over data placed in non production environments, tied to the masking requirement · Cloud console / configuration management
- Evidence developers do not hold standing production access, or that such access is controlled and logged where required · Cloud console / configuration management
governing documentDocuments that govern the control
- Documentation of the environments in use and the separation between them, covering network, credential, data and administrative separation · Policy repository / GRC workspace
- Controls over promotion between environments, showing what is required to move code to production · Policy repository / GRC workspace
First move
This control is evidenced by people and documents, not systems. Put the document under version control with an owner and review date, and log each review as a record with reviewer and date. Do not try to automate it.
Common gaps auditors find
- Environments logically separated while sharing credentials, directory, keys or a management plane
- Production data copied to test as a matter of routine, which makes the test environment a production exposure with weaker controls
- Developers holding standing production access for support, defeating the separation entirely
- Non production environments unpatched and unmonitored while connected to the same network as production
Do this for your whole sheet
Paste the rows you run your controls from and get this mapping for every control at once, with the periodic-review ones flagged and a first move per row. No account for the first run.
Build my evidence sheet