Our Approach to User Groups & Permission


Hi Readers,

In this post, I will go through the approach we have used to configure user groups & permissions.

Big thanks to Mohammed Harunani for his contribution into the post (Mohammed - Linked In).

 

1. Collect user data from client

We collect the user data from the client in form of an excel file in sample format below

Name Email License Type Role Department Company Responsibilities
John Doe john.doe@bladeinc.com Full User Procurement Assistant Supply Chain Blade Inc.

Monitoring stock levels,Tracking purchase orders,Receipt of goods into organizations,Researching vendors

Ann May ann.may@bladeinc.com Full User Procurement Assistant Supply Chain Blade Inc.

 

Monitoring stock levels,Tracking purchase orders,Receipt of goods into organizations,Researching vendors

 

Emily Watson emily.watson@bladeinc.com Limited User Business Development Exceutive Sales Blade Inc.

Getting new leads,Identify new opportunities,Creating a sales pipeline,Providing quotes

Frank Hammond frank@bladeinc.com Full User Accountant Finance Blade Inc.

Posting Journal Entries,Invoicing vendors

John Shaw johnshaw@bladeinc.com Full User Senior Accountant Finance Blade Inc.

Preparation of financial statements, Preparation of tax documents,Bank reconciliations, Manage payroll

 

2. Grouping similar user with functions into user groups

Based on above we will have group the users with similar functions into user groups. In our case we will have four user groups as below:

Name Role User Group
John Doe Procurement Assistant PROC-ASSISTANT
Ann May Procurement Assistant PROC-ASSISTANT
Emily Watson Business Development Exceutive BUS-DEVT
Frank Hammond Accountant ACCOUNTANT
John Shaw Senior Accountant SEN-ACCOUNTANT

 

3. Create user groups/security groups in the system

A. User Groups

We create the user groups based on the above grouping in the system

 

B. Security Groups

PS: In BC 22 ( Release Wave 1 2023), security groups were introduced as a replacement for user groups

 

i. SaaS

A security group will need to be created in the Microsoft admin center

 

Read more from Microsoft website - How to add, edit & delete security groups - Microsoft

In Business Central, search for security groups and click on new. Pick the security group from the Microsoft Entra security groups field as shown below.

The security groups created in the admin center should be available

 

ii. On-Prem

For on-premises, security groups are only supported if the deployment is using Windows authentication. To create security groups for on-premises, use Windows Active Directory groups. Choose the group in the Windows group name field as shown below

4. Create Permission Sets and assign to User Groups/ Security Groups

A. BC 21 ( Release Wave 2 2022) and above

In BC 21, Microsoft added the ability to add permissions to permission sets. Rather than adding permissions individually, you can add entire permission sets.

This means we can create a permission set for a user group and add all the related permissions inside the permission set.

The permission sets will be created as follows (Type marked as User-Defined).

 

Click on Permissions at the top. For this example, i will use the PROC-ASSISTANT permission.

 

The improved Permission Set page is as shown below.

The permission required can be added on permission set section on the bottom left as seen below.

 

The permission set can then be assigned to the user group/security group

User Group

In the User Group List, click on Permissions at the top for the user group you wish to assign permissions to.

Pick the permission from the permission set list.

 

Security Group

In the Security Group List, click on Permissions at the top for the user group you wish to assign permissions to.

 

Assign the permission set to that security group.

B. BC 20 ( Release Wave 1 2022) and below

In this versions, the permission set did not have the ability to be grouped together in a single permission set. Example below for Accountant User Group.

All the permissions required are added on the User Group Permission Sets of the specific user group as opposed to adding the single permission set in BC 21 and above.

5. Additional tables required during implementation (optional)

Sometimes after implementation, you may want to give read, insert, modify or delete access of a certain table to a specific user group depending on your situation

A. BC 21 ( Release Wave 2 2022) and above

For example, the procurement assistant has had  the ability to maintain the item categories master list delegated to them. Therefore, they would require ability to modify, insert and delete that table.

In the permission set, add the table in the Permissions section as shown below.

You can assign the read, insert, modify and delete permissions as per the scenario required.

 

You can add more tables if required.

B. BC 20 ( Release Wave 1 2022) and below

Create a new permission set with suffix of ADD to indicate additional table for that user group. Click on permissions at the top and add the tables similar to the example above

 

Add the permission to the already existing standard user group permission sets of that user group. If you require any additional tables, you can keep on adding into the created permission set.

 

6. Restrict access during implementation (optional)

During implementation, you may be required to restrict access to certain data. e.g for the chart of accounts.

For our procurement, our instruction was they should not be able to view the list of chart of accounts, customers and fixed assets. I will check the page numbers for the list.

Chart of Accounts - Chart of Accounts (16, List)

Customers - Customer List (22, List)

Fixed Assets - Fixed Asset List (5601, List)

 

A. BC 21 ( Release Wave 2 2022) and above

In the permission section, I will use the Type : Exclude  with the Object Type : Page  and pick the page numbers of what I intend to restrict as seen below.

This will ensure that when the user searches for Chart of Account, it will be hidden to the user.

You can identify other sensitive pages to hide e.g Customer Ledger Entries, General Ledger Entries among others.

 

B. BC 20 ( Release Wave 2 2022) and below

The function to restrict access like above is not available below BC 20 standard.

You can explore options : customization, use of security filters (Security Filters - Microsoft) or a workaround i had used but requires alot of manual work.

i. Copy the D365 Basic Permission.

ii. Edit the D365 Basic Permission. and remove the Page 0 permission which grants access to all pages

iii. Create a D365 Pages Basic Permission without all the sensitive pages.

iv. Create various Pages Permission Set e.g Customer Pages Permission Set with access to pages for customer data e.g Customer, Customer Ledger Entries, Detailed Ledger Entries etc

v. Assign to the various user groups as per restriction.

 

7. Assign users to the user groups/security groups

User Groups

On the user groups list, click on Members at the top after selecting the specific user group.

Click on Add Users.

Pick the user from the list and click on OK. They will be populate as below.

If you have several companies, you can change the company and add users also.

 

You can also add user group membership on the user card and the applicable company. Blank Company means access to all companies.

Security Groups

The members pick automatically from the Admin center/Windows.

 

This marks the end of the approach I use to user groups and permission sets.