Home / How to implement ISO 27001 / How to Implement ISO 27001 Annex A 8.31 Separation of Development, Test, and Production Environments

How to Implement ISO 27001 Annex A 8.31 Separation of Development, Test, and Production Environments

In this ultimate how to implement guide to ISO 27001 Annex A 8.31 Separation of Development, Test and Production Environments, you will learn directly from an ISO 27001 Lead Auditor:

  • The requirement of the control
  • The required implementation steps
  • The minimum requirement

I am Stuart Barker, the ISO 27001 Lead Auditor and author of the Ultimate ISO 27001 Toolkit.

Using over 30 years of industry experience across hundreds of audits, I’m giving you the exact templates, walkthroughs, and practical examples you need to achieve ISO 27001 certification.

Implementing ISO 27001 Annex A 8.31 requires the rigid separation of development, testing, and production environments to maintain system integrity. This control mandates network-level segmentation and strict access restrictions to ensure code is verified before deployment. The critical business benefit is effectively preventing unauthorized changes and confidential data leakage.

ISO 27001 Separation of development, test and production environments Implementation Checklist

Use this implementation checklist to achieve compliance with ISO 27001 Annex A 8.31. This control necessitates a rigid logical and physical separation between development, test, and production environments to prevent unauthorised changes and data leakage.

1. Enforce Network-Level Segmentation

Control Requirement: Production environments must be isolated on the network level from development and test environments.

Required Implementation Step: Configure distinct VLANs or VPCs (Virtual Private Clouds) for Prod, Stage, and Dev. Implement ‘Deny All’ firewall rules between the Development network and the Production database ports; developers must not have a direct network route to production data stores.

Minimum Requirement: A `ping` from a development server to a production database server must timeout.

2. Implement Strict Role-Based Access Control (RBAC)

Control Requirement: Access rights must be restricted based on the environment’s classification.

Required Implementation Step: Audit your Identity Provider (IdP) groups. Remove ‘Write’ and ‘Execute’ permissions for the ‘Developers’ group in the Production environment; developers should only have access to view logs or metrics, not to modify infrastructure or data.

Minimum Requirement: Developers have Read-Only access to Production; only DevOps/SRE or CI/CD service accounts have Write access.

3. Mandate CI/CD Deployment Pipelines

Control Requirement: Changes to production must not be made manually by individuals.

Required Implementation Step: Disable SSH/RDP access for code deployment. Configure a CI/CD pipeline (e.g., Jenkins, GitLab CI, GitHub Actions) that is the only authorised mechanism to promote code from Staging to Production, ensuring an audit trail of every release.

Minimum Requirement: Direct editing of code on production servers is technically blocked.

High Table Fay and Stuart 3
Shopping Basket
Scroll to Top