Instiq
Chapter 1 · Security Concepts·v1.0.0·Updated 7/20/2026·~16 min

What's changed: Initial version

1.5Access control models

Key points

Covers control models—discretionary (DAC), mandatory (MAC), role-based (RBAC), attribute-based (ABAC), rule-based, and time-based—and the AAA (authentication, authorization, accounting) framework, framed as the judgment of "which model fits this requirement of who may do what, and when."

Access control decides "who may touch what, and how far," and choosing the wrong model creates excessive privilege (a breeding ground for leaks) or, conversely, under-privilege that halts work. This section covers choosing—from owner-discretion DAC, to org-enforced MAC, to role-bundled RBAC, to context-aware ABAC—by requirements (sensitivity, scale, flexibility, auditability), closing with the AAA framework that governs authentication, authorization, and accounting.

1.5.1The main control models

  • DAC (discretionary access control) lets the resource owner decide at their discretion who is permitted (typical of ordinary file-share permissions). It is flexible but prone to excessive privilege if the owner sets it loosely, and organization-wide control is weak.
  • MAC (mandatory access control) is enforced by the system based on organization-defined labels (classification/clearance). Owners cannot widen permissions on their own; it suits high-secrecy environments like military/government. Low in flexibility but strong in control.
  • RBAC (role-based) bundles permissions to a role rather than to individual users and assigns users to roles. Roles like "accounting" or "HR" simplify permission management and ease auditing in large organizations. On transfer, you just switch the role.
  • ABAC (attribute-based) is the most flexible model, deciding dynamically by combining user attributes, resource attributes, and environment (time, location, device, risk). It enables fine-grained, context-dependent control like "allow if in accounting and from the internal network during business hours."

1.5.2Rule/time-based and AAA

  • Rule-based applies common admin-defined rules uniformly to everyone (e.g., an ACL "deny this port from this source"). Time-based controls permission by hours/period (e.g., deny access to certain systems outside business hours). Both also appear as parts of ABAC conditions.
  • AAA has three pillars: authentication (who you are) -> authorization (what you may do) -> accounting (a record of what you did). Access-control models mainly govern the authorization decision, and AAA brackets it with authentication and audit records. It is implemented with RADIUS/TACACS+, etc.
Exam point

Most-tested: distinguishing DAC = owner discretion / MAC = label-based system enforcement (high secrecy) / RBAC = role-bundled to simplify large scale / ABAC = dynamic and fine-grained via attributes + environment, and AAA = authentication -> authorization -> accounting. Practice reverse-mapping to a model from requirement keywords (owner decides / classification labels / many roles and transfers / varies by context like time or location).

You are designing access control for a hospital information system. The requirements are complex: (1) patient charts are highly sensitive and staff outside the care team must not widen viewing on their own; (2) there are thousands of staff with frequent transfers, so per-individual permissions are impractical; (3) on-call physicians must access data for wards they normally cannot reach, only during nighttime emergencies. Forcing this into one model is the root of failure. First, the scale and frequent transfers in (2) point naturally to RBAC: bundling permissions into roles like "physician," "nurse," and "medical records" means a transfer is just a role switch and auditing is easier. But the strong control requirement in (1)—outsiders must not widen viewing on their own—is risky under owner-discretion DAC (sharing spreads by on-the-spot judgment) and calls for a MAC-style idea where the system enforces classification so staff cannot widen their own scope. And the "only during nighttime emergencies" condition in (3) cannot be expressed by role alone; it is better handled by time-based (on-call hours) or, more generally, ABAC combining "role = physician AND on-call = true AND time = night" to grant dynamically. In practice, a hybrid that layers ABAC context conditions atop an RBAC foundation is the realistic solution. Finally, who opened which chart and when must always be recorded by AAA accounting for later audit and incident investigation—in regulated domains like medical information, "accounting (who viewed)" is as important as "authorization (may they view)." The lesson is the design judgment of reverse-mapping each requirement keyword to a model and combining models rather than clinging to a single one.

ModelHow access is decidedFits requirementsCaveat
DACOwner's discretionFlexible sharing, small scaleProne to excessive privilege
MACSystem enforces via labelsHigh secrecy (military/gov/medical)Low flexibility
RBACBundle permissions to rolesLarge scale, frequent transfersRole design is critical
ABACDynamic by attributes + environmentContext-dependent, fine-grained controlPolicies can get complex
Time-basedControl by hours/periodOn-call, time-limited accessAlone cannot express role/attribute
Warning

Trap: "Letting the owner freely widen permissions is the safest access control" is wrong—that is DAC, which is loosely controlled and prone to excessive privilege, so high secrecy suits MAC, where owners cannot widen. Also wrong: "RBAC and ABAC are the same, and deciding roles automatically handles time/location too"—RBAC only bundles by role, and changing dynamically by environment (time/location/device) requires ABAC or time-based. Forgetting AAA accounting (recording) and settling for only authentication and authorization also leaves an audit gap.

DAC, MAC, RBAC, ABAC, and the AAA framework.
Which model fits the requirement

1.5.3Section summary

  • DAC = owner discretion (watch for excessive privilege), MAC = system-enforced via labels (for high secrecy); choose by required sensitivity and control strength
  • RBAC bundles by role to simplify scale/transfers, ABAC is dynamic and fine-grained via attributes + environment, and time-based handles time conditions like on-call
  • A combination like RBAC + ABAC is the realistic solution rather than a single model; AAA (authentication -> authorization -> accounting) keeps records for audit

Sign in to track progress — Log in.

Quick check

(just a quick review)

Q1. In a high-secrecy military/government system, based on classification labels, you want to prevent even a resource owner from granting or widening viewing to others at their own discretion. Which access control model best fits?

Q2. In an organization of thousands with frequent staff transfers, setting and maintaining per-individual permissions has broken down. You want a scheme easy to re-assign on each transfer and easy to audit. Which model fits best?

Q3. For on-call physicians, you want to dynamically grant viewing of ward data they normally cannot access, only when "role = physician AND on-call = true AND late night." You also want to always record who opened the data and when for later audit. Which combination best satisfies this?

Check your understandingPractice questions for Chapter 1: Security Concepts