topic hubAdministration & Setupofficial - Microsoftreviewed - checked by Opus

Permission sets and entitlements overview

Permission sets and entitlements in Business Central AL development: defining permission set and entitlement objects, composing and extending permission sets, setting object permissions, inherent permissions, exporting to XML, upgrading from legacy permissions, and analyzing permission telemetry.

Path: Development > Programming in the AL language > Handling security > Permission sets and entitlements overview · tier official · system administration · narrative reviewed (checked by Opus)

Overview

This area explains how access is controlled in Business Central from the AL developer side. Entitlements define what a customer’s license or Microsoft Entra role allows. Permissions are assigned by administrators, and permission sets group them logically. The overview page “Entitlements and permission sets overview” explains these differences and covers upgrade considerations from versions before 18.0.

The authoring pages cover the Permission set object, the Permission Set Extension object, composing sets from other sets, permissions on objects, inherent permissions, and the Entitlement object. Two further pages cover exporting permission sets to XML and upgrading from legacy data-based permissions to AL object-based permissions.

Three telemetry pages cover auditing and troubleshooting: permission changes, permission errors, and permission dependency cycles. Start with the overview page, then read the Permission set object and Permissions on Objects pages. Use the telemetry pages when diagnosing problems.

Key points

  • Entitlements give license-based access, permissions are assigned by administrators, and permission sets are logical groups of permissions.
  • Permission set objects use the Assignable, Permissions, IncludedPermissionSets and ExcludedPermissionSets properties. Sets can be composed hierarchically, and some can be nonassignable.
  • Permission set extension objects add permissions to existing sets, and the permissions are applied automatically when the extension is installed.
  • Permissions on objects cover read, insert, modify, delete and execute, with direct and indirect permissions, abbreviations and wildcards.
  • The inherentpermissions attribute gives specific AL methods or events temporary elevated permissions without changing user permission sets.
  • Entitlement objects (2023 release wave 2) support role-based, per-user plan, unlicensed, Microsoft Entra group and application scope entitlements, and support Marketplace app monetization.
  • Permission sets can be exported to XML and packaged into extensions. Visual Studio Code can generate permission set XML with default permissions for extension objects.
  • Upgrading from legacy data-based permissions to AL object-based permissions involves identifying customizations and creating new Permission Set and Permission Set Extension objects (versions 18 and 19).

Learn pages

Videos, posts and code changes

Linked by a Haiku matcher with a grounding quote from the item’s summary (link/topics.ts); machine-generated.

Source: Microsoft Learn (CC BY 4.0). Descriptions are Learn’s own.

What Learn documents here 8 of 14 Learn pages

Show 6 more