2016-05-09 7 views
1

OpenLDAPを使用してWSO2 Identityサーバーをプライマリユーザーストアとして設定しようとしています。 Idp embedded ApacheDSスキーマ ':wso2Person、identityPerson、scimPersonをOpenLDAPに追加したいのですが、スキーマもwso2Person、identityPerson、scimPersonのldifファイルもインポートできません。WSO2 Identity ServerのデフォルトスキーマをOpenLDAPにインポートします。

この目標を達成する方法の例を挙げることはできますか?

ApacheDS Studioや他のLDAPクライアントを使ってUbuntu Server 16 LTS上の新しいOpenLDAPにファイルをインポートしようとしていますが、ファイルをインポートしようとするたびにエラーがスローされます。

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でサポートされているスキーマ(ex:inetOrgPersonのいずれか)を使用できます。 openldapスキーマ内の既存の属性を持つ属性のクレームマッピングを実行するだけです。このクレームは、「http://wso2.org/claims」の下の「設定 - クレーム管理」タブで見つけることができます。 LDAPサーバーの既存の属性を持つ各属性の要求マッピング[1]を編集できます。例:最初の名前はプライマリユーザーストアの属性 "givenName"にマップされます。 Openldapは "givenName"属性タイプもサポートしています。したがって、これらの属性を変更する必要はありません。しかし、正しいオブジェクトクラスがユーザグループに追加されていない場合、プライマリユーザストアの "sn"にマップされる "Last Name"のような属性は、デフォルトのopenldapにはありません。たとえば、セカンダリユーザストアのマッピングされた属性として "displayName"を使用しました。クレームマッピングを追加するには、添付画像claim.png(NEWTESTは、scondaryユーザストア名)のクレームを編集する方法をご覧ください。このように、これらの属性をopenldapスキーマの既存の属性にマップする必要があります。 [1]

- まずhttps://docs.wso2.com/display/IS500/Editing+Claim+Dialects

0

:あなたがUbuntuの16.04のデフォルトのOpenLDAPの設定を使用している場合は、サーバのrootアカウントからローカルツールを使用する必要があります。たとえば:

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

あなたは、CN = configのためにそのアクセスリストを見ることができるのです。

# {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 

第二:あなたはWSO2によって与えられたLDIFファイルを、変更する必要があります。 OpenLdapスキーマは別々のLDAPオブジェクトとして表されるので、オブジェクトの変更の代わりに新しいエントリを作成する必要があります。また、構文には1つの違いがあります。つまり、attributeTypesを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 
関連する問題