72 lines
2.9 KiB
Markdown
72 lines
2.9 KiB
Markdown
---
|
|
title: Active Directory
|
|
---
|
|
|
|
## Preparation
|
|
|
|
The following placeholders will be used:
|
|
|
|
- `ad.company` is the Name of the Active Directory domain.
|
|
- `authentik.company` is the FQDN of the authentik install.
|
|
|
|
## Active Directory setup
|
|
|
|
1. Open Active Directory Users and Computers
|
|
|
|
2. Create a user in Active Directory, matching your naming scheme
|
|
|
|
![](./01_user_create.png)
|
|
|
|
3. Give the User a password, generated using for example `pwgen 64 1` or `openssl rand -base64 36`.
|
|
|
|
4. Open the Delegation of Control Wizard by right-clicking the domain and selecting "All Tasks".
|
|
|
|
5. Select the authentik service user you've just created.
|
|
|
|
6. Ensure the "Reset user password and force password change at next logon" Option is checked.
|
|
|
|
![](./02_delegate.png)
|
|
|
|
7. Grant these additional permissions (only required when _Sync users' password_ is enabled, and dependent on your AD Domain)
|
|
|
|
![](./03_additional_perms.png)
|
|
|
|
Additional info: https://support.microfocus.com/kb/doc.php?id=7023371
|
|
|
|
## authentik Setup
|
|
|
|
In authentik, create a new LDAP Source in Directory -> Federation & Social login.
|
|
|
|
Use these settings:
|
|
|
|
- Server URI: `ldap://ad.company`
|
|
|
|
For authentik to be able to write passwords back to Active Directory, make sure to use `ldaps://`. You can test to verify LDAPS is working using `ldp.exe`.
|
|
|
|
You can specify multiple servers by separating URIs with a comma, like `ldap://dc1.ad.company,ldap://dc2.ad.company`.
|
|
|
|
When using a DNS entry with multiple Records, authentik will select a random entry when first connecting.
|
|
|
|
- Bind CN: `<name of your service user>@ad.company`
|
|
- Bind Password: The password you've given the user above
|
|
- Base DN: The base DN which you want authentik to sync
|
|
- Property mappings: Control/Command-select all Mappings which start with "authentik default LDAP" and "authentik default Active Directory"
|
|
- Group property mappings: Select "authentik default LDAP Mapping: Name"
|
|
|
|
Additional settings that might need to be adjusted based on the setup of your domain:
|
|
|
|
- Group: If enabled, all synchronized groups will be given this group as a parent.
|
|
- Addition User/Group DN: Additional DN which is _prepended_ to your Base DN configured above to limit the scope of synchronization for Users and Groups
|
|
- User object filter: Which objects should be considered users. For Active Directory set it to `(&(objectClass=user)(!(objectClass=computer)))` to exclude Computer accounts.
|
|
- Group object filter: Which objects should be considered groups.
|
|
- Group membership field: Which user field saves the group membership
|
|
- Object uniqueness field: A user field which contains a unique Identifier
|
|
|
|
After you save the source, a synchronization will start in the background. When its done, you can see the summary under Dashboards -> System Tasks.
|
|
|
|
![](./10_ak_status.png)
|
|
|
|
To finalise the Active Directory setup, you need to enable the backend "authentik LDAP" in the Password Stage.
|
|
|
|
![](./11_ak_stage.png)
|