SC-32 System Partitioning asks you to partition the system into chosen components residing in separate physical or logical domains or environments, based on chosen circumstances. You define the components and the criteria.
NIST SP 800-53 binds US federal systems, and reaches contractors and cloud providers through contract terms such as FedRAMP. For everyone else it is a reference catalog you borrow from, so check which parts your customer or auditor actually expects.
The guidance calls partitioning part of a defense in depth strategy. You decide how much physical separation to apply. Options include physically distinct components in separate racks in the same room, critical components in separate rooms, and geographic separation. Security categorization can guide which components belong in separate domains. Managed interfaces restrict or prohibit network access and information flow among the partitions. SC-32.1 adds separate physical domains for privileged functions.
What it means in practice
Segmentation, in plain terms. Put things with different risk in different places, and control the doors between them. A production database and a marketing website should not share a flat network. Development and production should not share credentials. Management systems should sit apart from application workloads.
Common partitions for a software company:
- Production, staging and development in separate cloud accounts or subscriptions.
- Customer data stores in their own network segment, reachable only from the services that need them.
- Management and security tooling in a dedicated account or network.
- Corporate IT, such as laptops and office systems, separate from production.
- Regulated or high sensitivity workloads in their own environment.
Logical separation is normal in the cloud. Accounts, virtual networks, subnets, security groups and policy boundaries all work. The criteria matter more than the technology: say what drives the partition, such as data sensitivity, trust level or regulatory scope.
Evidence to collect
- Architecture diagrams showing partitions and the controlled paths between them.
- The criteria document: why each component sits where it does.
- Network and firewall rules, security group exports and routing tables showing only approved flows.
- Account structure for cloud, with the separation of production from other environments.
- Identity configuration showing separate credentials or roles per environment.
- Results of tests that attempt to cross a boundary and fail.
- For privileged functions, evidence of a separate management domain, as in SC-32.1.
- Review records for the allowed flows.
Common gaps
A flat network where any host can reach any other. Production and development in one account, with shared secrets. Over broad rules such as any to any inside the environment. Management interfaces reachable from application subnets. Engineers with the same access in every environment. Diagrams that no longer match reality. Rules added during an incident and never removed.
Another gap is unknown assets. If you do not know a system exists, you cannot put it in a partition.
How to implement it
Start with discovery. Build an asset inventory so every component has an owner and a classification.
Define the partitions. Keep the list short. Begin with production versus everything else, customer data versus the rest, and management versus workloads.
Move to separate accounts or networks for the highest risk boundary first. Use infrastructure as code so the boundaries are repeatable.
Close default paths. Replace broad rules with explicit allows between named components. Use deny by default between partitions.
Separate identities. Give each environment its own credentials and roles, with no shared long lived secrets.
Test the boundaries from inside each partition and record the results. Review the allowed flows quarterly and remove ones that no longer have a purpose.
Finally, keep the inventory live. Discovery that runs on a schedule catches new components before they sit unclassified, and the walkthrough below shows how automated asset discovery supports that.
Be realistic about physical separation. For most companies, the cloud provider handles it, so your evidence will focus on logical domains and provider documentation.
A simple scenario. A company has one cloud account holding production, staging and the data science sandbox. A leaked sandbox credential lets an attacker list production storage, because everything sits in one trust boundary. After a review the company creates a production account, moves staging to its own account, and links them only through a narrow, logged pipeline role. The same leaked credential now reaches nothing of value. The evidence is the account list, the role trust policies and the test showing the sandbox credential is denied in production.
Network partitioning follows the same logic. Inside production, the web tier talks to the application tier, which talks to the database tier, and no other path exists. Security group references between tiers, instead of address ranges, make the intent readable to a reviewer.
Do not forget the human paths. If one engineer can assume roles in every partition without review, the partitions are only as strong as that identity. Pair segmentation with access reviews, and use short lived elevated sessions.
Keep the diagram next to the rules and update both in the same change. A diagram that is one release behind is the most common reason a partitioning finding appears.
Try it yourself
You can only partition what you know about. This demo shows how asset discovery finds systems that are not yet in your inventory.
Click through it at your own pace, or open it full screen.
Quick check
Do partitions need to be physical?
No. The guidance describes physical options but logical domains are normal, especially in the cloud. The degree is your decision, based on risk.
What should drive the partitions?
Criteria you state, such as data sensitivity, trust level or regulatory scope. Security categorization can guide it.