Access Provisioning in Active Directory
Given Active Directory's foundational role in Windows based IT infrastructures, organizations often have a need to provision access to Active Directory's contents for various Active Directory integrated features and/or applications and Active Directory's powerful security model also enables organizations to efficiently and securely provision such access, and do so based on the principle of least privilege, thereby reducing the number of users that need to possess administrative access in Active Directory.
Access provisioning is implemented by granting a security principal (e.g. a group) specific permissions that are needed to perform specific actions on Active Directory contents, in the ACLs of Active Directory objects on which such access is required.
The following is a categorized list of some common access provisioning needs in Active Directory -
| Category . |
Required Access . |
How to Provision (i.e. what security permissions to grant in Active Directory ACLs) . |
User Account Management |
|
Allow Create Child User (bf967aba-0de6-11d0-a285-00aa003049e2) Allow Standard Delete or on parent: Allow Delete Child User (bf967aba-0de6-11d0-a285-00aa003049e2) Allow Extended Right Reset Password (00299570-246d-11d0-a768-00aa006e0529) Allow Write Property userAccountControl (bf967a68-0de6-11d0-a285-00aa003049e2) Allow Write Property lockoutTime (28630ebf-41d5-11d1-a9c1-0000f80367c1) Allow Write Property accountExpires (bf967915-0de6-11d0-a285-00aa003049e2) Allow Write Property userPrincipalName (28630ebb-41d5-11d1-a9c1-0000f80367c1) Allow Write Property sAMAccountName (3e0abfd0-126a-11d0-a060-00aa006c33ed) Allow Write Property sAMAccountName (3e0abfd0-126a-11d0-a060-00aa006c33ed) Allow Write Property userPrincipalName (28630ebb-41d5-11d1-a9c1-0000f80367c1) Allow Write Property logonHours (bf9679ab-0de6-11d0-a285-00aa003049e2) Allow Write Property userWorkstations (bf9679d7-0de6-11d0-a285-00aa003049e2) Allow Write Property scriptPath (bf9679a8-0de6-11d0-a285-00aa003049e2) Allow Write Property profilePath (bf967a05-0de6-11d0-a285-00aa003049e2) Allow Write Property jpegPhoto (bac80572-09c4-4fa9-9ae6-7628d7adbe0e) Allow Write Property altSecurityIdentities (00fbf30c-91fe-11d1-aebc-0000f80367c1) Allow Write Property givenName (f0f8ff8e-1191-11d0-a060-00aa006c33ed) Allow Write Property sn (bf967a41-0de6-11d0-a285-00aa003049e2) Allow Write Property department (bf96794f-0de6-11d0-a285-00aa003049e2) Allow Write Property title (bf967a55-0de6-11d0-a285-00aa003049e2) Allow Write Property physicalDeliveryOfficeName (bf9679f7-0de6-11d0-a285-00aa003049e2) Allow Write Property telephoneNumber (bf967a49-0de6-11d0-a285-00aa003049e2) Allow Write Property telephoneNumber (bf967a49-0de6-11d0-a285-00aa003049e2) Allow Write Property company (f0f8ff88-1191-11d0-a060-00aa006c33ed) Allow Write Property userAccountControl (bf967a68-0de6-11d0-a285-00aa003049e2) Allow Write Property userAccountControl (bf967a68-0de6-11d0-a285-00aa003049e2) Allow Write Property userAccountControl (bf967a68-0de6-11d0-a285-00aa003049e2) Allow Write Property userCertificate (bf967a7f-0de6-11d0-a285-00aa003049e2) Allow Write Property msDS-AllowedToDelegateTo (800d94d7-b7a1-42a1-b14d-7cae1423d07f) Allow Modify Permissions |
Note - To identify who is actually provisioned the above access in Active Directory, one needs to determine/calculate Active Directory Effective Permissions. For details, please note titled Important at the bottom of this page. | ||
Computer Account Management |
|
Allow Create Child Computer (bf967a86-0de6-11d0-a285-00aa003049e2) Allow Standard Delete or on parent: Allow Delete Child Computer (bf967a86-0de6-11d0-a285-00aa003049e2) Allow Extended Right Reset Password (00299570-246d-11d0-a768-00aa006e0529) Allow Write Property userAccountControl (bf967a68-0de6-11d0-a285-00aa003049e2) Allow Write Property sAMAccountName (11d0-a285-00aa003049e2) Allow Validated Write to DNS Host Name (72e39547-7b18-11d1-adef-00c04fd8d5cd) Allow Write Property machineRole (bf9679b2-0de6-11d0-a285-00aa003049e2) Allow Write Property userAccountControl (bf967a68-0de6-11d0-a285-00aa003049e2) Allow Validated Write to Service Principal Name (f3a64788-5306-11d1-a9c5-0000f80367c1) Allow Write Property altSecurityIdentities (00fbf30c-91fe-11d1-aebc-0000f80367c1) Allow Write Property msDS-AllowedToDelegateTo (800d94d7-b7a1-42a1-b14d-7cae1423d07f) Allow Modify Permissions |
Note - To identify who is actually provisioned the above access in Active Directory, one needs to determine/calculate Active Directory Effective Permissions. For details, please note titled Important at the bottom of this page. | ||
Security Group Management |
|
Allow Create Child Group (bf967a9c-0de6-11d0-a285-00aa003049e2) Allow Standard Delete or on parent: Allow Delete Child Group (bf967a9c-0de6-11d0-a285-00aa003049e2) Allow Write Property member (bf9679c0-0de6-11d0-a285-00aa003049e2) Allow Validated Write Add/Remove Self as Member (bf9679c0-0de6-11d0-a285-00aa003049e2) Allow Write Property groupType (9a9a021e-4a5b-11d1-a9c3-0000f80367c1) Allow Write Property groupType (9a9a021e-4a5b-11d1-a9c3-0000f80367c1) Allow Write Property mail (bf967961-0de6-11d0-a285-00aa003049e2) Allow Write Property description (bf967950-0de6-11d0-a285-00aa003049e2) Allow Write Property managedBy (0296c120-40da-11d1-a9c0-0000f80367c1) Allow Modify Permissions |
Note - To identify who is actually provisioned the above access in Active Directory, one needs to determine/calculate Active Directory Effective Permissions. For details, please note titled Important at the bottom of this page. | ||
Group Policy Management |
|
Allow Create Child Group Policy Container (f30e3bc2-9ff0-11d1-b603-0000f80367c1) Allow Standard Delete or on parent: Allow Delete Child GPC (f30e3bc2-9ff0-11d1-b603-0000f80367c1) Allow Modify Permissions |
Note - To identify who is actually provisioned the above access in Active Directory, one needs to determine/calculate Active Directory Effective Permissions. For details, please note titled Important at the bottom of this page. | ||
Service Connection Point (SCP) Management |
|
Allow Create Child Service Connection Point (28630ec1-41d5-11d1-a9c1-0000f80367c1) Allow Standard Delete or on parent: Allow Delete Child SCP (28630ec1-41d5-11d1-a9c1-0000f80367c1) Allow Write Property vendor (281416df-1968-11d0-a28f-00aa003049e2) Allow Write Property keywords (bf967993-0de6-11d0-a285-00aa003049e2) Allow Write Property description (bf967950-0de6-11d0-a285-00aa003049e2) Allow Write Property versionNumber (bf967a76-0de6-11d0-a285-00aa003049e2) Allow Write Property serviceBindingInformation (b7b1311c-b82e-11d0-afee-0000f80367c1) Allow Write Property serviceClassName (b7b1311d-b82e-11d0-afee-0000f80367c1) Allow Write Property serviceDNSName (28630eb8-41d5-11d1-a9c1-0000f80367c1) Allow Write Property serviceDNSNameType (28630eba-41d5-11d1-a9c1-0000f80367c1) Allow Modify Permissions |
Note - To identify who is actually provisioned the above access in Active Directory, one needs to determine/calculate Active Directory Effective Permissions. For details, please note titled Important at the bottom of this page. | ||
Published Printer Management |
|
Allow Create Child Print Queue (bf967aa8-0de6-11d0-a285-00aa003049e2) Allow Standard Delete or on parent: Allow Delete Child Print Queue (bf967aa8-0de6-11d0-a285-00aa003049e2) Allow Write Property description (bf967950-0de6-11d0-a285-00aa003049e2) Allow Write Property printShareName (ba305f68-47e3-11d0-a1a6-00c04fd930c9) Allow Modify Permissions |
Note - To identify who is actually provisioned the above access in Active Directory, one needs to determine/calculate Active Directory Effective Permissions. For details, please note titled Important at the bottom of this page. | ||
OU & Container Management |
|
Allow Create Child Organizational Unit (bf967aa5-0de6-11d0-a285-00aa003049e2) Allow Standard Delete or on parent: Allow Delete Child Organizational Unit (bf967aa5-0de6-11d0-a285-00aa003049e2) Allow Create Child Container (bf967a8b-0de6-11d0-a285-00aa003049e2) Allow Standard Delete or on parent: Allow Delete Child Container (bf967a8b-0de6-11d0-a285-00aa003049e2) Allow Write Property description (bf967950-0de6-11d0-a285-00aa003049e2) Allow Write Property description (bf967950-0de6-11d0-a285-00aa003049e2) See Note 2 below See Note 2 below Allow Extended Right Generate Resultant Set of Policy (Logging) (b7b1b3de-ab09-4242-9e30-9980e5d322f7) Allow Extended Right Generate Resultant Set of Policy (Planning) (b7b1b3dd-ab09-4242-9e30-9980e5d322f7) Allow Modify Permissions Allow Modify Permissions |
Note - To identify who is actually provisioned the above access in Active Directory, one needs to determine/calculate Active Directory Effective Permissions. For details, please note titled Important at the bottom of this page. | ||
Domain Management |
|
See Note 3 below Allow Extended Right Replication Synchronization (1131f6ab-9c07-11d1-f79f-00c04fc2dcd2) Allow Extended Right Manage Replication Topology (1131f6ac-9c07-11d1-f79f-00c04fc2dcd2) Allow Extended Right Monitor Active Directory Replication (f98340fb-7c5b-4cdb-a00b-2ebdfa115a96) Allow Extended Right Create Inbound Forest Trust (e2a36dc9-ae17-47c3-b58b-be34c55ba633) Allow Modify Permissions |
Note - To identify who is actually provisioned the above access in Active Directory, one needs to determine/calculate Active Directory Effective Permissions. For details, please note titled Important at the bottom of this page. | ||
-
Notes -
The table above lists the Ldap-Display-Names of various object classes and properties (attributes), as as opposed to their CNs
This provisioning requires two ACEs: Allow Write Property gPLink (f30e3bbe-9ff0-11d1-b603-0000f80367c1) + Allow Write Property gPOptions (f30e3bbf-9ff0-11d1-b603-0000f80367c1)
This provisioning requires two ACEs: Allow Extended Right Replicating Directory Changes (1131f6aa-9c07-11d1-f79f-00c04fc2dcd2) + Allow Extended Right Replicating Directory Changes All (1131f6ad-9c07-11d1-f79f-00c04fc2dcd2)
Important - Access provisioning in Active Directory is also straightforward, easy and can be done with precision. However, assessing who is provisioned what access in Active Directory is not quite as easy or straightforward, because there invariably also exist other security permissions in the ACLs of the same Active Directory objects, and they could influence the resulting access on these objects, and as a result (intentionally or otherwise) end up either denying access to provisioned security principals and/or granting similar access to others as well, which is why assessing, auditing and/or verifying provisioned access in Active Directory requires the calculation of Active Directory Effective Permissions on all objects in the scope of provisioned access.