LDAP
LDAP is a network protocol for reading and changing hierarchical directory data. Applications use it to find entries such as people, groups, devices, and services through a shared schema and namespace.
itIdentity, access, and cryptography | OpenSkills.info
Course pathWalk it in order
Look it upDip in anytime
Go furtherLeaves this page
Intro
LDAP, the Lightweight Directory Access Protocol, lets a client read and change entries in a directory service. A directory holds attribute-based records in a hierarchy. It is commonly used for identity data, address books, device inventories, application configuration, and other information that is searched more often than it is changed.
LDAP is a protocol, not a particular database or identity product. OpenLDAP, 389 Directory Server, ApacheDS, Microsoft Active Directory Domain Services, and commercial directory servers expose LDAP while making different choices about storage, replication, administration, and extensions. An application can also use LDAP only as an integration interface to a larger identity system.
The directory information tree
LDAP organizes entries into a directory information tree, or DIT. Each entry has a distinguished name, or DN, that identifies its position. This example names a person below an organizational unit and a domain:
uid=maya,ou=people,dc=example,dc=com
The leftmost component is the relative distinguished name, or RDN, of the entry. The remaining components name its ancestors. DNs are identifiers and paths through the namespace; they are not ordinary display strings. Special characters must be escaped according to the DN string rules.
An entry contains attributes. Each attribute has a type and one or more values. A person entry might contain uid, cn, sn, and mail. Operational attributes hold server-managed information such as timestamps or entry identifiers. Clients usually receive user attributes by default and request operational attributes explicitly.
Schema gives those attributes meaning. Attribute types define syntax and matching behavior. Object classes state which attributes an entry must or may contain. A structural object class describes the main kind of entry, while auxiliary object classes add characteristics. Schema validation prevents a directory from becoming an arbitrary collection of incompatible records.
Continue the course
This section is part of the paid course.
See pricing to subscribe, or log in if you already have access.
Where this skill leads
Relevant careers
See how this topic contributes to broader role-level skill maps.
Sources
- https://www.rfc-editor.org/rfc/rfc4510.html
Supports
- LDAP technical specification structure and relationship among RFC 4511 through RFC 4519
- Reference path and 2006 timeline milestone
- https://www.rfc-editor.org/rfc/rfc4511.html
Supports
- Client-server model, message identifiers, connections, operations, results, referrals, controls, limits, and errors
- Course mental model and quiz answers about operations, scope, limits, and uncertain outcomes
- https://www.rfc-editor.org/rfc/rfc4512.html
Supports
- Entries, attributes, DNs, RDNs, DIT, naming contexts, schema, object classes, matching rules, and Root DSE
- Course data model and quiz answer about names
- https://www.rfc-editor.org/rfc/rfc4513.html
Supports
- Anonymous, simple, and SASL authentication, TLS, authorization identity, and security considerations
- Security layers, credential protection, and authorization quiz answer
- https://www.rfc-editor.org/rfc/rfc4514.html
Supports
- Distinguished-name string representation and escaping
- DN examples and quiz answer about the RDN
- https://www.rfc-editor.org/rfc/rfc4515.html
Supports
- Search-filter text grammar, Boolean composition, assertion forms, and value encoding
- Filter examples, input-safety guidance, and quiz answer
- https://www.rfc-editor.org/rfc/rfc4516.html
Supports
- LDAP URL components and referral destinations
- Referral trust-boundary quiz answer
- https://www.rfc-editor.org/rfc/rfc4519.html
Supports
- Common user-application schema elements and attribute types
- Entry and schema examples
- https://www.rfc-editor.org/rfc/rfc2849.html
Supports
- LDIF entries, change records, line folding, and Base64 value representation
- Protocol comparison and reference-link rationale
- https://www.rfc-editor.org/rfc/rfc2696.html
Supports
- Simple paged-results control, page size, opaque cookie, completion, and changing-result behavior
- Paging cheatsheet, quiz answer, and 1999 timeline milestone
- https://www.rfc-editor.org/rfc/rfc4533.html
Supports
- LDAP Content Synchronization refresh and persistent synchronization modes
- Replication discussion, quiz answer, and implementation context
- https://www.openldap.org/doc/admin26/
Supports
- Directory use cases and limits, server architecture, configuration, schema, security, access control, operations, monitoring, and maintenance
- Course operational guidance and official reference path
- https://www.openldap.org/doc/admin26/security.html
Supports
- Network protection, authentication, authorization, access controls, and security properties
- Security guidance and authorization quiz answer
- https://www.openldap.org/doc/admin26/replication.html
Supports
- Provider-consumer terminology, syncrepl, topology, refresh, persistence, and replica behavior
- Failure discussion and replication quiz answer
- https://www.rfc-editor.org/info/rfc1487/
Supports
- X.500 LDAP publication in July 1993 and original lightweight-access purpose
- First timeline event
- https://www.rfc-editor.org/info/rfc1777/
Supports
- Revised LDAP publication in March 1995 and defined operations
- Second timeline event
- https://www.rfc-editor.org/info/rfc2251/
Supports
- LDAPv3 publication in December 1997 and extensible protocol structure
- Third timeline event
- https://www.openldap.org/software/roadmap.html
Supports
- OpenLDAP 1.0 release in August 1998
- OpenLDAP timeline event and Landscape placement
- https://www.rfc-editor.org/info/rfc2830/
Supports
- StartTLS publication in May 2000 and its confidentiality, integrity, and authentication goals
- Timeline event
- https://www.rfc-editor.org/info/rfc3377/
Supports
- LDAPv3 technical specification publication in September 2002
- Timeline event
- https://github.com/sindresorhus/awesome
Supports
- Discovery path to curated infrastructure and identity awesome lists
- https://github.com/awesome-foss/awesome-sysadmin
Supports
- Discovery of 389 Directory Server, ApacheDS, FreeIPA, LLDAP, OpenLDAP, and LDAP Account Manager
- Selection of ecosystem entries for Awesome Links
- https://www.port389.org/docs/389ds/documentation.html
Supports
- Deployment, administration, replication, security, performance, and troubleshooting scope
- Awesome Links rationale and Landscape placement
- https://www.port389.org/
Supports
- Open-source directory-server role and multi-supplier replication
- Landscape classification
- https://directory.apache.org/apacheds/
Supports
- ApacheDS LDAPv3, Java, embeddable, schema, LDIF configuration, and replication characteristics
- Awesome Links rationale and Landscape placement
- https://www.freeipa.org/page/Documentation
Supports
- FreeIPA administration and architecture study path
- Awesome Links rationale
- https://www.freeipa.org/page/Directory_Server
Supports
- 389 Directory Server as FreeIPA's LDAP data foundation for identity, policy, configuration, and certificates
- Awesome Links rationale and Landscape placement
- https://github.com/lldap/lldap
Supports
- Reduced LDAP feature scope, web administration, GraphQL, and self-hosted integration purpose
- Awesome Links rationale
- https://ldap-account-manager.org/lamcms/documentation
Supports
- Web administration of LDAP-backed users, groups, and related entry types
- Awesome Links rationale
- https://learn.microsoft.com/en-us/windows-server/identity/ad-ds/get-started/virtual-dc/active-directory-domain-services-overview
Supports
- Hierarchical directory data, LDAP and DNS standards, query, indexes, schema, global catalog, and domain-controller replication
- Landscape placement for Active Directory Domain Services
- https://learn.microsoft.com/en-us/entra/identity/domain-services/overview
Supports
- Managed LDAP and secure LDAP, Kerberos, NTLM, domain join, synchronization, and write behavior
- Landscape placement for Microsoft Entra Domain Services
- https://www.microsoft.com/en-us/security/pricing/microsoft-entra-ds/
Supports
- Paid managed-service classification for Landscape
- https://www.pingidentity.com/en/product/pingdirectory.html
Supports
- LDAPv3 directory, REST access, synchronization, proxy, identity-profile storage, and availability roles
- Landscape placement for PingDirectory
- https://www.oracle.com/security/identity-management/directory-services/
Supports
- LDAP directory server, proxy, synchronization, virtualization, deployment, and scaling roles
- Landscape placement for Oracle Unified Directory
