Structured decomposition improves lLM-generated access control policy reliability

Structured Decomposition for Reliable LLM-Generated Access Control Policies

Artificial IntelligenceCryptography and Security

Summary

Access control policies determine who can do what in a system, but translating human-written rules into machine code is tricky and error-prone. The authors built a system that breaks down policy writing into smaller, checked steps using large language models, which leads to much more accurate and secure code. Their approach improved correct policy generation from 15% to over 50%, ensuring machine-enforced rules match human intent more reliably. This method helps computers enforce access rules safer and more correctly.

What this means in practice

  • For cloud security teams: Generate accurate executable access policies from natural language rules to improve cloud resource permission enforcement.
  • For enterprise software developers: Automatically translate admin-written access policies into tested and validated code to reduce deployment errors and security risks.

Authors

Vatsal Gupta, Darshan Sreenivasamurthy

Abstract

This paper presents an LLM-based system that translates natural-language access control policies (NLACPs) into executable Rego code for Open Policy Agent (OPA). It provides a modular, end-to-end pipeline for policy detection, component extraction, schema validation, linting, compilation, and automated test generation and execution. The system is designed to bridge the gap between human-readable access requirements and machine-enforceable policy-as-code (PaC), with a focus on deployment reliability and security correctness. We evaluate the system on 372 ACRE-complete access control statements with non-null subject, action, and resource annotations against a direct single-prompt LLM baseline to isolate the contribution of structured decomposition and schema-aware validation. The system achieves a 50.3% end-to-end policy correctness rate, compared with 15.3% for the baseline, representing a 3.3x improvement. A policy is counted as correct only if it satisfies compilation, linting, and both positive and negative tests, making this a strict measure of deployable correctness. On security-critical patterns, the system generates correct deny semantics for 87.5% of deny policies (baseline: 37.5%), ownership conditions for 100% of ownership-qualified policies (baseline: 40%), and status-qualified conditions for 100% of status-qualified policies (baseline: 55.6%). These results indicate that structured decomposition and schema-aware validation play a critical role in improving the reliability of LLM-generated authorization policies.