Inferensys

Glossary

Discretionary Access Control (DAC)

Discretionary Access Control (DAC) is a security model where the owner of a resource (like a file or API) has the discretion to grant or revoke access permissions to other users or processes.
ML engineer managing model versions on laptop, version history visible, technical Git-like workflow.
ACCESS CONTROL MODEL

What is Discretionary Access Control (DAC)?

Discretionary Access Control (DAC) is a foundational security model where access to resources is governed by the resource owner's discretion.

Discretionary Access Control (DAC) is an access control model where the owner of a resource, such as a file or data object, has the authority to determine which other users or system processes can access it and what operations they may perform. This model is discretionary because the access control policy is set at the owner's discretion, not mandated by a central administrator. It is commonly implemented using Access Control Lists (ACLs), which explicitly list the permissions granted to specific users or groups for that resource. DAC contrasts with non-discretionary models like Mandatory Access Control (MAC), where access is centrally controlled based on security labels.

In the context of AI agent tool calling and API execution, DAC principles apply to how an agent's permissions to access external tools and data are managed. The owner of a tool or API (the security principal) can grant the agent specific scopes of access, such as read or write permissions. This model underpins many common credential scoping and OAuth 2.0 implementations, where a token's scope is defined by the resource owner. However, for autonomous systems, the discretionary nature of DAC can pose risks if not carefully bounded by overarching authorization boundaries and the principle of least privilege to prevent privilege escalation.

ACCESS CONTROL MODEL

Key Characteristics of DAC

Discretionary Access Control (DAC) is an access control model where the owner of a resource determines who can access it and what permissions they have. Its defining features center on user-centric ownership and decentralized, flexible permission management.

01

Resource Owner Control

The core tenet of DAC is that the creator or owner of a resource (e.g., a file, database record, or directory) holds the ultimate authority to grant or revoke access permissions for other users. This is in direct contrast to centralized, policy-driven models like Mandatory Access Control (MAC). Ownership is typically established at the moment of resource creation. The owner can delegate their administrative rights, allowing other users to manage the access control list (ACL) for that specific object.

02

Access Control Lists (ACLs)

DAC is most commonly implemented using Access Control Lists (ACLs). An ACL is a table attached to a resource that enumerates which subjects (users, groups, processes) are permitted to perform which operations (read, write, execute).

  • Each entry in an ACL specifies a subject and a set of permissions.
  • Operating systems like Unix/Linux and Windows NTFS use ACLs for file system security.
  • This provides a direct, object-centric view of permissions, answering the question: "Who can access this specific file?"
03

Flexibility and Delegation

DAC is highly flexible and adaptable to dynamic environments. Owners can grant permissions on a per-user basis, enabling fine-grained control. This model supports easy delegation of authority, where an owner can grant another user the ability to modify the ACL, effectively sharing administrative control. However, this flexibility is a double-edged sword; it can lead to permission sprawl and inconsistencies if not carefully managed, as there is no central authority enforcing a uniform security policy.

04

Lack of Centralized Policy Enforcement

A key characteristic—and a significant limitation—of DAC is the absence of a centralized, mandatory security policy. Security is enforced at the discretion of individual resource owners. This makes DAC inherently vulnerable to Trojan horse attacks, where malicious code executes with the permissions of the user who runs it, potentially accessing all files that user owns or has permissions to. It contrasts with Mandatory Access Control (MAC), where a system-wide policy, not user discretion, governs all access decisions.

05

Common Implementations & Examples

DAC is the foundational model for most mainstream operating systems and many network file systems.

  • Unix/Linux File Permissions: The classic owner-group-others (rwx) model is a simple form of DAC.
  • Windows NTFS Permissions: Uses detailed ACLs allowing for complex allow/deny entries for users and groups.
  • Traditional Database Systems: Table or row-level permissions often granted by the database object owner.
  • Personal File Sharing: When a user shares a document via a cloud service (like a shared link with edit rights), they are exercising discretionary control.
06

Contrast with RBAC and ABAC

DAC differs fundamentally from other enterprise models:

  • vs. Role-Based Access Control (RBAC): RBAC assigns permissions to roles, not individual users or objects. Access is based on a user's job function, simplifying management in large organizations. DAC is object-owned; RBAC is administrator-managed.
  • vs. Attribute-Based Access Control (ABAC): ABAC makes decisions using policies that evaluate attributes of the user, resource, action, and environment (e.g., time > 9:00 AM). DAC decisions are based solely on static lists maintained by an owner, with no environmental context.
COMPARISON

DAC vs. Other Access Control Models

A technical comparison of Discretionary Access Control (DAC) against other primary access control models, highlighting their core mechanisms, governance, and typical enterprise use cases.

FeatureDiscretionary Access Control (DAC)Role-Based Access Control (RBAC)Mandatory Access Control (MAC)Attribute-Based Access Control (ABAC)

Governance Model

Decentralized (Resource Owner)

Centralized (Administrator)

Centralized (Security Policy)

Centralized (Policy Engine)

Primary Enforcement Mechanism

Access Control Lists (ACLs)

Role-Permission Assignments

Security Labels (e.g., Top Secret)

Policy Rules Evaluating Attributes

Permission Inheritance

Dynamic Context Evaluation

Typical Complexity

Low to Moderate

Moderate

High

Very High

Common Use Case

File Systems (Unix, Windows NTFS)

Enterprise Applications (ERP, CRM)

Military & Government Systems

Cloud APIs & Fine-Grained Services

Principle of Least Privilege Enforcement

Owner-Dependent

Role-Dependent

Policy-Enforced

Policy-Enforced

Auditability of Decisions

Moderate (Owner logs required)

High (Centralized role assignments)

High (Centralized policy logs)

High (Policy decision logs)

PERMISSION AND SCOPE MANAGEMENT

Frequently Asked Questions

Essential questions about Discretionary Access Control (DAC), the foundational security model where resource owners directly manage access permissions, commonly implemented in file systems and collaborative AI agent environments.

Discretionary Access Control (DAC) is an access control model where the owner of a resource (like a file, data object, or API endpoint) has the discretion to determine which other users or system processes can access it and what operations they can perform. It works by associating an Access Control List (ACL) with each resource. This list explicitly enumerates the identities (users, groups, roles) that are permitted or denied specific access rights, such as read, write, or execute. The owner can modify this list at their discretion, granting or revoking access without requiring intervention from a central security administrator. In AI agent systems, a DAC model might allow one agent, as the 'owner' of a tool's output, to grant another agent permission to read that data for further processing.

Prasad Kumkar

About the author

Prasad Kumkar

CEO & MD, Inference Systems

Prasad Kumkar is the CEO & MD of Inference Systems and writes about AI systems architecture, LLM infrastructure, model serving, evaluation, and production deployment. Over 5+ years, he has worked across computer vision models, L5 autonomous vehicle systems, and LLM research, with a focus on taking complex AI ideas into real-world engineering systems.

His work and writing cover AI systems, large language models, AI agents, multimodal systems, autonomous systems, inference optimization, RAG, evaluation, and production AI engineering.