ISO 27001 A.8.3 requires that access to information and application functions is restricted in line with the access control policy, enforced at the data and application layer so an authenticated identity reaches only what its role needs. It is a Technological control (A.8), and the action teams get flagged on most is effective access: role definitions look tight on paper, but the permissions a user resolves to in the application or database grant far more than the job requires.
At a glance
- Theme: Technological (A.8)
- Source: ISO/IEC 27001:2022, Annex A
- New in 2022: No
- SOC 2 mapping: CC6.1 (Full)
- Part of: ISO 27001 certification guide
What is ISO 27001 A.8.3?
ISO 27001 A.8.3 Information access restriction is the control that carries the access control policy into technical enforcement. In the words of ISO/IEC 27001:2022, Annex A, the control title is Information access restriction. The intent, as described in ISO/IEC 27001:2022, Annex A, is that access to information and application functions is restricted in accordance with the established access control policy, so users and systems reach only the information and functions their tasks require.
A.8.3 is where need-to-know stops being a principle and becomes a configuration. It applies the rules that A.5.15 access control sets on paper to the systems that hold the data: application roles, database permissions, row and field-level restrictions, and the deny-by-default posture that decides what an identity can read, write, or run once it is inside. Where A.5.15 is the policy and A.5.18 access rights is the provisioning lifecycle, A.8.3 is the enforcement point that limits reach at the data and application layer. Deciding which layer carries each restriction, application, database, or object store, is the kind of structural choice a security architecture review examines.
How do you implement A.8.3?
Implement ISO 27001 A.8.3 by enforcing least privilege inside applications and data stores as well as at the login boundary. The sequence a team follows:
- Restrict access per the access control policy. Map every application role and data permission back to the need-to-know rules the A.5.15 policy states, so what a system enforces matches what the policy commits to. The policy is the source of truth; A.8.3 is where it is applied.
- Enforce role or attribute-based restrictions in each application. Application RBAC assigns permissions to defined roles rather than individuals, typically driven by group membership in an identity provider such as Okta or Microsoft Entra ID, and attribute-based rules apply where a static role cannot capture the decision (data sensitivity, record ownership, tenant boundary). Each role grants the minimum functions the job requires.
- Apply row, column, and field-level controls where the data warrants. When a single table or object holds records that different users should not all see, restrict at the row (which records), column (which fields), and object level rather than granting the whole dataset. Database row-level security and application-layer filtering both carry this.
- Restrict privileged data operations. Bulk export, direct database queries against production, deletion, and schema changes are separated from ordinary read and write, and granted only to the roles that need them. A user who can view records should not automatically be able to export the entire table.
- Use dynamic access where a static grant is too coarse. Where the access decision depends on context (device posture, data classification, request-time attributes), decide it dynamically rather than baking a broad standing permission into a role.
- Default to deny. Access that is not explicitly granted is refused. New functions, new data objects, and new integrations start with no access and are opened deliberately, rather than starting open and being locked down later.
- Review effective access rather than role definitions alone. Periodically resolve what each identity can reach in the running system and compare it to need. Effective access is where inherited group memberships, direct grants, and default permissions accumulate into more than the role intended.
Key insight
A.8.3 is enforced inside the application and the database rather than at the login
Authenticating a user is where access control starts; information access restriction happens deeper in the stack. A.8.3 is satisfied when the application role, the database grant, and the row and column-level controls limit what that authenticated identity can read, write, and export once inside.
In cloud environments
In cloud environments, A.8.3 is enforced through the provider's IAM and the permission models of the applications and managed data services in use. IAM policies and permission boundaries define what an identity can reach in the cloud account, and database-native controls carry the restriction into the data itself: IAM database authentication, row-level security in managed Postgres, and column or object-level grants. Application RBAC and the SaaS permission models of the tools holding company data (the CRM, the ticketing system, the data warehouse) restrict function and record access per role. Effective access is confirmed with the provider's access analyzer tooling and application permission reports, which resolve what an identity reaches in practice rather than what its role nominally grants.
On-prem / self-hosted
On-prem and self-hosted environments enforce A.8.3 through file and share access control lists, database grants, and application role tables. NTFS and share ACLs restrict which identities read or write data on file servers, database GRANT and REVOKE statements and database roles limit table, view, and column access, and the application's own role model governs function-level access. Views and stored procedures are the common mechanism for row and column restriction where the database predates row-level security. The on-prem access control guide covers the directory, file-system, and database implementation in depth.
Cloud vs on-prem at a glance
| Implementation theme | Cloud | On-prem / self-hosted |
| Application function access | App RBAC, SaaS permission models | App role tables and module permissions |
| Data store restriction | DB IAM, managed row-level security, object-level grants | Database GRANT/REVOKE, roles, views, stored procedures |
| Row / column / field control | Row-level security policies, column grants, field-level app rules | Views, stored procedures, column-level GRANT |
| File and share access | Object-store bucket policies and ACLs | NTFS and share ACLs on file servers |
| Effective-access verification | IAM access analyzer, application permission reports | Directory and file-system permission exports, DB role review |
What evidence demonstrates A.8.3?
Evidence for ISO 27001 A.8.3 is the record that access restriction is configured to the policy, applied down to the data level, and confirmed against effective access. Teams that generate these permission exports and review records automatically from the systems themselves are practicing GRC engineering, which keeps the evidence current between audits.
| Artifact | What it demonstrates | Cadence |
| Application permission and role configuration | Function access maps to defined roles per the access control policy | Point-in-time per audit period |
| Database permission and grant records | Data access is restricted at table, view, and object level | Point-in-time per audit period |
| Row, column, or field-level control configuration | Restriction is applied within shared datasets as well as at the login | Point-in-time per audit period |
| Deny-by-default configuration evidence | New functions and data start with no access | Point-in-time per audit period |
| Effective-access review records | What each identity reaches in practice matches need, with remediation of excess | Quarterly or at least annually |
A common gap that comes up during readiness work is the difference between a role definition and effective access. A team names clean roles in the access control policy, but in the running system a user has picked up direct grants, inherited group memberships, and a default permission that was never revoked, and the sum grants far more than the role intended. On a small team this often looks like everyone placed in one broad application role because splitting it felt like overhead. The stronger position is to resolve effective access deliberately: pull what each identity can read and execute in the running system, restrict the excess against need, and record the review as a dated artifact. The same team and the same tools, but the evidence now shows restriction enforced at the data layer rather than assumed from the role name. A related gap is a shared dataset where every authorized user can export the whole table, which row and column-level controls plus separated export rights are designed to close.
Watch out
A clean role definition is not evidence of restricted effective access
Auditors resolve what an identity can reach in the running system rather than reading the role name. Inherited groups, leftover direct grants, and unrevoked default permissions accumulate into access the role never intended, so A.8.3 evidence has to include an effective-access review alongside the role matrix.
How does A.8.3 map to SOC 2?
ISO 27001 A.8.3 maps to the SOC 2 criterion that governs how logical access to information is restricted.
| SOC 2 criteria | Overlap type | Evidence reusable in both directions |
| CC6.1 | Full | Application permission configuration, database grant records, row and column-level control configuration, deny-by-default evidence, effective-access review records |
Organizations running both frameworks can reuse the application and data-layer access restriction evidence across A.8.3 and CC6.1 with little adaptation. The SOC 2 to ISO 27001 control mapping covers the full crosswalk and where SOC 2 work transfers to ISO 27001.
Restrict access where the data lives
Truvo designs and evidences data-layer access restriction as part of an effective security program.
Related controls
ISO 27001 A.8.3 is the technical enforcement of restriction at the data and application layer, and it operates between the controls that set and provision access. A.5.15 access control writes the policy A.8.3 enforces, and A.5.18 access rights governs the provisioning, review, and removal lifecycle that decides who holds a role in the first place. A.8.2 privileged access rights restricts the elevated permissions that can bypass these data-layer controls, and A.8.4 access to source code applies the same need-to-know restriction to code repositories specifically. All four belong to the Technological theme covered by the ISO 27001 certification guide.
Part of Truvo's control-by-control ISO 27001 reference series
This post is part of the ISO 27001:2022 Annex A cluster anchored by the ISO 27001 certification guide. If you want a second set of eyes on how information access restriction is designed and evidenced as part of an effective security program, Truvo runs scoping calls.
Frequently Asked Questions
What is ISO 27001 A.8.3?
ISO 27001 A.8.3 is the Annex A control titled Information access restriction, in the Technological theme. It requires that access to information and application functions is restricted in line with the access control policy, enforced at the data and application layer through role and attribute-based controls, row and column-level restrictions, and a deny-by-default posture, so an authenticated identity reaches only what its role needs.
What evidence satisfies A.8.3?
Typical A.8.3 evidence includes application permission and role configuration mapped to the access control policy, database permission and grant records, row, column, or field-level control configuration, deny-by-default configuration evidence, and periodic effective-access review records that resolve what each identity can reach in the running system and remediate any excess.
Is A.8.3 new in ISO 27001:2022?
No. Information access restriction carried over from the 2013 version of the standard and was not introduced in the 2022 revision. The 2022 revision reorganized Annex A into four themes and placed information access restriction under the Technological controls as A.8.3, but the control itself is not new.
How is A.8.3 different from A.5.15?
A.5.15 access control is the policy control: it establishes the rules for access, including need-to-know, least privilege, and role-based access. A.8.3 information access restriction is the technical enforcement of those rules at the data and application layer: application RBAC, database grants, and row and column-level controls that limit what an authenticated identity can reach. A.5.15 states the rule; A.8.3 configures the system to enforce it.
How is A.8.3 different from A.8.2?
A.8.3 restricts what any authenticated identity can reach once inside applications and data stores, applying need-to-know to ordinary users. A.8.2 privileged access rights governs the elevated permissions, administrator, root, and account-owner access, that can change configuration or bypass the data-layer restrictions A.8.3 sets. A.8.3 limits reach for all users; A.8.2 controls the high-impact accounts specifically.
How does A.8.3 map to SOC 2?
A.8.3 has Full overlap with SOC 2 CC6.1, the criterion covering logical access restriction. Application permission configuration, database grant records, row and column-level control configuration, and effective-access review records are reusable across both frameworks with little adaptation.
Ready to Start Your Compliance Journey?
Get a clear, actionable roadmap with our readiness assessment.
Contact Us
Free Report: The CPCSC Compliance Playbook
Join the waitlist for a free copy when it's released.
About the Author
Former security architect for Bank of Canada and Payments Canada. 20+ years building compliance programs for critical infrastructure.