Merge pull request #26923 from veenarm/fix-ldap-module-user-mapping
fix: ldap allow case sensitivity settings to force dn and memberOf to…
This commit is contained in:
@@ -55,6 +55,8 @@ backend.add(import('@backstage/plugin-catalog-backend-module-ldap'));
|
||||
The following configuration is a small example of how a setup could look for
|
||||
importing groups and users from a corporate LDAP server.
|
||||
|
||||
Users and Groups can be configured for multiple `dn` entries as an array.
|
||||
|
||||
```yaml
|
||||
catalog:
|
||||
providers:
|
||||
@@ -65,25 +67,24 @@ catalog:
|
||||
dn: uid=ldap-reader-user,ou=people,ou=example,dc=example,dc=net
|
||||
secret: ${LDAP_SECRET}
|
||||
users:
|
||||
dn: ou=people,ou=example,dc=example,dc=net
|
||||
options:
|
||||
filter: (uid=*)
|
||||
map:
|
||||
description: l
|
||||
set:
|
||||
metadata.customField: 'hello'
|
||||
- dn: ou=people,ou=example,dc=example,dc=net
|
||||
options:
|
||||
filter: (uid=*)
|
||||
map:
|
||||
description: l
|
||||
set:
|
||||
metadata.customField: 'hello'
|
||||
groups:
|
||||
dn: ou=access,ou=groups,ou=example,dc=example,dc=net
|
||||
options:
|
||||
filter: (&(objectClass=some-group-class)(!(groupType=email)))
|
||||
map:
|
||||
description: l
|
||||
set:
|
||||
metadata.customField: 'hello'
|
||||
- dn: ou=access,ou=groups,ou=example,dc=example,dc=net
|
||||
options:
|
||||
filter: (&(objectClass=some-group-class)(!(groupType=email)))
|
||||
map:
|
||||
description: l
|
||||
set:
|
||||
metadata.customField: 'hello'
|
||||
```
|
||||
|
||||
These config blocks have a lot of options in them, so we will describe each
|
||||
"root" key within the block separately.
|
||||
These config blocks have a lot of options in them, so we will describe each "root" key within the block separately.
|
||||
|
||||
> NOTE:
|
||||
>
|
||||
@@ -303,6 +304,33 @@ map:
|
||||
members: member
|
||||
```
|
||||
|
||||
## Optional Vendor Configuration
|
||||
|
||||
In case the LDAP vendor isn't automatically detected by the module, an optional `vendor` configuration section is available which allows overriding the location for `dn` and `uuid` settings, and a case sensitivity setting.
|
||||
|
||||
#### vendor.dnAttributeName
|
||||
|
||||
Allows explicitly defining the name of the attribute that stores each entry's DN.
|
||||
|
||||
#### vendor.uuidAttributeName
|
||||
|
||||
Allows explicitly defining the name of the attribute that stores each entry's UUID.
|
||||
|
||||
#### vendor.dnCaseSensitive
|
||||
|
||||
Provides the ability to ignore case sensitivity issues with user/group mappings. If set to true, the ingestion will link user/members to groups whether their `dn`, `member`, or `memberOf` values have the right case or not.
|
||||
|
||||
```yaml
|
||||
vendor:
|
||||
# Attribute name override for the distinguished name (DN) of an entry.
|
||||
dnAttributeName: dn
|
||||
# Attribute name override for the unique identifier (UUID) of an entry.
|
||||
uuidAttributeName: uuid
|
||||
# Attribute to force values provided from dn and members/memberOf values all to lowercase.
|
||||
# This is to resolve potential user/group mapping issues if case differences on dn strings.
|
||||
dnCaseSensitive: true
|
||||
```
|
||||
|
||||
## Customize the Provider
|
||||
|
||||
In case you want to customize the ingested entities, the provider allows to pass
|
||||
|
||||
Reference in New Issue
Block a user