Dataverse Security Roles Explained: Privileges, Access Levels, and How to Design Them for Scale

Security roles are the main mechanism Dataverse uses to control who can do what with data. This article explains how roles, privileges, and access levels work in practice.

Image of the author Jerry Johansson
Jerry Johansson
Published: February 8, 2026
6~ minutes reading

    Why Security Roles Matter in Dataverse

    Dataverse security is not a single setting. Typically, access is determined by identity and environment configuration, plus Dataverse controls such as security roles, business units, ownership, sharing, and column-level security.

    This matters because many low-code security failures do not happen because a table privilege was misconfigured. They happen because teams overlook upstream access paths like app sharing, automation connections.

    Copilot and agent experiences (for example Copilot Studio) that can reach Dataverse through configured actions and connectors, and connector-driven data movement. While security roles are primary, effective access also requires business units, teams, ownership, and sharing.

    What is a Dataverse Security Role?

    A security role is a packaged set of permissions that defines how a user (or team) can access records and what operations they can perform. Microsoft’s admin documentation frames it simply: assign users to security roles to control access to restricted and sensitive data and resources, and define how different users access different record types. Two key points:

    1. Users can have multiple security roles, and role privileges are cumulative. Effective access is additive, and Dataverse applies the least restrictive permission across the roles and related entitlements.
    2. In real deployments, security roles are not just an IT control. They ensure permissions stay consistent across apps, flows, and integrations that use the same tables.

    The Core Mechanics: Privileges and Access Levels

    When you design security in Dataverse, it helps to see roles as the combination of two core building blocks that work together to control both user actions and data visibility.

    Privileges define what a user is allowed to do in the system. These permissions cover actions such as create, read, write, delete, append, append to, assign, and share, depending on the table and the role configuration.

    Access levels define how far those privileges extend across the data. They determine the scope of records the user can act on, from only their own records, to records within their business unit, and up to the entire organization.

    Privileges: What can someone do?

    At the table level, Dataverse security roles commonly use these eight privileges: Create, Read, Write, Delete, Append, Append To, Assign, Share.

    Microsoft’s admin documentation clarifies what this means in day-to-day terms (including the commonly confused relationship privileges):

    PrivilegeWhat it enables (practical meaning)
    CreateMake a new record
    ReadOpen/view an existing record
    WriteEdit an existing record
    DeleteRemove a record
    AppendAttach another record (for example, an activity or note) to the current record.
    Append ToAllow another record to be attached to the current record.
    AssignReassign ownership of a record to another user/team
    ShareGrant another user access while keeping your own access

    Dataverse roles also include non-table privileges. Microsoft groups role privileges into three broad types:

    • Tables (record-level privileges)
    • Miscellaneous privileges (non-record tasks such as publishing articles or activating business rules)
    • Privacy-related privileges (tasks involving export/print/download outside Dataverse)

    At scale, this shows up when you can “get table permissions right” and still create risk if privacy-related privileges (like export) are too broad for sensitive processes.

    Access levels: How far do those privileges reach?

    Privileges alone do not tell you the scope. Each privilege is assigned an access level, which determines how deep in the business unit hierarchy the user can perform that action. Microsoft’s role editor uses these access levels:

    Access levelWhat it means
    OrganizationAccess all records across the organization; should be restricted to match the data security plan
    Parent: Child Business UnitAccess records in the user’s business unit and subordinate business units
    Business UnitAccess records within the user’s business unit
    UserAccess records the user owns (plus records shared with them, their teams, or the organization)
    NoneNo access

    Developer documentation adds a useful nuance: access levels apply differently depending on record ownership. Some tables are organization-owned (access is effectively all or nothing), while others are owned by users or teams (“security principals”) and therefore use business-unit scoping concepts.

    How Roles Work in Practice: Business Units, Ownership, Teams, and Sharing

    A role definition is only part of the picture. In practice, Dataverse record access is shaped by multiple inputs working together.

    Security roles and access levels provide the baseline. Business unit context and team memberships can expand or constrain that baseline. On top of that, records shared directly with a user or with one of their teams can grant access beyond what roles alone would allow.

    Business units are security boundaries

    Business units are a core building block in Dataverse security modeling. They define a boundary inside a Dataverse database and work with security roles to determine effective access.

    In practice, business units are often defined as security boundaries that make it easier to apply consistent rules at scale, rather than mirroring an organization chart one-on-one.

    This matters because the same role can behave differently depending on business unit assignment and hierarchy. If your operating model requires segmentation (regions, divisions, client portfolios), business units are usually where you express that segmentation cleanly.

    Ownership is a governance decision

    Table ownership is not only a technical choice; it defines how accountability works and who can access records. As a practical rule, use user- or team-owned tables for work that has a clearly accountable owner.

    Use organization-owned tables for shared reference data where access should be consistent across the business.

    Because ownership directly interacts with access levels (User/BU/Org), you should plan it early during table design rather than trying to change it after apps are already live.

    Teams make role assignment scalable

    Teams are the administration layer that makes security scalable. Rather than assigning roles one user at a time, you assign roles to teams and manage membership through Microsoft Entra ID.

    At scale, use Microsoft Entra group teams so team record ownership and membership update automatically as users join or leave. This keeps role assignment consistent as people join, move, or leave without creating manual drift.

    Sharing should be the exception, not the default

    Sharing is additive and enables collaboration when role-based and ownership-based access are not sufficient. But it should remain an exception mechanism, not the primary access strategy.

    The Business Value: Security Roles As An Enabler, Not A Blocker

    When implemented well, security roles reduce risk while speeding adoption.

    • Fewer leakage routes by default. Security roles control access inside Dataverse. DLP policies add Power Platform guardrails by defining which connectors are enabled in an environment. They also define which connectors can be used together in an app or flow.
    • Policy-driven protection of sensitive fields. Column-level security can restrict sensitive columns to the users or teams assigned to the appropriate column security profiles, even when those users can access the same records through standard roles.
    • Faster investigations when something changes unexpectedly. With Dataverse auditing enabled for critical tables, teams can review audit history for user activity and data changes to support investigations and compliance workflows.

    For leaders, the takeaway is simple: roles are not “extra admin work.” They are a prerequisite for scaling apps and automation without turning operational data into an uncontrolled asset.

    Build A Security Model You Can Scale

    Dataverse security roles work when you treat them as a designed model, not a set of one-off permissions. For readers who need the broader foundation of Dataverse, check our dedicated whitepaper Microsoft Dataverse Explained: Build a Trusted Data Foundation for Apps, Automation, and AI.

    If you want help designing a least privilege role model, aligning business unit strategy, and validating your apps, contact us. We can run a focused security and governance review and map a practical rollout plan that balances quick wins with control.

    Image of the author

    Jerry Johansson

    Technical Writer & IT Consultant

    Jerry Johansson is a technical writer and IT consultant who makes complex technology understandable – and practical. He helps organisations turn digital tools into everyday value.

    Menu