Federación de registros de usuarios
La federación de registros de usuarios se utiliza cuando la información de usuario y grupo se distribuye en varios registros. Por ejemplo, la información podría estar en dos LDAP diferentes, en dos subárboles del mismo LDAP, en un archivo, o los usuarios son de un sistema. Incluso, la información podría estar en un repositorio de datos de usuario personalizado. Con registros federados, puede buscar y utilizar esta información de usuario distribuida de una forma unificada con el almacenamiento continuo de información. Mediante el registro federado, puede utilizar la vista unificada para la autenticación y autorización de usuario en Liberty.
¿Cómo se federan los registros de usuarios?
Los registros LDAP se federan de forma predeterminada. Si se ha configurado más de un registro LDAP en el server.xml, los registros se federan automáticamente y no es necesaria ninguna configuración adicional. Pueden ser dos LDAP independientes o dos subárboles en el mismo LDAP.<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>
El
ejemplo siguiente muestra la federación de dos registros básicos:<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>
Para federar un registro SAF con uno o varios registros no SAF con la autorización SAF habilitada, debe configurar filtros de identidad distribuida para correlacionar los usuarios no SAF con un ID de usuario SAF. El ejemplo siguiente ilustra un registro SAF que está federado con un registro LDAP y con la correlación de identidad distribuida habilitada. El nombre primaryRealm se especifica en el elemento federatedReposity para que los perfiles RACMAP que están definidos para correlacionar los usuarios LDAP con el ID de usuario SAF deban especificar REGISTRY(NAME('FEDREALM'). Para obtener más información, consulte Configuración de filtros de identidad distribuida en la seguridad de z/OS.
<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>
<!-- registro de usuarios SAF -->
<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>