Benutzerregistrys einbinden
Die Benutzerregistry-Einbindung wird verwendet, wenn user- und group-Informationen auf mehrere Registrys verteilt sind. Die Informationen können beispielsweise in zwei unterschiedlichen LDAP-Registrys, in zwei Unterverzeichnisstrukturen derselben LDAP-Registry, in einer Datei enthalten oder auf die Benutzer eines System verteilt sein. Die Informationen können sogar in einem angepassten Benutzerdatenrepository enthalten sein. Werden Registrys eingebunden, können Sie diese verteilten Benutzerdaten einheitlich mit einer kontinuierlichen Informationsspeicherung suchen. Bei der Verwendung einer eingebundenen Registry können Sie die vereinheitlichte Ansicht für die Authentifizierung und Berechtigung von Benutzern in Liberty verwenden.
Vorgehensweise für das Einbinden von Benutzerregistrys
LDAP-Registrys werden standardmäßig eingebunden. Wenn mehrere LDAP-Registrys in der Datei server.xml konfiguriert sind, werden die Registrys automatisch eingebunden und es sind keine weiteren Konfigurationsschritte erforderlich. Dabei kann es sich um zwei getrennte LDAP-Registrys oder um zwei Unterverzeichnisstrukturen in derselben LDAP-Registry handeln.<server description="Federation">
<featureManager>
<feature>appSecurity-2.0</feature>
<feature>servlet-3.0</feature>
<feature>ldapRegistry-3.0</feature>
</featureManager>
<basicRegistry id="basic" realm="SampleBasicRealm">
<user name="admin" password="password" />
<user name="user1" password="password" />
<user name="user2" password="password" />
<group name="memberlessGroup" />
<group name="adminGroup">
<member name="admin"/>
</group>
<group name="users">
<member name="user1"/>
<member name="user2"/>
</group>
</basicRegistry>
<ldapRegistry id="LDAP1" realm="SampleLdapIDSRealm" host="LDAPHOST1.ibm.com" port="389" ignoreCase="true"
baseDN="o=ibm,c=us"
ldapType="IBM Tivoli Directory Server"
searchTimeout="8m"
recursiveSearch="true">
</ldapRegistry>
</server>
<feature>appSecurity-2.0</feature>
<feature>federatedRegistry-1.0</feature>
Das folgende Beispiel veranschaulicht die Einbindung von zwei Basisregistrys:
<server description="Federation">
<featureManager>
<feature>appSecurity-2.0</feature>
<feature>federatedRegistry-1.0</feature>
</featureManager>
<basicRegistry id="basic1" realm="SampleBasicRealm1">
<user name="admin" password="password" />
<user name="user1" password="password" />
<user name="user2" password="password" />
<group name="memberlessGroup" />
<group name="adminGroup">
<member name="admin"/>
</group>
<group name="users">
<member name="user1"/>
<member name="user2"/>
</group>
</basicRegistry>
<basicRegistry id="basic2" realm="SampleBasicRealm2">
<user name="user3" password="password123" />
<user name="user4" password="password123" />
<group name="memberlessGroup2" />
<group name="users2">
<member name="user3"/>
<member name="user4"/>
</group>
</basicRegistry>
</server>
<federatedRepository>
<primaryRealm name="PrimaryRealm">
<participatingBaseEntry name="o=SampleBasicRealm1"/>
<participatingBaseEntry name="o=SampleBasicRealm2"/>
</primaryRealm>
</federatedRepository>
<federatedRepository>
<primaryRealm name="PrimaryRealm">
<participatingBaseEntry name="o=customRegistryRealm1"/>
</primaryRealm>
</federatedRepository>
Wenn Sie eine SAF-Registry mit einer oder mehreren Registrys einbinden möchten, die keine SAF-Registrys sind und für die SAF-Berechtigung aktiviert ist, müssen Sie verteilte Identitätsfilter konfigurieren, um allen Benutzern, die keine SAF-Benutzer sind, eine SAF-Benutzer-ID zuzuordnen. Das folgende Beispiel veranschaulicht eine SAF-Registry, die in eine LDAP-Registry eingebunden ist, und für die die verteilte Identitätszuordnung aktiviert ist. Der primaryRealm-Name ist über das Element federatedReposity angegeben, sodass alle RACMAP-Profile, die definiert wurden, um die LDAP-Benutzer der SAF-Benutzer-ID zuzuordnen, als Namen REGISTRY(NAME('FEDREALM') angeben müssen.
<server description="Federated SAF and LDAP">
<featureManager>
<feature>appSecurity-2.0</feature>
<feature>federatedRegistry-1.0</feature>
<feature>zosSecurity-1.0</feature>
<feature>ldapRegistry-3.0</feature>
</featureManager>
<federatedRepository>
<primaryRealm name="FEDREALM">
</primaryRealm>
</federatedRepository>
<!-- SAF-Benutzerregistry -->
<safRegistry id="saf" realm="SAFREALM" />
<safAuthorization id="saf" racRouteLog="ASIS" />
<safCredentials unauthenticatedUser="WSGUEST"
profilePrefix="BBGZDFLT"
mapDistributedIdentities="true" />
<safRoleMapper profilePattern="%profilePrefix%.%resource%.%role%"
toUpperCase="false" />
<ldapRegistry id="LDAP1" realm="LDAPREALM"
ldapType="IBM Tivoli Directory Server"
host="LDAP1HOST.ibm.com" port="389"
baseDN="o=ibm,c=us"
searchTimeout="8m"
ignoreCase="true"
bindDN="uid=ldapadm,cn=users,o=ibm,c=us"
bindPassword="ldapadmpw"
sslEnabled="false">
<idsFilters
userFilter="(&(uid=%v)(objectclass=inetOrgPerson))"
groupFilter="(&(cn=%v)(objectclass=groupOfUniqueNames))"
userIdMap="*:uid"
groupIdMap="*:cn"
groupMemberIdMap="groupOfUniqueNames:uniquemember">
</idsFilters>
</ldapRegistry>
</server>