2016-05-09 3 views
1

Я пытаюсь настроить сервер WSO2 Identity с OpenLDAP в качестве основного хранилища пользователей. Я хотел бы добавить Idp встроенные схемы ApacheDS: wso2Person, identityPerson и scimPerson в OpenLDAP, но я не могу импортировать ни схему, ни файлы wd2Person, identityPerson и scimPerson ldif.Импорт WSO2 Identity Server по умолчанию в OpenLDAP

Можете ли вы привести пример того, как достичь этой цели?

Я пытаюсь импортировать файлы в новый OpenLDAP на Ubuntu Server 16 LTS, используя ApacheDS Studio или другие LDAP-клиенты, но каждый раз, когда я пытаюсь импортировать файлы, возникает ошибка.

IE: запуск

sudo ldapadd -Q -Y EXTERNAL -H ldapi:/// -f ou\=schema.ldif 

сервер отвечает:

сервера в откладывали для выполнения (53) не глобального превосходного знания

Или, пытаясь импортировать wso2Person. ldif

ldapadd -D ldap:/// -D "cn=admin,dc=example,dc=org" -x -W -f wso2Person.ldif 

следующее сообщение об ошибке брошено:

Неверный синтаксис (21) Дополнительная информация: attributeTypes: значение # 0 недействительна в синтаксисе

ответ

0

Не нужно использовать wso2Person схемы. Вы можете использовать любую из схем, поддерживаемых внешним ldap (например: inetOrgPerson). Единственное, что вам нужно сделать для сопоставления претензий для атрибутов с существующими атрибутами в схеме openldap. Вы можете найти эту заявку на вкладке управления конфигурацией -> в разделе «http://wso2.org/claims». Вы можете изменить отображение претензий [1] для каждого атрибута с существующими атрибутами с сервера ldap. Например: Первое имя сопоставляется атрибуту «givenName» в основном хранилище пользователей. Openldap также поддерживает тип атрибута «givenName». Поэтому вам не нужно менять эти атрибуты. Но несколько атрибутов, таких как «Фамилия», которые сопоставляются с «sn» в основном хранилище пользователей, не находятся в стандартном openldap, если правильный класс объекта не добавлен в группу пользователей. Например, я использовал «displayName» в качестве сопоставленного атрибута для вторичного хранилища пользователей. Вы можете увидеть, как редактировать претензии в прикрепленном изображении Claims.png (где NEWTEST - имя хранилища scondary), чтобы добавить сопоставление претензий. Таким образом, вам нужно будет сопоставить эти атрибуты с существующими атрибутами в схеме openldap.

[1] - https://docs.wso2.com/display/IS500/Editing+Claim+Dialects

0

Первое: если вы используете конфигурацию по умолчанию OpenLDAP на Ubuntu 16.04, вы должны использовать локальный инструмент из серверов корневой учетной записи. Например:

[email protected]:ldapadd -Y EXTERNAL -H ldapi:/// -f identityPerson.ldif 

Вы можете видеть, что список доступа для сп = конфиг:

# {0}config, config 
dn: olcDatabase={0}config,cn=config 
objectClass: olcDatabaseConfig 
olcDatabase: {0}config 
olcAccess: {0}to * by dn.exact=gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth manage by * break 

Во-вторых, вы должны изменить Ldif файлы, предоставленные WSO2. В схемах OpenLdap представлены как отдельный объект LDAP, поэтому вместо изменения объекта вам необходимо создать новую запись. Также есть одно различие в синтаксисе - вы должны заменить атрибуты typeType на olcAttributeTypes и objectClasses на olcobjectClasses. Ваш wso2Person.LDIF shold выглядеть следующим образом:

dn: cn=wso2Person,cn=schema,cn=config 
objectClass: olcSchemaConfig 
cn: wso2Person 
olcAttributeTypes: (1.3.6.1.4.1.37505.1.2 
    NAME 'gender' 
    EQUALITY caseIgnoreMatch 
    SUBSTR caseIgnoreSubstringsMatch 
    SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{1024}) 
.... 
olcAttributeTypes: (1.3.6.1.4.1.37505.1.13 
    NAME 'prefferedLanguage' 
    EQUALITY caseIgnoreMatch 
    SUBSTR caseIgnoreSubstringsMatch 
    SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{1024}) 
olcobjectClasses: (1.3.6.1.4.1.37505.1.1 
    NAME 'wso2Person' 
    DESC 'wso2Person' 
    SUP inetOrgPerson 
    STRUCTURAL 
    MAY (gender $ country $ nickName $ timeZone $ dateOfBirth $ role $ im $ url $ otherPhone $ privatePersonalIdentifier $ profileconfiguration $ prefferedLanguage) 
) 

Также WSO2 классов имеет структурную зависимость, поэтому порядок их добавления вопросов:

ldapadd -Y EXTERNAL -H ldapi:/// -f wso2Person.ldif 
ldapadd -Y EXTERNAL -H ldapi:/// -f scimPerson.ldif 
ldapadd -Y EXTERNAL -H ldapi:/// -f identityPerson.ldif 
Смежные вопросы