ldap
Charms
Developer documentation
Usage
This relation interface describes the expected behavior of any charm claiming to be able to provide or consume the LDAP authentication configuration data.
Glossary of LDAP Terms
| Abbreviation | Term | |:------------:|:--------------------------:| | DN | Distinguished Name | | DIT | Directory Information Tree |
Direction
Behavior
Both the provider
and the requirer
need to adhere to a certain set of
criteria to be considered compatible with the ldap
interface.
Sensitive information is transmitted through Juju Secrets rather than directly through the relation databag(s).
Provider
- Is expected to use
user
andgroup
provided by therequirer
to create a bind DN in the DIT for therequirer
to use for thebind
operation. If therequirer
does not provideuser
andgroup
, theprovider
leveragesrequirer
's Juju application name and model name. - Is expected to provide the
requirer
with necessary configuration for performing LDAP authentications and operations. - Is expected to update the application databag if any field's data is changed
in the
provider
charmed application.
Requirer
- Is expected to optionally provide
user
andgroup
for theprovider
to generate the bind DN. - Is expected to consume the LDAP configuration data provided by the
provider
to configure therequirer
's charmed application.
Relation Data
Provider
The provider
provides LDAP URL, base DN, and bind DN, and LDAP
authentication method for the requirer
to connect and perform LDAP operations.
It should be placed in the application databag.
Example
relation-info:
- endpoint: ldap
related-endpoint: ldap
application-data:
urls: [ldap://ldap.canonical.com:3893, ldap://ldap.ubuntu.com:3893]
base_dn: dc=canonical,dc=com
bind_dn: cn=app,ou=model,dc=canonical,dc=com
bind_password_secret: secret://59060ecc-0495-4a80-8006-5f1fc13fd783/cjqub6vubg2s77p3nio0
auth_method: simple
starttls: true
Requirer
The requirer
provides LDAP client information. It should be placed in the
application databag.
Example
relation-info:
- endpoint: ldap
related-endpoint: ldap
application-data:
user: sssd
group: machine-localhost