Как добавить атрибут в схему LDAP

Я пытаюсь добавить новый атрибут с именем sAMAccountName в уже существующее определение схемы LDAP, которое считывается IM-LDAP с использованием UnboundID LDAP SDK.

Я добавил запись attributeTypes и sAMAccountName для MatchRuleUse.

attributeTypes: ( 2.5.18.11 NAME 'sAMAccountName' DESC 'MS Sec Principal User' EQUALITY distinguishedNameMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.12 SINGLE-VALUE NO-USER-MODIFICATION USAGE directoryOperation )

matchingRuleUse: ( 2.5.13.1 NAME 'distinguishedNameMatch' APPLIES ( creatorsName $ ... $ sAMAccountName ) )

Для каждого ранее существующего атрибута вызов com.unboundid.ldap.sdk.schema.Schema.getAttributeType("attrName") возвращает тип атрибута. Но не для моего нового атрибута.

Что мне не хватает?

Отредактировано 10/11/18 после комментария @jwilleke:

То, что я пытаюсь достичь, - это использовать IM-LDAP для очень ограниченной функциональности сервера Active Directory.

В реальной производственной среде AD есть записи, представляющие пользователей с objectClass: person, organizPerson,simulatedMicrosoftSecurityPrincipal.

В AD эти записи содержат атрибуты sAMAccountName и memberof. Но их нет в схеме, которая поставляется с IM-LDAP.

Код аутентификации Java сначала выполняет поиск по

(&(objectClass=user)(sAMAccountName=userAccountName)

Затем, если запись найдена, он проверяет, присутствует ли данное имя группы безопасности в многозначном атрибуте memberof.

Запись, экспортированная с рабочего сервера AD, выглядит следующим образом:

dn: cn=Smith\,John,ou=User Accounts,dc=ACME,dc=CORE,dc=INT
changetype: add
objectClass: person
objectClass: organizationalPerson
objectClass: simulatedMicrosoftSecurityPrincipal
cn: Smith,John
sn: JohnS
sAMAccountName: JohnS
userPassword: johnspasswd
memberof: ou=Service Accounts,dc=ACME,dc=CORE,dc=INT

Два новых атрибута добавляются в objectClass simulatedMicrosoftSecurityPrincipal в схеме путем добавления:

objectClasses: ( 2.5.6.24 NAME 'simulatedMicrosoftSecurityPrincipal' DESC 'MSSecurityPrincipal' SUP top AUXILIARY MUST sAMAccountName MAY memberof )

Но когда я пытаюсь импортировать эти записи в макет LDAP, я получаю сообщение о том, что sAMAccountName и memberof не определены.

РЕДАКТИРОВАТЬ 2:

attributeTypes: ( 1.2.840.113556.1.4.221 NAME 'sAMAccountName' SYNTAX '1.3.6.1.4.1.1466.115.121.1.15' SINGLE-VALUE )

Wokrked для добавления sAMAccountName, но все еще пытается выяснить, как добавить memeberOf

Вот полный файл.ldif.

1 ответ

Это то, что, наконец, работает для меня

objectClasses: ( 1.2.840.113556.1.5.6 NAME 'microsoftSecurityPrincipal' DESC 'MS SecurityPrincipal' SUP top AUXILIARY MUST ( sAMAccountName $ memberOf ) )

attributeTypes: ( 1.2.840.113556.1.4.221 NAME 'sAMAccountName' SYNTAX '1.3.6.1.4.1.1466.115.121.1.15' SINGLE-VALUE )
attributeTypes: ( 1.2.840.113556.1.2.102 NAME 'memberOf' SYNTAX 1.3.6.1.4.1.1466.115.121.1.12 )
Другие вопросы по тегам