Skip to content
Singahi

Compliance · guide

ISO 27001 A.5.15: Access Control

44 min read

Share
On this page

Quick Reference (60 Seconds)

Figure · At a glance

A.5.15 at a glance

Standard Reference
ISO/IEC 27001:2022, Annex A, Control 5.15
27002 Guidance
ISO/IEC 27002:2022, Clause 5.15
Objective
Ensure only authorized users can access
Key Requirement
An access control policy and rules
Who It Applies
All users, systems, applications, data
Audit Focus
Access control policy, user accounts
The essentials before reading further. The full reference table follows.

ISO 27001:2022 Annex A 5.15 asks for rules that control physical and logical access to information and other associated assets, based on business and information security requirements.

ElementWhat You Need to Know
Standard ReferenceISO/IEC 27001:2022, Annex A, Control 5.15
27002 GuidanceISO/IEC 27002:2022, Clause 5.15, Access control
ObjectiveEnsure only authorized users can access information and systems
Key RequirementAn access control policy and rules for physical and logical access, set by information owners from business and security requirements
Who It Applies ToAll users, systems, applications, data, networks, cloud resources
Audit FocusAccess control policy, user accounts, privilege levels, access reviews, MFA, PAM, logs
Typical FailuresExcessive privileges, no access reviews, shared accounts, no MFA, weak passwords, no PAM
ISO 27002 attributesControl type: Preventive · Properties: Confidentiality, Integrity, Availability · Concepts: Protect · Capabilities: Identity and access management · Domains: Protection

The Bottom Line: If everyone can access everything, you have no security. Access control is the gatekeeper of your entire information security program.


What the Control Asks For

Figure · Matrix

Comparison: Access control policy to Logging

What it showsCommon failure
Access control policyRules for logicalPolicy covers IT systems
Access rules mappedWho may access whatRules exist only
Formal approvalRequests approvedAdmins grant their own
Privileged accessPrivileged rights limitedShared admin accounts
ReviewsAccess rights reviewedNo review records
LoggingAccess decisions and useNo logs for key systems
Condensed from the table below, which carries the full detail for each cell.

The Control in Brief

In short:

ISO 27001:2022 Annex A 5.15 asks organizations to set and implement rules to control physical and logical access to information and associated assets, based on business and security requirements.

Do you need this control?

A.5.15 is not mandatory in itself: under clause 6.1.3 you include it if your risk assessment calls for it, and record the decision in your Statement of Applicability. Essentially every organisation with systems and data includes it. What varies is the model (role-based, attribute-based) and the depth of documentation, which should match your size and risk.

What ISO 27002:2022 Adds

ISO/IEC 27002 guidance for 5.15 (paraphrased). Information owners decide the access requirements, and a topic-specific access control policy, communicated to relevant parties, should consider:

  • who needs which type of access to which information and assets
  • security of applications (A.8.26)
  • physical access: backed by physical entry controls (A.7.2, A.7.3, A.7.4)
  • need-to-know and classification of information (A.5.10, A.5.12, A.5.13)
  • restrictions on privileged access (A.8.2) and segregation of duties (A.5.3)
  • legal, regulatory and contractual limits on access to data or services (A.5.31 to A.5.34, A.8.3)
  • segregation of access control functions: requesting, authorising and administering access are done by different people
  • formal authorisation of access requests and management of access rights (A.5.16, A.5.18)
  • logging (A.8.15)

When defining the rules, keep access rights consistent with classification and with physical perimeter needs, cover every type of connection (networks and network services included), and decide how dynamic factors such as location or device can be reflected. 27002 also recommends least privilege ("everything is forbidden unless expressly permitted"), need-to-know and need-to-use, and notes that RBAC, ABAC, MAC and DAC are all valid models: business needs and risk decide how granular the rules should be.

MFA, password rules, session controls and PAM are not part of 5.15 itself. They come from A.8.5 (secure authentication), A.5.17 (authentication information) and A.8.2 (privileged access rights), chosen through your risk assessment.

What Auditors Usually Look For

None of these is mandated by ISO; they are what auditors typically ask to see for A.5.15.

EvidenceWhat it showsCommon failure
Access control policyRules for logical and physical access, approved and communicatedPolicy covers IT systems only, or is a copy of a template
Access rules mapped to rolesWho may access what, by role or attributeRules exist only in people's heads
Formal approvalRequests approved by the owner, separate from the person who grants accessAdmins grant their own requests
Privileged access restrictionsPrivileged rights limited and controlled (A.8.2)Shared admin accounts
ReviewsAccess rights reviewed at defined intervals (A.5.18)No review records
LoggingAccess decisions and use are logged (A.8.15)No logs for key systems

Relationship to Other Controls

ControlRelationship
A.5.3 Segregation of DutiesAccess rules enforce separation of conflicting duties
A.5.12 Classification of InformationAccess rights must be consistent with classification
A.5.16 Identity ManagementEvery access right is tied to a managed identity
A.5.17 Authentication InformationRules for passwords, tokens and other credentials
A.5.18 Access RightsProvisioning, review, change and removal of access rights
A.7.2 Physical Entry / A.7.3 Securing Offices, Rooms and FacilitiesPhysical side of the access control policy
A.8.2 Privileged Access RightsRestricting and managing privileged access
A.8.3 Information Access RestrictionApplying the rules inside systems and applications
A.8.5 Secure AuthenticationAuthentication strength, including MFA
A.8.15 LoggingRecording access decisions and use

Physical Access Rules

The access control policy covers physical as well as logical access, and the two should be consistent: someone who may not open a system remotely should not be able to walk into the room that hosts it.

  • Define zones (public, office, restricted, server or network room) and who may enter each, by role
  • Grant badges by the same request-and-approve process as system access, and remove them at exit (A.5.18, A.5.11)
  • Review physical access lists with logical access reviews
  • Log entry to restricted areas and investigate anomalies (A.7.2)

Why Access Control Is the Foundation of Security

The Access Control Pyramid

                    ┌─────────────┐
                    │  RESTRICTED  │  (Board papers, keys, bulk customer data)
                    │   Access     │  (Phishing-resistant MFA + JIT)
                    ├─────────────┤
                    │ CONFIDENTIAL │  (Finance, HR, Customer Data)
                    │   Access     │  (MFA + PAM + Role-Based)
                    ├─────────────┤
                    │   INTERNAL   │  (Employees, Standard Systems)
                    │   Access     │  (Standard Auth + MFA Preferred)
                    ├─────────────┤
                    │    PUBLIC    │  (Website, Marketing, No Auth)
                    │   Access     │  (No Auth or Basic Auth)
                    └─────────────┘

Access Control Failure Statistics

StatisticSourceImpact
Credential abuse was the most common initial access vector (22% of breaches)Verizon DBIR 2025Stolen or guessed credentials remain a primary way in
68% of breaches involved a non-malicious human elementVerizon DBIR 2024Mistakes and social engineering exploit access
MFA blocks over 99.9% of automated account-compromise attacksMicrosoft (2019)Highly effective against bulk password attacks; targeted phishing needs phishing-resistant MFA

Access Control Principles

Core Principles

PrincipleDefinitionImplementationExample
Least PrivilegeGrant minimum access needed for jobRole-based permissions, regular reviewDeveloper has dev access, not production
Need-to-KnowAccess based on job function and necessityData classification + role mappingHR sees HR data, not engineering data
Separation of DutiesNo single person has complete controlSplit roles, dual approvalCreator cannot approve their own changes
Defense in DepthMultiple layers of access controlMFA + PAM + network segmentation + monitoringMFA + VPN + firewall + SIEM
Default DenyDeny access unless explicitly grantedWhitelist approach, explicit permissionsNew user has no access by default
AccountabilityAll access attributable to an individualNo shared accounts, full loggingEvery action tied to a user
Timely RevocationAccess revoked when no longer neededAutomated de-provisioning, access reviewsImmediate revocation on exit
Regular ReviewAccess reviewed periodicallyQuarterly access reviews, annual recertificationManager reviews team access quarterly
Centralized ManagementSingle point of control for accessIAM platform, identity providerMicrosoft Entra ID, Okta
Automated ProvisioningAutomatic access based on roleHR-driven provisioning, group-based accessWorkday → Microsoft Entra ID → applications

Role-Based Access Control (RBAC)

RBAC Model

RolePermissionsSystemsData AccessApproval
Standard UserEmail, intranet, standard appsOffice 365, intranet, HR portalInternal documents, own dataManager
DeveloperDev environment, code repository, CI/CDDev servers, GitHub, JenkinsSource code, dev data, test dataEngineering Lead
QA EngineerTest environment, bug trackerStaging, Jira, TestRailTest data, bug reportsQA Lead
System AdminServer administration, patchingProduction servers, monitoringSystem logs, config dataIT Manager
Database AdminDatabase management, tuningDatabase serversDatabase metadata, no app dataIT Manager
Network AdminNetwork configuration, firewallNetwork devices, firewallsNetwork config, logsIT Manager
Security AnalystSecurity tools, SIEM, logsSIEM, EDR, vulnerability scannerSecurity logs, alertsCISO
Security AdminSecurity tool configurationSIEM, firewall, IAMSecurity config, policiesCISO
Finance UserFinance system, reportsERP, accounting, reportingFinancial data, invoicesCFO
HR UserHR system, recruitmentHRIS, ATS, payrollEmployee data, resumesCHRO
Sales UserCRM, sales toolsSalesforce, HubSpotCustomer data, pipelineVP Sales
ManagerTeam management, approvalsManager portal, approval workflowsTeam data, reportsDepartment Head
ExecutiveExecutive dashboard, all reportsBI, executive portalAll reports, summary dataCEO
Guest/ContractorLimited access, time-boundSpecific project systemsProject-specific dataProject Manager
Service AccountApplication-to-applicationAPIs, databases, servicesApplication dataApplication Owner
Break-GlassEmergency access, loggedCritical systemsAll data (emergency only)CISO + on-call

RBAC Implementation

StepActionOwnerToolTimeline
1Inventory all rolesHR + ITHRIS, directory1-2 weeks
2Define role permissionsSecurity + BusinessIAM, spreadsheet2-4 weeks
3Map users to rolesHR + ManagersIAM, HRIS1-2 weeks
4Implement in IAMITMicrosoft Entra ID, Okta2-4 weeks
5Test accessIT + UsersTest environment1-2 weeks
6Train usersHR + SecurityLMS1-2 weeks
7Monitor and adjustSecuritySIEM, IAM reportsOngoing
8Quarterly access reviewsManagersIAM, review toolQuarterly
9Annual role reviewSecurity + HRIAM, review toolAnnual
10Automate provisioningITHRIS → IAM integrationOngoing

Attribute-Based Access Control (ABAC)

ABAC Model

Attribute TypeExamplesPolicy Example
User attributesDepartment, role, clearance level, location, employment status"User.department == 'Finance'"
Resource attributesClassification, owner, type, sensitivity, department"Resource.classification == 'Confidential'"
Environment attributesTime of day, location, device compliance, network, MFA status"Environment.time >= '09:00' AND Environment.time <= '18:00'"
Action attributesRead, write, delete, execute, share"Action == 'Read' OR Action == 'Write'"

ABAC Policy Examples

PolicyExpressionUse Case
Business hours onlyUser.employmentStatus == 'Active' AND Environment.time >= '09:00' AND Environment.time <= '18:00' AND Environment.dayOfWeek IN ['Mon', 'Tue', 'Wed', 'Thu', 'Fri']Prevent after-hours access
Location-basedUser.department == 'Engineering' AND Environment.location == 'Office' OR Environment.network == 'Corporate VPN'Office or VPN only
Device complianceUser.role == 'Admin' AND Environment.deviceCompliance == 'Compliant' AND Environment.MFA == 'Verified'Admin access only on compliant devices
Classification-basedUser.clearance >= Resource.classificationLevel AND (Action == 'Read' OR (Action == 'Write' AND User.department == Resource.ownerDepartment))Classified data access
Customer dataUser.role == 'Customer Success' AND Resource.type == 'CustomerData' AND User.assignedCustomers CONTAINS Resource.customerIdAccess only assigned customers
Time-limited projectUser.project == 'ProjectX' AND Environment.date >= '2026-01-01' AND Environment.date <= '2026-06-30'Project-based access
Manager accessUser.isManager == true AND Resource.department == User.department AND Action IN ['Read', 'Approve']Manager access to team data
Emergency accessUser.role == 'OnCall' AND Environment.alertLevel == 'Critical' AND Action == 'Read'On-call emergency access
API accessUser.application == 'AppX' AND Resource.API == 'Allowed' AND Environment.rateLimit < 1000API access control
Third-partyUser.type == 'ThirdParty' AND Resource.thirdPartyAccess == 'Allowed' AND Environment.MFA == 'Verified'Third-party access

Policy-Based Access Control (PBAC)

PBAC vs RBAC vs ABAC

ModelGranularityFlexibilityComplexityBest For
RBACRole-levelLowLowMost organizations, clear roles
ABACAttribute-levelHighHighComplex environments, dynamic access
PBACPolicy-levelHighMediumRegulatory compliance, policy-driven
HybridRole + Attribute + PolicyVery HighHighEnterprise, complex requirements

PBAC Implementation

Policy AreaPolicy RuleEnforcementTool
DPDP Act"Staff access personal data only for the purpose it was collected for, on a need-to-know basis"Role- and purpose-based access; access loggingIAM + DLP
PCI DSS compliance"No cardholder data access without PCI role and MFA"Block non-PCI accessPAM + IAM
RBI payment data"Payment system data is stored only in India; overseas support access is approved and logged"Storage location policy + approval for overseas accessCloud policy + PAM
SoD"No user can both create and approve payments"Block dual-role assignmentIAM + GRC
MFA policy"All admin access requires MFA"Enforce MFA on admin rolesIAM + MFA
Device compliance"No corporate data access from non-compliant devices"Block non-compliant devicesMDM + IAM
Time-based"No sensitive access after 10 PM or before 6 AM"Time-based access rulesIAM + PAM
Location-based"No admin access outside India"Geo-blockingIAM + CASB
Risk-based"High-risk login requires step-up authentication"Step-up MFAIAM + risk engine
Data residency"Confidential data access only from India"Geo-blocking for dataIAM + DLP

Privileged Access Management (PAM)

PAM Requirements

RequirementImplementationBest PracticeTool
Credential vaultingPasswords stored in vault, never known to usersAll privileged passwords in vaultCyberArk, Delinea, HashiCorp
Session recordingAll privileged sessions recordedRecord all admin sessionsCyberArk, Delinea, BeyondTrust
JIT accessTemporary elevation with approval2-hour max for production accessMicrosoft Entra PIM, AWS IAM, CyberArk
Workflow approvalApproval required for privileged accessManager + Security approvalServiceNow, CyberArk, Delinea
Command filteringBlock dangerous commandsPrevent DROP, DELETE, rm -rfCyberArk, Delinea
MFA for elevationRequire MFA for privilege escalationHardware key for admin accessYubiKey, Microsoft Entra ID, Duo
RotationAutomatic credential rotationDaily for service accounts, 90 days for adminCyberArk, Delinea, HashiCorp
DiscoveryFind all privileged accountsScan for unknown admin accountsCyberArk, Delinea, Ping
Break-glassEmergency access with loggingPre-approved emergency accounts, enhanced loggingCyberArk, Delinea, custom
DelegationDelegate privileged tasks without full adminJust Enough Administration (JEA), sudoersMicrosoft Entra ID, Linux sudo
AnalyticsDetect unusual privileged activityML-based anomaly detectionCyberArk, Delinea, UEBA
API securityProtect privileged API accessAPI keys in vault, rotated, monitoredHashiCorp Vault, AWS Secrets Manager
Cloud PAMPAM for cloud adminAWS IAM, Microsoft Entra PIM, GCP IAMNative cloud tools + PAM
Endpoint PAMPAM for local adminRemove local admin, elevation via PAMBeyondTrust, Delinea
Application PAMPAM for application secretsSecrets in vault, injected at runtimeHashiCorp Vault, AWS Secrets Manager

PAM Architecture

┌─────────────────────────────────────────────────────────────┐
│                        PAM PLATFORM                         │
│  ┌─────────────┐  ┌─────────────┐  ┌─────────────┐         │
│  │   VAULT     │  │   SESSION   │  │   WORKFLOW  │         │
│  │  Passwords  │  │  Recording  │  │  Approval   │         │
│  │  Keys       │  │  Monitoring │  │  JIT        │         │
│  │  Certificates│  │  Analytics  │  │  Rotation   │         │
│  └─────────────┘  └─────────────┘  └─────────────┘         │
│  ┌─────────────┐  ┌─────────────┐  ┌─────────────┐         │
│  │  DISCOVERY  │  │   ANALYTICS │  │    CLOUD    │         │
│  │  Scan AD    │  │  UEBA       │  │  AWS/Azure  │         │
│  │  Scan Cloud │  │  Anomaly    │  │  GCP PAM    │         │
│  │  Scan Apps  │  │  Reporting  │  │  SaaS PAM   │         │
│  └─────────────┘  └─────────────┘  └─────────────┘         │
└─────────────────────────────────────────────────────────────┘
                              │
        ┌─────────────────────┼─────────────────────┐
        │                     │                     │
   ┌────▼────┐          ┌────▼────┐          ┌────▼────┐
   │ SERVERS │          │ CLOUD   │          │  APPS   │
   │ Linux   │          │ AWS     │          │ Database│
   │ Windows │          │ Azure   │          │ Code    │
   │ Network │          │ GCP     │          │ CI/CD   │
   └─────────┘          └─────────┘          └─────────┘

Identity and Access Management (IAM) Architecture

IAM Components

ComponentPurposeTechnologyBest Practice
Identity Provider (IdP)Single source of truth for identityMicrosoft Entra ID, Okta, Ping, Google WorkspaceCentralized, federated
Directory ServiceUser directory, authenticationActive Directory, LDAP, Microsoft Entra IDHierarchical, secure
Authentication ServiceVerify identityMFA, SSO, passwordlessMFA for all, passwordless for admin
Authorization ServiceGrant access based on policyRBAC, ABAC, PBACLeast privilege, need-to-know
Provisioning ServiceAutomate account lifecycleSCIM, HR-driven provisioningAutomate create/modify/delete
Access Review ServiceReview and recertify accessAccess review tool, attestationQuarterly reviews
Session ManagementManage user sessionsSSO, session timeout, conditional accessShort timeouts, MFA step-up
FederationCross-organization trustSAML, OAuth, OIDCStandard protocols
Identity GovernanceGovernance, compliance, auditIGA platformContinuous compliance
Password ManagementPassword policy, vaultPassword manager, self-serviceStrong policy, no sharing
Lifecycle ManagementOnboarding, changes, offboardingHR-driven IAMAutomated provisioning
Access AnalyticsAnalyze access patternsUEBA, IAM analyticsDetect anomalies
Privileged IdentityAdmin and service accountsPAMVault, JIT, rotation
Customer IdentityExternal user identityCIAM (Customer IAM)B2C, B2B identity
Device IdentityDevice authentication and complianceMDM, device certificateCompliant device = access

IAM Architecture Diagram

┌──────────────────────────────────────────────────────────────┐
│                      IDENTITY PROVIDER                          │
│              (Microsoft Entra ID / Okta / Ping Identity)                │
│   ┌──────────┐  ┌──────────┐  ┌──────────┐  ┌──────────┐      │
│   │   SSO    │  │   MFA    │  │ Lifecycle│  │   PIM    │      │
│   │  SAML    │  │  TOTP    │  │  SCIM   │  │   JIT    │      │
│   │  OAuth   │  │  FIDO2   │  │  Workday│  │ Approval │      │
│   │  OIDC    │  │  Push    │  │  HRIS   │  │  Review  │      │
│   └──────────┘  └──────────┘  └──────────┘  └──────────┘      │
└──────────────────────────────────────────────────────────────┘
                              │
        ┌─────────────────────┼─────────────────────┐
        │                     │                     │
   ┌────▼────┐          ┌────▼────┐          ┌────▼────┐
   │  CLOUD  │          │ ON-PREM │          │  SAAS   │
   │  AWS    │          │  AD     │          │ Office  │
   │  Azure  │          │  LDAP   │          │ Google  │
   │  GCP    │          │  Apps   │          │ Salesforce│
   └─────────┘          └─────────┘          └─────────┘
        │                     │                     │
   ┌────▼────┐          ┌────▼────┐          ┌────▼────┐
   │  PAM    │          │  PAM    │          │  PAM    │
   │  AWS IAM│          │CyberArk │          │Microsoft Entra PIM│
   │  Azure  │          │Delinea  │          │Okta     │
   │  PIM    │          │BeyondTrust│        │         │
   └─────────┘          └─────────┘          └─────────┘

Authentication Methods

Authentication Comparison

MethodSecurity LevelUser ExperienceCostBest ForImplementation
Password onlyLowEasyFreeNo longer recommendedLegacy only
Password + SMS OTPMediumEasyLowBasic MFA, low riskSMS gateway
Password + TOTP appMedium-HighEasyLowStandard MFAMicrosoft/Google Authenticator
Password + Push notificationMedium-HighEasyLowStandard MFADuo, Okta, Microsoft
Password + Hardware keyHighModerateMediumAdmin, high-riskYubiKey, Titan
Passwordless (FIDO2/WebAuthn)Very HighEasyMediumModern, high-securityWindows Hello, YubiKey, Passkeys
Biometric (fingerprint, face)HighEasyMediumMobile, device loginTouch ID, Face ID, Windows Hello
Certificate-basedHighModerateMediumDevice, VPN, machine authPKI, smart card
Risk-based adaptiveHighEasyMediumDynamic securityMicrosoft Entra ID, Okta, Ping
Single Sign-On (SSO)High (with MFA)Very EasyMediumAll usersSAML, OIDC, OAuth
Social loginMediumVery EasyFreeCustomer-facingGoogle, Facebook, LinkedIn
Magic linkMediumEasyLowLow-risk, temporaryEmail link
QR codeMediumEasyLowMobile, temporaryQR code scan
Voice/phone callLow-MediumModerateLowBackup, accessibilityPhone call OTP
Knowledge-based (security questions)Very lowEasyFreeDo not use (NIST SP 800-63B disallows it)None

Password Policy Requirements

ISO 27001 sets no password rules. A.5.17 asks for a process for authentication information; current practice follows NIST SP 800-63B.

RequirementOlder common baselineCurrent guidance (NIST SP 800-63B)Tool
Length8 charactersAt least 15 characters for password-only login; at least 8 when the password is one factor of MFA; allow 64+Entra ID, Okta, Google
Composition rules3 of 4 character typesDo not force composition rulesEntra ID, Okta
Expiry90 daysNo periodic expiry; force a change on evidence of compromiseEntra ID, Okta
BlocklistCommon wordsCheck against breached and common-password listsEntra Password Protection, HaveIBeenPwned
SharingProhibitedProhibitedPolicy + DLP
Password managerRecommendedAllow paste and password managers1Password, Bitwarden, Keeper
Self-service resetAvailableAvailable, protected by MFASSPR, Okta
Service accountsLong random secretsVaulted, rotated, non-interactive; prefer workload identitiesPAM, HashiCorp Vault, cloud secrets managers
Admin accountsLong passphrase + MFAPhishing-resistant MFA (FIDO2 or certificate)Entra ID, Okta, YubiKey

Multi-Factor Authentication (MFA)

MFA Requirements by Role

RoleMFA RequiredMethodEnforcementStep-Up
Standard userYesTOTP app or pushEnforced for all appsRisk-based
ManagerYesTOTP app or pushEnforced for all appsRisk-based
DeveloperYesTOTP app or pushEnforced for all appsRisk-based
System AdminYesPhishing-resistant (FIDO2 key or passkey)Enforced, no bypassAlways
Database AdminYesPhishing-resistant (FIDO2 key or passkey)Enforced, no bypassAlways
Security AdminYesPhishing-resistant (FIDO2 key or passkey)Enforced, no bypassAlways
CISOYesPhishing-resistant (FIDO2 key or passkey)Enforced, no bypassAlways
CEO/ExecutiveYesPhishing-resistant (FIDO2 key or passkey)Enforced, no bypassAlways
Finance AdminYesPhishing-resistant (FIDO2 key or passkey)Enforced, no bypassAlways
HR AdminYesPhishing-resistant (FIDO2 key or passkey)Enforced, no bypassAlways
Third-party userYesTOTP app or pushEnforcedRisk-based
ContractorYesTOTP app or pushEnforcedRisk-based
Service accountN/ACertificate or keyNon-interactiveN/A
CustomerRecommendedTOTP app or SMSFor sensitive actionsRisk-based
Break-glassYesHardware key + multiple factorsEnforced, alwaysAlways

MFA Implementation

StepActionOwnerToolTimeline
1Select MFA methodSecurityMicrosoft Entra ID, Okta, Duo1 week
2Pilot with IT teamITMFA tool1 week
3Roll out to admin accounts firstSecurityMFA tool1 week
4Roll out to all usersIT + HRMFA tool2-4 weeks
5Enforce MFA (no bypass)SecurityMFA tool1 week
6Hardware keys for adminsSecurityYubiKey, Titan2-4 weeks
7Step-up authenticationSecurityRisk-based MFA2-4 weeks
8Passwordless for high-riskSecurityFIDO2, Windows Hello4-8 weeks
9Monitor and adjustSecuritySIEM, MFA analyticsOngoing
10Annual MFA auditSecurityAudit toolAnnual

Access Control for Cloud

Cloud IAM Best Practices

CloudIAM FeatureBest PracticeTool
AWSIAM roles, policies, SCPsUse roles, not users; SCPs for guardrails; least privilegeAWS IAM, IAM Access Analyzer
AzureMicrosoft Entra ID, RBAC, PIM, Conditional AccessPIM for admin; CA for device/MFA/location; RBACMicrosoft Entra ID, Microsoft Entra PIM
GCPIAM, Organization Policy, Access TransparencyOrganization policies for constraints; IAM conditions; Access TransparencyCloud IAM, Organization Policy
Multi-cloudCentralized IAM, SSO, federationFederated identity; centralized policy; unified access reviewOkta, Ping, Microsoft Entra ID

Cloud IAM Controls

ControlAWSAzureGCPImplementation
MFAIAM MFA, hardware keyMicrosoft Entra ID MFA, Conditional Access2-Step VerificationEnforced for all admin
PIM/JITIAM Identity Center, temporary credentialsMicrosoft Entra PIMIAM conditionsTime-limited access
RBACIAM policies, rolesAzure RBAC, custom rolesIAM roles, custom rolesLeast privilege roles
Service accountsIAM roles for service accountsManaged identitiesService accountsNo service account keys
Cross-accountIAM roles, trust policiesAzure Lighthouse, cross-tenantIAM service accountsRestricted trust
API accessAPI Gateway, IAM authAPI Management, Microsoft Entra ID authCloud Endpoints, IAMAuth + rate limiting
Network accessVPC endpoints, IAM conditionsPrivate endpoints, NSGVPC Service ControlsNetwork + IAM
Data accessS3 policies, Lake FormationAzure Purview, RBACBigQuery IAM, Data CatalogData + IAM
AuditCloudTrail, IAM Access AnalyzerMicrosoft Entra ID logs, PIM reportsCloud Audit Logs, Access TransparencyFull logging
RotationIAM key rotation, Secrets ManagerKey Vault rotation, managed identitiesSecret Manager rotationAutomated rotation

Access Control for Databases

Database Access Control

DatabaseAuthenticationAuthorizationEncryptionMonitoringBest Practice
PostgreSQLLocal, LDAP, AD, certificateRole-based, row-level securitySSL/TLS, TDEpgAudit, loggingRole-based, least privilege
MySQLLocal, LDAP, AD, certificateRole-based, GRANTSSL/TLS, TDEMySQL Enterprise AuditRole-based, least privilege
SQL ServerWindows auth, SQL auth, ADRole-based, row-level security, maskingTDE, Always EncryptedSQL Server Audit, DLMWindows auth, least privilege
OracleLocal, LDAP, AD, KerberosRole-based, Virtual Private Database, Label SecurityTDE, column encryptionOracle Audit Vault, Database FirewallRole-based, least privilege
MongoDBSCRAM, LDAP, Kerberos, x.509Role-based, field-level encryptionTLS, Client-Side FLEMongoDB AtlasRole-based, least privilege
DynamoDBIAM, CognitoIAM policies, fine-grained accessEncryption at rest, TLSCloudTrail, DynamoDB StreamsIAM roles, least privilege
BigQueryIAM, service accountsIAM, authorized views, row-level securityEncryption at rest, TLSCloud Audit Logs, IAMIAM, least privilege
SnowflakeLocal, SSO, OAuthRBAC, row access policies, column maskingTDE, dynamic maskingAccount Usage, Access HistoryRBAC, least privilege
RedshiftIAM, local, ADRole-based, column-level accessTDE, SSLCloudTrail, audit loggingIAM, least privilege
ElasticsearchNative, LDAP, AD, SAML, OIDCRole-based, document-level securityTLS, encryptionSecurity audit loggingRole-based, least privilege

Database Access Best Practices

PracticeImplementationToolRisk Mitigation
Separate accountsApp account, DBA account, read-only accountDatabase nativePrivilege separation
No shared accountsEach DBA has individual accountDatabase nativeAccountability
Least privilegeGrant only necessary permissionsDatabase nativeOver-privilege
Row-level securityUsers see only their rowsPostgreSQL RLS, SQL Server RLS, Oracle VPDData isolation
Column maskingMask sensitive columns for non-privileged usersSQL Server DDM, Oracle redaction, Snowflake maskingData exposure
Query auditLog all queries, especially DMLpgAudit, SQL Server Audit, Oracle Audit VaultMonitoring
Session timeoutAuto-disconnect idle sessionsDatabase nativeSession hijacking
Connection encryptionTLS for all connectionsSSL/TLS configurationMan-in-the-middle
No direct production accessAccess via approved tools onlyDBeaver, pgAdmin, SQL DeveloperUnauthorized access
Read replicas for analyticsAnalytics on read replica, not productionDatabase nativePerformance + security
Dynamic data maskingReal-time masking for non-privileged usersSQL Server DDM, Oracle, SnowflakeData exposure
Database firewallMonitor and block malicious queriesOracle Database Firewall, ImpervaSQL injection
Data activity monitoring (DAM)Real-time monitoring of database activityImperva, IBM Guardium, Oracle AVDFInsider threat
Just-in-time database accessTemporary access with approvalPAM + databaseOver-privilege
Database vaultSeparate admin domains for DBAs and securityOracle Database VaultSeparation of duties

Access Control for Applications

Application Access Control

LayerControlImplementationBest Practice
PresentationUI-based access controlRole-based UI elements, feature flagsShow only authorized features
API GatewayAPI-level access controlOAuth 2.0, JWT, scopes, rate limitingAuth + rate limiting + scope validation
ApplicationFunction-level access controlRBAC, ABAC, middleware checksCheck permissions in every function
DatabaseData-level access controlRow-level security, column masking, GRANTLeast privilege at data level
File SystemFile-level access controlACLs, permissions, encryptionRestricted file access
NetworkNetwork-level access controlFirewall, NSG, VPC, subnetNetwork segmentation
IdentityUser-level access controlSSO, MFA, session managementSSO + MFA + session timeout

Application Authorization Patterns

PatternDescriptionExampleUse Case
Role-Based Access Control (RBAC)Access based on roleif (user.role == 'Admin')Simple applications
Permission-BasedAccess based on specific permissionsif (user.hasPermission('delete_user'))Granular applications
Attribute-Based Access Control (ABAC)Access based on attributesif (user.department == resource.department)Complex applications
Policy-Based Access Control (PBAC)Access based on policyif (policy.evaluate(user, resource, action))Regulatory applications
Resource-Based Access ControlAccess based on resource ownershipif (user.id == resource.ownerId)User-owned resources
Context-Based Access ControlAccess based on contextif (time < 18:00 && location == 'office')Time/location-based
Claim-Based Access ControlAccess based on claims in tokenif (token.claims.contains('admin'))Token-based systems
Hierarchical Access ControlAccess based on hierarchyif (user.level >= resource.level)Organizational hierarchy
Workflow-Based Access ControlAccess based on workflow stateif (workflow.state == 'approved')Approval workflows

Access Control for APIs

API Security Model

LayerControlImplementationBest Practice
TransportTLS 1.2+ (1.3 preferred); mTLS for service-to-serviceServer configuration, API gatewayTLS 1.2 minimum, 1.3 preferred
AuthenticationOAuth 2.0, API keys, mTLSAuth server, API gatewayOAuth 2.0 with PKCE for public clients
AuthorizationScopes, RBAC, claimsAPI gateway, applicationLeast privilege scopes
Input validationSchema validation, sanitizationJSON Schema, OpenAPI, WAFStrict validation
Rate limitingPer client, per endpoint, per userAPI gateway, applicationTiered limits
Output validationResponse schema, data filteringApplication, API gatewayFilter sensitive data
Audit loggingAll requests, responses, errorsAPI gateway, SIEMFull logging
Error handlingGeneric errors, no info leakageApplicationGeneric 500/400
VersioningBackward compatibilityURI versioning, header versioningVersioned APIs
CORSRestricted originsAPI gatewayWhitelist origins
CSRFToken, SameSite cookiesApplicationDouble-submit cookie
Content securityJSON only, no HTMLContent-Type validationNo HTML responses
API inventoryEvery API inventoried, including internal and partner APIsAPI gateway, discovery toolsDon't rely on secrecy: protect APIs by authentication and authorisation
Field-level authorisationReturn only the fields the caller may seeApplication, API gatewayObject- and field-level checks (OWASP API Top 10)
API key rotationRegular rotation, revocationAPI gateway, IAM90-day rotation
Webhook securitySignature verification, replay protectionHMAC signature, timestampHMAC + timestamp
GraphQL securityQuery depth limiting, complexity analysisGraphQL server, WAFMax depth 10, complexity score
API firewallWAF for APIAPI gateway, WAFOWASP API Top 10 protection
Schema validationOpenAPI/Swagger validationAPI gateway, validation toolValidate against schema

Access Control for Remote Work

Remote Access Controls

ControlRequirementImplementationTool
VPN or ZTNARequired for remote access to internal systemsAlways-on VPN or ZTNAAnyConnect, WireGuard, Zscaler
Zero TrustNo implicit trust, verify every accessZero Trust Network Access (ZTNA)Zscaler, Netskope, Palo Alto
Device complianceOnly compliant devices access corporate resourcesMDM compliance checkIntune, Jamf, Workspace ONE
MFAMFA for all remote accessEnforce MFA for all remote sessionsMicrosoft Entra ID, Okta, Duo
Session timeoutShort session timeout for remote15-30 minute timeoutVPN, remote desktop
Screen lockAuto-lock when idle5-minute lockOS policy, MDM
Clipboard restrictionsRestrict copy/paste for sensitive appsRemote desktop policyRDS, Citrix
Printer restrictionsDisable remote printing for sensitiveRemote desktop policyRDS, Citrix
Drive restrictionsRestrict local drive accessRemote desktop policyRDS, Citrix
Network segmentationRemote access to specific segments onlyNetwork segmentation, ZTNAFirewall, ZTNA
MonitoringMonitor all remote sessionsSession recording, SIEMSession recording, SIEM
Geo-blockingBlock access from high-risk countriesGeo-blockingVPN, IAM
IP whitelistingAllow only from known IPsIP whitelistVPN, IAM
BYOD restrictionsLimited access from BYODBYOD containerization, web apps onlyMDM, ZTNA
Home network securityRequire secure home networkWPA3, no default passwordsPolicy, awareness
Public WiFiVPN mandatory on public WiFiAlways-on VPNVPN client
Split tunnelingRestrict split tunnelingForce all traffic through VPNVPN policy
Remote desktopApproved remote desktop onlyMFA, VPN or ZTNA, session recordingRDS Gateway, Citrix, an approved remote-support tool with MFA
Shadow IT preventionPrevent use of unapproved remote toolsBlock unapproved remote toolsFirewall, DLP
VNC/TeamViewerProhibit or strictly controlBlock unapproved, approve corporateFirewall, DLP

Access Control for Third Parties

Third-Party Access Controls

ControlRequirementImplementationTool
ContractSecurity terms in every third-party contract; a processing contract where the third party processes personal data on your behalf (DPDP s.8(2))Signed contract before accessContract
NDANon-Disclosure Agreement for all third-party accessSigned NDA before accessContract, NDA
Limited accessOnly necessary access for third partyRole-based, time-boundIAM, RBAC
MFAMFA for all third-party accessEnforce MFAMicrosoft Entra ID, Okta
Time-boundAccess limited to contract durationTime-bound accounts, expirationIAM, PAM
Network segmentationThird-party access to dedicated segmentDMZ, VLAN, network segmentationFirewall, NSG
MonitoringEnhanced monitoring for third-party accessSession recording, enhanced loggingSIEM, PAM, session recording
No shared accountsIndividual accounts for each third-party userIndividual accountsIAM
Regular reviewMonthly or quarterly access review for third partiesMonthly access reviewAccess review tool
AuditRight to audit third-party accessAudit clause in contractAudit records
Incident notificationThird-party must notify of incidentsIncident notification clauseIncident records
ExitImmediate access revocation on contract endAutomated de-provisioningIAM, HR system
SubcontractorSubcontractor access controlledSubcontractor approval, same controlsContract, IAM
Vendor risk assessmentRisk assessment before accessSecurity assessmentAssessment report
Vendor monitoringContinuous monitoring of vendor accessUEBA, CASB, SIEMUEBA, CASB
Vendor portalDedicated vendor portal for accessVendor portal, limited accessVendor portal
No direct production accessVendor access via staging or dedicated environmentSeparate environment, no prod accessEnvironment separation

Access Reviews and Recertification

Access Review Schedule

Access TypeReview FrequencyReviewerMethodEvidence
Privileged and admin accessQuarterly (monthly where risk is high)System owner + SecurityAutomated + manualReview records
Third-party accessQuarterly, and at contract changeContract owner + SecurityManual reviewReview records
Shared and service accountsQuarterlyApplication owner + SecurityAutomated + manualReview records
Application, database and cloud accessSemi-annually (quarterly for high-risk systems)Application or data ownerAutomated attestationAttestation records
Standard user accessSemi-annuallyManagerAutomated attestationAttestation records
Elevated accessPer useApproverJust-in-time approvalApproval records
Role changesAt the changeHR + managerAutomated + manualChange records
ExitOn or before the last working day; immediately for involuntary exitsHR + IT + SecurityAutomated de-provisioningDe-provisioning records

Access Review Process

ACCESS REVIEW PROCESS

1. Initiation
   - Automated trigger (schedule) or manual trigger (event)
   - Generate access review report for reviewer
   - Notify reviewer via email + dashboard

2. Review
   - Reviewer logs into access review tool
   - Reviews each user's access to their resources
   - For each access: Approve, Revoke, or Reassign
   - Comments required for Revoke or Reassign
   - Can delegate review to another reviewer

3. Approval
   - Reviewer submits completed review
   - Manager of reviewer approves (if required)
   - Security reviews exceptions (if any)

4. Action
   - Approved access: No action, access continues
   - Revoked access: Access removed within 24 hours
   - Reassigned access: Access modified per reassign request
   - No response: Escalate to manager, then revoke

5. Documentation
   - Review record saved in audit trail
   - Access changes logged in IAM
   - Exceptions documented and approved
   - Report generated for audit

6. Follow-up
   - Verify revoked access is removed
   - Verify no orphaned accounts
   - Update risk register if exceptions
   - Report to CISO

Just-in-Time (JIT) Access

JIT Access Model

ElementStandard AccessJIT AccessDifference
DurationPermanentTime-limited (1-8 hours)Temporary
ApprovalOnboardingPer-request approvalJust-in-time approval
ScopeRole-basedTask-basedSpecific task
LoggingStandardEnhancedFull session recording
RevocationOn exitAutomatic expirationAuto-revoke
MonitoringStandardReal-timeEnhanced monitoring
Use caseDay-to-dayElevated, sensitive, productionEmergency, maintenance
ExampleDeveloper has dev accessDeveloper gets 2-hour production accessTime-limited production

JIT Implementation

StepActionOwnerToolTimeline
1Define JIT-eligible rolesSecurityIAM, PAM1 week
2Define approval workflowSecurity + ManagersServiceNow, PAM1 week
3Configure JIT in PAMITMicrosoft Entra PIM, CyberArk, AWS IAM2-4 weeks
4Test JIT workflowIT + SecurityTest environment1 week
5Train usersHR + SecurityTraining, documentation1 week
6Roll out to productionITPAM1 week
7Monitor and adjustSecuritySIEM, PAM analyticsOngoing
8Review JIT usage monthlySecurityPAM reportsMonthly

Break-Glass and Emergency Access

Break-Glass Requirements

RequirementImplementationBest PracticeEvidence
Dedicated accountsTwo emergency accounts per critical platform (for example cloud-only global admins)Not tied to a single person, the IdP's federation or one MFA providerEmergency account list
Strong, independent authenticationFIDO2 keys or certificates stored in a safe, with split custody if you want two-person controlExcluded from conditional access policies that could lock them outConfiguration record
AlertingAlert on any sign-inReal-time alert to Security and the on-call leadAlert records
No routine useUse only when normal admin access is unavailablePolicy prohibits routine useSign-in logs
Review after useReview every use and rotate credentialsWithin one working dayReview records
TestingTest sign-in worksQuarterlyTest records

Tool Comparison

ToolTypeBest ForKey Features
Microsoft Entra IDIdentity providerMicrosoft 365 organisationsSSO, Conditional Access, MFA, Access Reviews, PIM (P2)
Okta Workforce IdentityIdentity providerMixed SaaS estatesSSO, adaptive MFA, lifecycle management
Google Cloud IdentityIdentity providerGoogle Workspace organisationsSSO, context-aware access
JumpCloudDirectory + SSOSMEs with mixed devicesDirectory, SSO, MFA, device management
AWS IAM Identity CenterCloud IAMAWS estatesCentral workforce access, permission sets, temporary credentials
Microsoft Entra PIMJust-in-time privileged accessAzure and Microsoft 365Time-bound role activation with approval
CyberArk / BeyondTrust / DelineaPAMLarger or regulated estatesVaulting, session recording, JIT, endpoint privilege management
SailPoint / SaviyntIdentity governance (IGA)Enterprises with many rolesAccess certification, SoD rules, role mining
Keycloak / AuthentikOpen-source IAMSelf-hosted, engineering-led teamsSSO, MFA, identity brokering
Windows Hello / PasskeysPasswordlessAll organisationsFIDO2 phishing-resistant sign-in

Implementation Roadmap: About 8 Weeks for the Basics

WeekFocusDeliverableOwner
1Access control policyDocumented policy, roles, responsibilitiesCISO
2IAM architectureIAM design, IdP selection, integration planIT Architect
3IdP deploymentIdP deployed, directory synced, basic SSOIT
4MFA rolloutMFA enabled for all users, admin firstSecurity
5RBAC implementationRoles defined, assigned, testedSecurity + IT
6Privileged accessIndividual admin accounts, credential vault, JIT where the platform supports it (a full PAM rollout usually takes longer)Security Engineer
7Access reviewsAccess review process, tool, first reviewSecurity + HR
8Monitoring and optimizationSIEM rules, monitoring, optimizationSOC + Security

Common Audit Failures and Fixes

FailureAuditor's QuestionFixTimeline
No access control policy"Show me your access control policy"Create access control policy1-2 weeks
No MFA"How do you ensure users are who they claim?"Deploy MFA, starting with admin and remote access (A.8.5)2-4 weeks
Excessive privileges"Why does this user have admin access?"Implement least privilege, review2-4 weeks
No access reviews"When did you last review access?"Implement quarterly access reviews2-4 weeks
Shared accounts"Who uses this admin account?"Eliminate shared accounts, individual accounts2-4 weeks
Privileged access uncontrolled"How do you manage privileged access?"Restrict and manage privileged rights (A.8.2): individual admin accounts, vaulting, JIT; a PAM tool where risk warrants4-8 weeks
Weak passwords"What is your password policy?"Strengthen password policy, enable compromised check1-2 weeks
No session timeout"How long do sessions stay active?"Implement session timeout, screen lock1-2 weeks
Orphaned accounts"Why does this ex-employee still have access?"Implement automated de-provisioning2-4 weeks
No remote access controls"How do you control remote access?"Implement VPN, ZTNA, device compliance2-4 weeks
No third-party access controls"How do you manage vendor access?"Implement third-party access controls2-4 weeks
No break-glass procedure"What if all admins are locked out?"Create break-glass procedure1-2 weeks
No service account management"How do you manage service accounts?"Implement service account vault, rotation2-4 weeks
No cloud IAM"How do you manage cloud access?"Implement cloud IAM, JIT elevation, guardrail policies (SCPs)2-4 weeks
No access logs"How do you monitor access?"Implement SIEM, access logging, monitoring2-4 weeks

Illustrative Scenarios

Illustrative scenario, a composite example for guidance, not a specific Singahi engagement or a verified outcome.

Illustrative Scenario 1: SaaS Company Implements Zero Trust with MFA and PAM

Company: 500-employee SaaS, no MFA, shared admin accounts, excessive privileges
Challenge: Audit finding on A.5.15, no MFA, shared admin accounts, no access reviews
Solution:

  1. Deployed Microsoft Entra ID as identity provider with SSO for all 200+ applications
  2. Implemented MFA for all users (TOTP app + push notification)
  3. Implemented hardware keys (YubiKey) for all admin accounts (50+ admins)
  4. Deployed Microsoft Entra PIM for just-in-time privileged access
  5. Eliminated all shared admin accounts, created individual admin accounts
  6. Implemented quarterly access reviews for all applications
  7. Implemented automated de-provisioning via Workday → Microsoft Entra ID integration
  8. Deployed Conditional Access for device compliance, location, and risk
  9. Implemented PAM for database and server access (CyberArk)
  10. Implemented break-glass procedure with pre-approved emergency accounts

Outcome: 100% MFA adoption. Zero shared admin accounts. Access reviews completed quarterly with 95% manager participation. Unauthorized access incidents reduced by 90%. Passed ISO 27001 audit with zero findings on A.5.15.

Illustrative Scenario 2: Bank Implements RBAC and PAM for 2,500 Employees

Company: 2,500-employee bank, 500+ roles, no RBAC, shared admin accounts, manual access management
Challenge: RBI requirement for access control, no RBAC, manual process, audit finding
Solution:

  1. Designed 200+ standardized roles across all departments
  2. Implemented SailPoint for identity governance and access management
  3. Implemented CyberArk for privileged access management (300+ admin accounts)
  4. Implemented MFA for all users (hardware tokens for high-risk, app for standard)
  5. Implemented monthly access reviews for all privileged access
  6. Implemented quarterly access reviews for all standard access
  7. Implemented SoD rules (separation of duties) for finance and payments
  8. Implemented JIT access for production database and server access
  9. Implemented break-glass procedure with dual control and enhanced logging
  10. Implemented automated provisioning and de-provisioning via HR system integration

Outcome: 100% RBAC coverage. All admin accounts vaulted in CyberArk. Access reviews automated with 98% manager participation. SoD violations detected and resolved within 24 hours. RBI audit passed with no findings. Internal fraud attempts reduced by 80%.


Multi-Framework Mapping

FrameworkReferenceRelationship
NIST SP 800-53 Rev 5AC-1 (policy and procedures), AC-3 (access enforcement), AC-6 (least privilege), PE-2/PE-3 (physical access)The policy and its enforcement
NIST CSF 2.0PR.AA-05Access permissions managed with least privilege and separation of duties
SOC 2CC6.1, CC6.3, CC6.4Logical access, role-based access and removal, physical access
PCI DSS v4.0.17.1.1, 7.2.1, 7.2.2, 9.2.1Access policy, access model by job function, least privilege, physical entry controls
CIS Controls v86.1, 6.2, 6.8Access granting, access revoking, role-based access control
COBIT 2019DSS05.04, DSS05.05Manage user identity and logical access; manage physical access

FAQ

Q: Does A.5.15 require MFA for all users or just admins?
A: Neither: A.5.15 sets the access rules; authentication strength comes from A.8.5 and your risk assessment. In practice auditors expect MFA at least for privileged, remote and internet-facing access, and MFA for all users is now normal good practice, with phishing-resistant methods for admins.

Q: Can we use shared admin accounts in small organizations?
A: Only where genuinely necessary. 27002 (5.16) allows shared identities when needed for business or operational reasons, with approval and documentation. Prefer individual admin accounts; if a shared account is unavoidable, vault the password, log who checked it out, and review it regularly.

Q: How often should access reviews be conducted?
A: ISO sets no frequency; base it on risk. A common pattern: privileged and third-party access quarterly, standard access semi-annually, plus reviews when roles change or after incidents.

Q: What is the minimum password policy for ISO 27001?
A: ISO 27001 has none. Follow NIST SP 800-63B: long passphrases (15+ characters if the password is the only factor), no forced composition rules or periodic expiry, a breached-password check, and MFA.

Q: Does A.5.15 require PAM for all organizations?
A: No. A.8.2 requires privileged access rights to be restricted and managed, not a particular product. Small organisations can meet it with individual admin accounts, a password vault, MFA and logging; PAM tools make sense as the estate grows.

Q: Can we use passwordless authentication?
A: Yes, passwordless (FIDO2/WebAuthn, Windows Hello, passkeys) is highly recommended and often more secure than passwords. It is acceptable for ISO 27001 if properly implemented.

Q: How do we handle service accounts?
A: Service accounts should be vaulted, rotated regularly, have minimal privileges, be non-interactive, and monitored. Use PAM or secrets manager (HashiCorp Vault, AWS Secrets Manager, Azure Key Vault) for service account management.

Q: What is the minimum evidence for A.5.15?
A: Access control policy, user account list, role definitions, access matrix, access review records, MFA enrollment records, PAM configuration, privileged access logs, and session records.

Q: Does A.5.15 require network access control (NAC)?
A: Not explicitly, but NAC is recommended for network-level access control. At minimum, implement network segmentation, VPN for remote access, and firewall rules.

Q: How do we handle BYOD access control?
A: Use MDM for device compliance, conditional access for device health, ZTNA for application access, and containerization for data separation. Require MFA for all BYOD access.


Industry-Specific Access Control Requirements

Banking and Financial Services (BFSI)

Practice under RBI's Cyber Security Framework for banks (2016, Annex 1) and the IT Governance Master Direction (2023); exact expectations vary by entity:

  • Privileged Access: All privileged access to core banking systems must be through PAM with session recording and approval workflows. No direct root/admin access.
  • Segregation of Duties: Critical functions (transaction initiation, authorization, and reconciliation) must be separated. No single person should have end-to-end control.
  • Customer Data Access: Access to customer PII and transaction data must be logged, limited to need-to-know, and subject to quarterly recertification.
  • ATM Access: ATM service personnel must use unique credentials, be escorted, and have time-limited access. All ATM access logged.
  • SWIFT Access: Dedicated, isolated operator terminals, MFA and the other mandatory controls of the SWIFT Customer Security Controls Framework (CSCF).
  • Third-Party Access: Vendor access to banking systems must be through a bastion host with MFA, session recording, and time-limited sessions approved per task.

BFSI Access Control Matrix Example:

RoleCore BankingATM NetworkSWIFTCustomer DataTrading PlatformHR Systems
TellerRead/Write (own branch)NoneNoneRead (limited)NoneNone
Branch ManagerRead/Write (branch)ReadNoneRead (branch)NoneRead (branch)
IT AdminNone (via PAM)Read/Write (via PAM)NoneNoneNoneRead/Write
Core Banking AdminRead/Write (via PAM)NoneNoneNoneNoneNone
SWIFT OperatorNoneNoneRead/WriteNoneNoneNone
AuditorRead (all)ReadReadRead (anonymized)ReadRead
HR ManagerNoneNoneNoneNoneNoneRead/Write

Healthcare

Healthcare practice (DPDP Act duties; NABH accreditation standards):

  • Patient Record Access: Role-based access where doctors see their patients, nurses see assigned wards, and administrators see operational data only. All access logged with user ID, timestamp, and action.
  • Emergency Access: Break-glass procedures for emergency access to patient records (e.g., unconscious patient in ER). All break-glass access automatically flagged for review.
  • Research Data: Anonymized research datasets require separate access controls. Researchers must not be able to re-identify patients.
  • Third-Party Access: Insurance companies, government health programs, and vendors must have strictly limited, time-bound access. All third-party access monitored.
  • Medical Device Access: IoT medical devices must be on isolated networks with no direct access to patient records or internet.

Healthcare Access Control Risks:

  • Snooping: Healthcare staff accessing records of celebrities, neighbors, or family members. Implement alerts for unusual access patterns.
  • Ransomware: Healthcare is a prime ransomware target. Strict access controls reduce lateral movement.
  • Insurance Fraud: Unauthorized access to patient data for insurance fraud. Implement need-to-know and access logging.

Government and Critical Infrastructure

Government and critical infrastructure practice (NCIIPC guidance for CII; MHA security instructions for classified data):

  • Classification-Based Access: Access to Top Secret, Secret, and Confidential data must be strictly controlled with multi-person approval and enhanced logging.
  • Citizen Data Access: Access to Aadhaar, PAN, tax, and other citizen data must be logged, limited to authorized personnel, and subject to regular audit.
  • Critical Infrastructure: Power, telecom, and transport systems must have air-gapped access controls. No internet-connected privileged access.
  • Defense Systems: Military IT systems require security clearance-based access, compartmentalized access, and physical token authentication.

IT/ITeS and SaaS

Multi-Tenant and Cloud-Specific Requirements:

  • Tenant Isolation: Each customer's data must be accessible only to their authorized users. Tenant administrators must not access other tenants' data.
  • API Access Control: API keys must be rotated, scoped, and rate-limited. OAuth 2.0 with PKCE for mobile apps.
  • Customer Key Management: Enterprise customers may require customer-managed encryption keys (CMEK). Access to these keys must be strictly controlled.
  • Dev/Prod Separation: Developers must not have production access. Production changes must be through CI/CD pipelines with approval gates.
  • Bug Bounty Access: Controlled access for security researchers with scope limitations and time-bound credentials.

Manufacturing and Industrial

OT/IT Convergence Access Control:

  • OT Network Isolation: SCADA, PLC, and DCS systems must be on isolated networks with no direct access from IT networks or internet.
  • Maintenance Access: Vendor access to OT systems must be through a secure jump server with session recording and time limits.
  • Engineering Workstations: CAD and design systems must have DLP, access logging, and strict egress controls.
  • Supply Chain Access: Supplier access to production schedules and quality data must be limited and monitored.

Access Control Maturity Model

Figure · Tiers

Maturity levels for access control

Maturity levels for ISO 27001 A.5.15, access control, from most to least mature: Optimized, ai-driven, adaptive, self-healing; Quantitative, metrics-driven, pam, ztna; Defined, complete policy, automated; Managed, basic policy, manual processes; Initial, ad hoc, no formal controls.
Where most organisations sit, and what the next level asks for. Full characteristics per level are in the table below.
LevelNameAccess Control CharacteristicsAuthenticationAuthorizationMonitoring
1InitialAd hoc, no formal controlsBasic passwordsAd hocNone
2ManagedBasic policy, manual processesPasswords + some MFARBAC basicsBasic logging
3DefinedComplete policy, automatedMFA for allFull RBAC, SoDCentralized logging
4QuantitativeMetrics-driven, PAM, ZTNAPasswordless/ hardware keysABAC, dynamicSIEM, UEBA
5OptimizedAI-driven, adaptive, self-healingContinuous authAI-driven risk-basedPredictive analytics

Progression Guidance:

  • Level 1 → 2: Implement access control policy, basic RBAC, and MFA for admins. (Time: 2-4 weeks)
  • Level 2 → 3: Full MFA for all users, PAM for privileged access, automated access reviews, and SIEM integration. (Time: 1-3 months)
  • Level 3 → 4: Zero Trust architecture, passwordless authentication, ABAC, and UEBA. (Time: 3-6 months)
  • Level 4 → 5: AI-driven access decisions, continuous authentication, and self-healing access controls. (Time: 6-12 months)

Access Control Metrics and KPIs

Figure · Measures

The measures that show A.5.15 is working

  • MFA Enrollment Rate> 95%Monthly
  • Privileged Access Coverage100%Monthly
  • Access Review Completion100%Quarterly
  • Orphan Account Rate< 1%Monthly
  • Excessive Privilege Rate< 5%Quarterly
Targets and reporting cadence as defined in the table below, where the formula for each is given.
MetricFormulaTargetFrequency
MFA Enrollment Rate(Users with MFA / Total users) × 100> 95%Monthly
Privileged Access Coverage(Privileged accounts in PAM / Total privileged accounts) × 100100%Monthly
Access Review Completion(Reviews completed on time / Total reviews) × 100100%Quarterly
Orphan Account Rate(Orphan accounts / Total accounts) × 100< 1%Monthly
Excessive Privilege Rate(Accounts with excessive privileges / Total accounts) × 100< 5%Quarterly
Failed Access AttemptsNumber of failed authentication attemptsBaseline + trendDaily
Session Recording Coverage(Privileged sessions recorded / Total privileged sessions) × 100100%Monthly
Break-Glass UsageNumber of emergency access activations< 2 per monthMonthly
Access Request SLAAverage time to fulfill access requests< 48 hoursMonthly
SoD Violation Rate(SoD violations / Total access reviews) × 1000%Quarterly

More Questions

Q: How do we implement access control for a hybrid workforce? A: Hybrid work requires: (1) ZTNA for all remote access, (2) MFA for every access regardless of location, (3) device compliance checks, (4) DLP for data exfiltration prevention, (5) VPN as a minimum, and (6) enhanced monitoring for remote sessions. Treat remote access as higher risk than on-site access.

Q: What is Attribute-Based Access Control (ABAC) and when should we use it? A: ABAC grants access based on attributes (user role, department, location, time, device health, data sensitivity). Use ABAC when: (1) RBAC is too rigid, (2) Dynamic access decisions are needed, (3) Complex environments with many variables, (4) Fine-grained control is required. ABAC is more complex to implement but more flexible than RBAC.

Q: How do we handle access control for contractors and temporary staff? A: Contractors require: (1) Time-limited accounts (auto-expire on contract end), (2) Supervised access (escorted or monitored), (3) Minimal privileges (need-to-know only), (4) Separate contractor domain or VLAN, (5) Signed security agreements, and (6) Immediate de-provisioning on contract termination. Never give contractors privileged access without enhanced controls.

Q: Can we use biometric authentication for ISO 27001? A: Yes, biometrics (fingerprint, face, iris) are acceptable and often more secure than passwords. However: (1) Under the DPDP Act, employee biometrics for attendance and access fall under employment-related legitimate use (s.7(i)), but tell staff what you collect and why, (2) Implement secure biometric storage (templates, not raw images), (3) Provide fallback authentication (biometric + PIN), (4) Document biometric data handling in privacy policy, and (5) Allow users to opt out if legally required.

Q: How do we handle access control during a disaster or emergency? A: Maintain an emergency access procedure: (1) Pre-defined emergency access accounts (vaulted, require dual approval), (2) Break-glass procedures with automatic alerting, (3) Offline access control lists (if systems are down), (4) Physical access procedures for emergency personnel, and (5) Post-incident review of all emergency access. Test emergency procedures during DR drills.

Illustrative Scenario: Chennai NBFC, Access Control Breach to Compliance Success

Background

A Chennai-based non-banking financial company (NBFC) with 300 employees had grown rapidly over 3 years. Their access control was ad-hoc: shared admin passwords, no MFA, manual access provisioning via email, and no access reviews. Employees had access to systems they didn't need, and former employees' accounts were occasionally forgotten.

The Incident

Last year, a former employee used a shared admin password (that was never changed after their departure) to log into the loan management system. They accessed 5,000 customer records, downloaded a partial database, and attempted to sell the data on a dark web forum. The breach was detected when a cybersecurity firm monitoring dark web markets flagged the data for sale.

Root Cause Analysis

  1. Shared Admin Passwords: The "admin123" password was shared among 8 IT staff and 2 managers. It was never rotated.
  2. No De-Provisioning Process: When employees left, HR sent an email to IT, but there was no tracking or confirmation. 12 former employees still had active accounts 6 months after departure.
  3. No MFA: All systems used single-factor authentication. Compromised passwords provided full access.
  4. No Access Reviews: Access rights were granted once and never reviewed. Employees accumulated access across multiple roles and projects.
  5. No PAM: Database admin, server admin, and application admin credentials were stored in an Excel sheet on a shared drive.
  6. No Logging: The loan management system had no centralized logging. The unauthorized access was not detected internally.

Impact

  • Data Breach: 5,000 customer records (names, PAN, Aadhaar, phone numbers, loan details) exposed
  • Regulatory: RBI imposed a monetary penalty for inadequate cyber security controls. The NBFC reported the breach to CERT-In within 6 hours, as the 2022 Directions require.
  • Customer Trust: 400+ customers closed their accounts. Social media coverage damaged the brand.
  • Legal: Customers complained to the NBFC and the RBI Ombudsman. Once the DPDP Act's duties apply, a breach like this can draw Data Protection Board penalties of up to ₹250 crore; the Act gives individuals no compensation claim, so customers would sue under other law.

Remediation

The NBFC implemented a complete access control program:

Phase 1 (Week 1-2):

  • Emergency password reset for all admin accounts
  • Immediate de-provisioning of all 12 former employee accounts
  • Deployment of MFA for all systems (starting with privileged access)
  • Quick audit of all active accounts and access rights

Phase 2 (Month 1-2):

  • Implementation of PAM (CyberArk) for all privileged accounts
  • RBAC redesign with role definitions for each department
  • Access review process with quarterly recertification
  • Centralized logging with SIEM (Splunk) for all access events

Phase 3 (Month 3-4):

  • Automated user provisioning and de-provisioning via HR-IT integration
  • ZTNA deployment for remote access
  • Passwordless authentication pilot for executives
  • Security awareness training for all staff

Phase 4 (Month 5-6):

  • ABAC implementation for sensitive customer data
  • UEBA deployment to detect anomalous access patterns
  • Third-party access management portal
  • Annual penetration testing and access control audit

Results:

  • Zero unauthorized access incidents in 12 months post-implementation
  • Passed RBI cyber security review with full compliance
  • 100% MFA enrollment across all 300 employees
  • Access review completion rate: 100% quarterly
  • Orphan accounts: 0 (automated de-provisioning within 24 hours of HR termination)
  • PAM coverage: 100% of privileged accounts

Key Lessons

  1. Shared Passwords are a Ticking Time Bomb: Every shared password is a liability. Implement individual accounts and PAM immediately.
  2. De-Provisioning is Non-Negotiable: Automated de-provisioning is the only reliable way to prevent former employee access.
  3. Access Reviews Prevent Privilege Creep: Without regular reviews, employees accumulate unnecessary access over time.
  4. MFA is the Best ROI: MFA prevents 99.9% of automated attacks. It is the highest-impact, lowest-cost security control.
  5. Detection is as Important as Prevention: Without logging and monitoring, breaches go undetected for months. Implement SIEM and UEBA.

Zero Standing Privileges (ZSP): Instead of granting standing admin access, ZSP provides just-in-time (JIT) access that is requested, approved, time-limited, and automatically revoked. This eliminates the risk of persistent privileged accounts being compromised.

Continuous Authentication: Traditional authentication is a one-time gate. Continuous authentication verifies identity throughout the session using behavioral biometrics, device posture, and location analytics. If behavior deviates from baseline, the session is challenged or terminated.

Decentralized Identity: Verifiable credentials let users prove facts (employment, qualifications, age) without revealing the underlying data. In India, DigiLocker already issues digitally verifiable documents; W3C verifiable credentials are the emerging standard.

AI-Powered Access Decisions: Machine learning models analyze user behavior, resource sensitivity, threat intelligence, and business context to make dynamic access decisions. AI can detect anomalies and automatically restrict access or trigger step-up authentication.

Passwordless-First Strategies: FIDO2/WebAuthn, Windows Hello, and hardware security keys are making passwords obsolete. Google, Microsoft, and Apple have all committed to passwordless futures. Organizations should plan a 3-year passwordless migration roadmap.


References

  • ISO/IEC 27001:2022, Annex A 5.15; ISO/IEC 27002:2022, 5.15 (consulted, paraphrased)
  • NIST SP 800-53 Rev. 5 (AC-1, AC-3, AC-6); NIST SP 800-63B (Digital Identity Guidelines)
  • NIST Cybersecurity Framework 2.0 (2024)
  • PCI DSS v4.0.1, Requirements 7 and 9
  • CIS Controls v8, Control 6
  • RBI Cyber Security Framework in Banks (2016) and Master Direction on IT Governance, Risk, Controls and Assurance Practices (2023)
  • SWIFT Customer Security Controls Framework
  • Digital Personal Data Protection Act, 2023 and DPDP Rules, 2025
  • Verizon Data Breach Investigations Reports 2024 and 2025

Document Control

  • Version: 1.1
  • Review Cycle: Annual + event-triggered
  • Next Review: June 2027

How Singahi can help

Singahi is one team for compliance, assessment and managed security. We help growing companies implement and certify ISO 27001:2022, and stay secure afterward.


Continue the toolkit

How we can help

Working toward this?

If a certification or a customer's security questionnaire is what brought you here, tell us where you are. We'll give you an honest read on the work and the timeline, with no obligation.

What happens next

  1. Tell us the trigger

    A questionnaire, an audit date or an investor ask. The short form or a call both work.

  2. A practitioner replies

    A senior practitioner, not a bot, within four business hours.

  3. You get a scoped next step

    An honest view of what the work involves. No pressure, no theatre.