Skip to main content

On-prem Active Directory: Permissions

R
Written by Riya Sebastian
Updated over 3 weeks ago

Customers need to set up a webhook based on their Active Directory (AD) environment on premise to perform actions from Atomicwork. This guide explains the process, required permissions, and endpoint configuration.

Understanding the Webhook Requirement

  • The webhook must be provided by the customer as per their AD setup.

  • The endpoint and API will vary for each customer.

  • The webhook requires access control, meaning specific permissions need to be granted to Atomicwork.

Steps to Configure the Webhook

Step 1: Identify the Webhook Endpoint

Customers should determine the appropriate endpoint within their AD environment. This typically follows Microsoft’s documented process for setting up webhooks with external services.

Step 2: Grant Necessary API Permissions

To enable Atomicwork to interact with AD for provisioning or synchronization tasks, customers must:

  • Grant access to the Inbound Provisioning API in Microsoft Entra ID.

  • Configure API permissions to allow external services (like Atomicwork) to provision users and sync data securely.

  • Follow Microsoft's access control guidelines.

Step 3: Configure the Webhook and Synchronization Settings

Depending on the customer's AD setup, they may need to:

Step 4: Provide Endpoint Details to Atomicwork

Once the webhook is set up and permissions are granted, customers must share:

  • The webhook URL

  • Any authentication credentials or tokens required

  • The expected request format (if customized)

Step 5: Test and Validate

Atomicwork will send test requests to confirm that the integration is working correctly. Any required adjustments can be made at this stage.

Additional Resources

OnPrem AD Permissions for Atomicwork

Permission

Description

Workflows / Actions

Permission Type

User.ReadWrite

Read and update signed-in user's profile

Allows users to manage their own account data (e.g., profile updates). Useful for self-service portals.

Delegated

User.Read.All

Read all user profiles in the directory

Required for reporting, auditing, or apps that list users. Needed for read-only access across org users.

Application

User-LifeCycleInfo.ReadWrite.All

Read and write user lifecycle info (e.g., hire date)

Enables automation of onboarding/offboarding processes; required for HR integrations.

Application

User-Mail.ReadWrite.All

Read and write access to all users' mailboxes

Used for migration tools, compliance archiving, or automated email access by apps or services.

Application

User-PasswordProfile.ReadWrite.All

Reset passwords and manage user password settings

Required for password reset workflows, helpdesk tools, or automation of account recovery processes.

Application

User-Phone.ReadWrite.All

Read and update users' phone numbers

Enables management of MFA contact info, user phone sync from HR systems, or mobile-based workflows.

Application

User.EnableDisableAccount.All

Enable or disable user accounts

Critical for access control automation – e.g., disabling leavers or suspending compromised accounts.

Application

User.ManageIdentities.All

Manage user identities and federated/external identities

Used in B2B/B2C apps, federated identity systems, or hybrid AD setups. Enables complex identity tasks.

Application

Additional permissions for removing users from Azure AD

  • Your personal Microsoft account must be tied to a Microsoft Entra tenant to update your profile with the User.ReadWrite delegated permission on a personal Microsoft account.

  • To update the employeeLeaveDateTime property:

    • In delegated scenarios, the admin needs the Global Administrator role; the app must be granted the User.Read.All and User-LifeCycleInfo.ReadWrite.All delegated permissions.

    • In app-only scenarios with Microsoft Graph permissions, the app must be granted the User.Read.All and User-LifeCycleInfo.ReadWrite.All permissions.

  • To update the customSecurityAttributes property:

    • In delegated scenarios, the admin must be assigned the Attribute Assignment Administrator role and the app granted the CustomSecAttributeAssignment.ReadWrite.All permission.

    • In app-only scenarios with Microsoft Graph permissions, the app must be granted the CustomSecAttributeAssignment.ReadWrite.All permission.

  • User-Mail.ReadWrite.All is the least privileged permission to update the otherMails property.

  • User-PasswordProfile.ReadWrite.All is the least privileged permission to update the passwordProfile property.

  • User-Phone.ReadWrite.All is the least privileged permission to update the businessPhones and mobilePhone properties.

  • User.EnableDisableAccount.All + User.Read.All is the least privileged combination of permissions to update the accountEnabled property.

  • User.ManagedIdentities.All is required to update the identities property.

As part of our SCIM-based provisioning integration, attribute mapping in the Microsoft Entra setup may prevent users from being provisioned into the correct Organizational Unit (OU) in on-premises Active Directory.

Request:

To enable OU-specific provisioning from our SCIM payload, please update the attribute mapping for parentDistinguishedName as follows?

  • On-Prem AD Attribute: parentDistinguishedName

  • API Attribute: urn:microsoft:onprem.distinguishedName

This change will ensure Microsoft Entra correctly reads the OU we pass in the SCIM payload and places the user accordingly.

Screenshot 2025-05-02 at 1.31.42 PM.png
Screenshot 2025-05-02 at 1.32.01 PM.png
Did this answer your question?