Built-in policies provide vendor-maintained controls, while bring your own OPA rules preserve customer-authored logic already approved by the organisation. The difference is not capability alone, but control ownership and migration effort. Many teams need both, using built-in rules for standard coverage and custom Rego for organisation-specific requirements.
Why Built-in Policies and Custom OPA Rules Solve Different Governance Problems
Built-in policy packs and customer-authored OPA rules are not competing only on coverage. They differ in who owns the logic, how quickly it can change, and how easily it aligns with internal standards, exceptions, and evidence requirements. For IaC governance, that distinction matters because a control that is convenient but externally managed may not match the organisation’s exact risk posture or approval process. The strongest approach is usually to use both deliberately, rather than treating one as a full replacement for the other.
For governance teams, the practical question is whether a policy needs to reflect a common baseline or a business-specific rule that only the organisation can define. Built-in policies are useful when the requirement is broadly standardised and you want a maintained default. Custom OPA rules become more important when the policy must encode internal architecture decisions, regulated exceptions, or environment-specific constraints. NIST’s NIST Cybersecurity Framework 2.0 is helpful here because it frames governance as an ongoing control outcome, not a one-time tooling choice. In practice, many security teams discover the real difference only when an exception, audit request, or platform migration forces them to prove who actually owns the decision logic.
How Built-in Policies and OPA Rules Behave in Real IaC Workflows
Built-in policies usually arrive as opinionated checks that a platform vendor ships and updates. They are attractive because they reduce setup time and give teams an immediate baseline for common misconfigurations, such as public exposure, weak encryption defaults, or unsafe network settings. Their strength is consistency: the vendor maintains the rule set, updates it over time, and often maps it to common security expectations. Their limitation is that the rule set reflects the vendor’s model of acceptable risk, which may not capture your internal naming conventions, account segmentation, approval thresholds, or regulatory overlays.
Bring your own OPA rules when the governance question is not just “is this insecure?” but “is this acceptable in our organisation, in this environment, under this exception process?” OPA and Rego let teams encode nuanced decisions that can be versioned, reviewed, and tied to internal policy authorship. That makes them useful for guardrails that depend on context, such as different rules for production and non-production, environment-specific tagging, or controls that must align with architectural standards rather than generic best practice.
- Built-in policies suit fast adoption, broad defaults, and lower administrative overhead.
- Custom OPA rules suit policy ownership, traceability, and organisation-specific governance.
- Built-in and custom controls often work best together, with the built-in layer covering common issues and OPA handling exceptions and bespoke requirements.
NIST SP 800-53 Rev. 5 Security and Privacy Controls is relevant as a reference point for the control intent behind many governance checks, even when the enforcement mechanism is implemented through policy-as-code. The guidance breaks down when teams expect built-in policies to carry organisational accountability on their own, because ownership, exception handling, and evidence retention still belong to the organisation.
When Standard Policy Packs Are Enough, and When They Are Not
Tighter policy ownership often increases maintenance overhead, requiring organisations to balance speed against precision. That trade-off is the real edge case in IaC governance: built-in policies are often sufficient for teams that need baseline prevention with minimal customisation, but they become incomplete when control intent depends on local business rules, inherited exceptions, or multiple regulatory regimes.
The common mistake is to assume that “custom” always means “better” or that “built-in” always means “good enough.” In practice, the right choice depends on whether the rule needs organisational judgement. If the control is universal and low ambiguity, built-in policies can reduce drift and standardise enforcement. If the control depends on context, custom Rego prevents false positives, missing exceptions, and policy gaps caused by one-size-fits-all defaults. A hybrid approach is often the most stable answer, but it only works when teams clearly define which layer owns baseline prevention and which layer owns organisation-specific decisions.
For teams comparing approaches, the best test is whether a policy change would require vendor influence or internal approval. If the answer is mostly vendor-driven, you are relying on a maintained baseline. If the answer is mostly internal, you need policy code your organisation can govern directly. The model breaks down when teams try to use custom rules to compensate for weak governance processes, because policy-as-code cannot fix unclear ownership or undocumented exception authority.
Standards & Framework Alignment
This section maps relevant standards and security frameworks to the operational risks and controls described in this guidance.
NIST CSF 2.0, CIS Controls v8, NIST SP 800-63, NIST AI RMF and NIST IR 8596 set the governance and control requirements practitioners need to meet.
| Framework | Control / Reference | Relevance |
|---|---|---|
| NIST CSF 2.0 | GV — Govern | IaC policy choice affects governance ownership and control accountability. |
| Recommendation — Define policy ownership and exception authority for built-in and custom controls. | ||
| CIS Controls v8 | 4.3 — Secure Configuration of Enterprise Assets and Software | IaC governance enforces secure configuration baselines and deviations. |
| Recommendation — Apply configuration safeguards to prevent insecure IaC deployments. | ||
| NIST SP 800-63 | Identity proofing and authentication assurance | Not a primary fit for IaC policy selection. |
| NIST AI RMF | AI Risk Management Framework | The topic is IaC governance, not AI risk governance. |
| NIST IR 8596 | No direct incident-response control dimension is primary here. | |
Practitioner Guidance
What to prioritise: Decide which controls must reflect your organisation’s own risk acceptance, then keep those in customer-owned policy. Use built-in policies where the requirement is generic and the maintenance burden matters more than policy nuance.
What to verify: Check whether each rule has a clear owner, review path, and exception process. If a policy cannot be explained to auditors as either vendor-maintained baseline or organisation-authored governance logic, it is probably misclassified.
Decision rule: Use built-in policies for broad preventive coverage; use custom OPA rules where the decision depends on environment, business unit, or regulatory context. If the same policy must behave differently across those dimensions, it belongs in custom code.
Practitioner takeaway: The real choice is not between convenience and control, but between delegated defaults and explicit governance ownership. Mature programmes usually need both, with each layer assigned to the policy questions it can answer most reliably.
Related resources from NHI Mgmt Group
- What is the difference between attack surface management and NHI governance?
- What is the difference between role-based access and API key governance for NHI security?
- What is the difference between human IAM controls and NHI governance?
- What is the difference between reviewing human access and reviewing NHIs?
Deepen Your Knowledge
Reviewed and updated by the NHIMG editorial team on September 7, 2026.
NHI Mgmt Group — the #1 independent authority on Non-Human Identity, IAM, and Agentic AI security. nhimg.org