Dataverse Table Ownership & Security Permissions
Dataverse Table Ownership & Security Permissions
Clear explanation of ownership types and permission scopes (organization vs user/team)
1. Organization‑Owned Tables
Records are owned by the organization, not by users or teams. Row-level scopes (User / BU / Parent:Child BU) are not available.
- None - no user can perform the action
- Organization - every user with the privilege can act on all records
2. User or Team‑Owned Tables
Each record has an explicit owner (a user or a team). This enables row-level security with multiple scopes available to security roles.
- None - no access
- User - only records the user owns (created or assigned)
- Business Unit - records owned by anyone in the same BU
- Parent:Child Business Units - records owned in the user’s BU and all child BUs
- Organization - all records across the environment
Scope-by-scope examples
User: If Read = User, a user sees only records they own.
Example: Sunil creates a record → only Sunil can view it.
Business Unit: If Read = Business Unit, all users in that BU can view records owned by any BU member.
Example: BU1 has 5 users - they can see each other's records.
Parent:Child BU: If Read = Parent:Child BU, users in a parent BU can see records in their BU and child BUs.
Example: BU1 (parent) sees BU1A & BU1B records.
Organization: If Read = Organization, all users can view all records.
None: If Read = None, the user cannot see records (even their own).
Quick Summary
| Ownership Type | Available Scopes | Notes |
|---|---|---|
| Organization‑owned | None / Organization | Use for global reference data and settings. No row-level security. |
| User/Team‑owned | None / User / BU / Parent:Child BU / Organization | Use for operational data where ownership & BU boundaries matter. |
Why it matters: Ownership decides which permission scopes you can use and whether row-level security is possible. Choose ownership carefully during design because changing it later is complex.
Comments
Post a Comment