El puente de registro de usuarios se configura como otros adaptadores personalizados. Puede utilizar el lenguaje de scripts Jython o Jacl con la herramienta de scripts
wsadmin para definir el puente de registro de usuarios en la configuración de repositorios federados.
Antes de empezar
Concluya WebSphere Application Server y la ventana de mandatos de wsadmin.
Importante: Si está migrando desde el registro de usuarios autónomo situado en el sistema operativo local a los repositorios federados situados en el sistema operativo local, primero debe configurar el registro de usuarios local bajo repositorios federados. Para obtener más información, consulte Gestión de reinos de configuraciones de repositorios federados.
Se pueden producir errores de autorización si los usuarios o grupos se correlacionan con roles antes de realizar la migración y utiliza estos usuarios o grupos después de realizar la migración a un puente de registro de usuarios. Esta situación se da porque la correlación contiene información específica del registro.
Después de la migración, vuelva a correlacionar los usuarios o grupos para evitar errores de autorización.
Acerca de esta tarea
Si
desea información adicional sobre los mandatos a utilizar para este tema, consulte el grupo de mandatos IdMgrRepositoryConfig para el objeto AdminTask.
Efectúe los pasos siguientes para añadir un puente de registro de usuarios a cualquier configuración de repositorios federados y a cualquier reino definido dentro de la configuración.
Procedimiento
- Inicie la herramienta de scripts wsadmin. Puede utilizar el siguiente mandato para iniciar la herramienta de scripts wsadmin:
wsadmin –conntype none
- Utilice el mandato createIdMgrCustomRepository para añadir una nueva configuración de repositorio para el puente de registro de usuarios.
![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
![[IBM i]](../images/iseries.gif)
El siguiente ejemplo configura un repositorio personalizado para que utilice la clase com.ibm.ws.wim.adapter.urbridge.URBridge y establece urbcustom como identificador:
- En Jython:
AdminTask.createIdMgrCustomRepository('-id urbcustom
-adapterClassName com.ibm.ws.wim.adapter.urbridge.URBridge')
- Utilizando Jacl:
$AdminTask createIdMgrCustomRepository {-id urbcustom
-adapterClassName com.ibm.ws.wim.adapter.urbridge.URBridge}
![[z/OS]](../images/ngzos.gif)
El siguiente ejemplo configura un repositorio personalizado para que utilice la clase com.ibm.ws.wim.adapter.urbridge.URBridge y establece urbRACF como el identificador:
- En Jython:
AdminTask.createIdMgrCustomRepository('-id urbRACF
-adapterClassName com.ibm.ws.wim.adapter.urbridge.URBridge')
- Utilizando Jacl:
$AdminTask createIdMgrCustomRepository {-id urbRACF
-adapterClassName com.ibm.ws.wim.adapter.urbridge.URBridge}
Avoid trouble: El puente de registro de usuarios maneja solicitudes sólo para un registro de usuarios. Por lo tanto, si define varios repositorios, cada implementación del registro de usuarios debe tener una instancia aparte del puente de registro de usuarios y debe definir cada implementación como un repositorio individual con un ID de repositorio exclusivo.
El RACF (Resource Access Control Facility) gestiona todos los atributos de RACF ; por lo tanto, no es necesario añadir las propiedades personalizadas para utilizar el adaptador puente de registro de usuarios con RACF.
gotcha
- Opcional:
![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
Añada las propiedades específicas del registro necesarias como propiedades personalizadas. Utilice el mandato setIdMgrCustomProperty repetidamente para añadir varias propiedades. Utilice este mandato una vez por propiedad para añadir varias propiedades a la configuración. Debe utilizar los parámetros name y value para añadir la propiedad
personalizada para el repositorio especificado. Por ejemplo, para añadir una propiedad
personalizada de uniqueUserIdProperty, entre el mandato siguiente:
- En Jython:
AdminTask.setIdMgrCustomProperty('-id urbcustom
-name uniqueUserIdProperty -value "uniqueId"')
- Utilizando Jacl:
$AdminTask setIdMgrCustomProperty {-id urbcustom
-name uniqueUserIdProperty -value "uniqueId"}
Para configurar el puente de registro de usuarios para que utilice un registro de usuarios personalizado, debe añadir la propiedad registryImplClass y especificar la clase de implementación de registro exacta. Por ejemplo, especifique com.xyz.abc.MyCustomRegistry como el valor de la propiedad.
Para configurar el puente de registro de usuarios para que utilice el registro de usuarios del sistema operativo local, no especifique la propiedad registryImplClass. El puente de registro de usuarios identifica la implementación del registro de usuarios subyacente que
proporciona WebSphere Application Server para el sistema operativo local.
Puede establecer otras propiedades opcionales como propiedades personalizadas para definir la correlación entre las propiedades del repositorio federado y las propiedades de registro de usuarios, como uniqueUserIdProperty, userSecurityNameProperty, userDisplayNameProperty, uniqueGroupIdProperty, groupSecurityNameProperty y
groupDisplayNameProperty. Para obtener más información sobre las propiedades personalizadas disponibles y sus valores predeterminados, consulte Propiedades personalizadas de seguridad.
Para alterar temporalmente cualquiera de estas propiedades a nivel de registro de usuarios, configure la propiedad como propiedad personalizada.
Avoid trouble: La correlación entre una propiedad de repositorio federado y una propiedad de registro de usuario es de uno a uno. Sólo puede correlacionar una propiedad de repositorio federado a una propiedad de registro de usuario.
gotcha
- Añada una entrada base a la configuración del puente de registro de usuarios. Utilice el mandato addIdMgrRepositoryBaseEntry para especificar el nombre de la
entrada base del repositorio especificado.
Por ejemplo:
- En Jython:
![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
![[IBM i]](../images/iseries.gif)
AdminTask.addIdMgrRepositoryBaseEntry('-id urbcustom
-name o=custom')
![[z/OS]](../images/ngzos.gif)
AdminTask.addIdMgrRepositoryBaseEntry('-id urbRACF
-name o=local')
- Utilizando Jacl:
![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
![[IBM i]](../images/iseries.gif)
$AdminTask addIdMgrRepositoryBaseEntry {-id urbcustom
-name o=custom}
![[z/OS]](../images/ngzos.gif)
$AdminTask addIdMgrRepositoryBaseEntry {-id urbRACF
-name o=local}
- Utilice el mandato addIdMgrRealmBaseEntry para añadir la entrada base al reino, lo cual enlaza el reino con el repositorio.
Nota: El nombre de reino predeterminado es defaultWIMFileBasedRealm.
Si anteriormente este nombre de reino se ha renombrado, utilice el nuevo nombre de reino en lugar de
defaultWIMFileBasedRealm. Por ejemplo, para asegurar que haya coherencia puede establecer el nombre de reino de la configuración de repositorio federada de modo que sea el mismo nombre que el registro de usuarios del sistema operativo local, tal como se ha especificado en el archivo
security.xml. Para obtener información sobre cómo establecer el nombre de reino, consulte Valores de Configuración del reino.
- Guarde los cambios de configuración. Entre los mandatos siguientes para guardar la nueva configuración y cerrar la herramienta de scripts wsadmin:
- En Jython:
AdminConfig.save()
exit
- Utilizando Jacl:
$AdminConfig save
exit
Configure el módulo de correlación SAF (System Authorization Facility) para asegurar la disponibilidad de propiedades de la autorización SAF. Para obtener más información sobre cómo configurar un módulo de correlación SAF, consulte Instalación y configuración de un módulo de correlación de SAF (System Authorization Facility) personalizado para WebSphere Application Server, donde un módulo de correlación SAF de ejemplo se proporciona para que lo instale y lo utilice. Si desea personalizar el módulo de correlación SAF de ejemplo para repositorios federados, consulte Configuración de un módulo de correlación de SAF (System Authorization Facility) personalizado para repositorios federados.
![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
Nota: Si está utilizando la característica de correlación de identidad distribuida SAF, no es necesario que configure un módulo de correlación.
Nota: Podrían necesitarse algunos pasos adicionales si RACF está configurado en un reino distinto del defaultWIMFileBasedRealm.
Cuando se crea un nuevo reino, algunas propiedades toman valores predeterminados que no son los mismos que los utilizados por
defaultWIMFileBasedRealm y que no son adecuados para utilizar con un registro de usuarios de RACF federado. Debe utilizar el mandato setIdMgrRealmURAttrMapping para establecer los siguientes valores:
- El valor de la propiedad userSecurityNameMapping, el parámetro propertyForOutput se debe establecer en principalName.
- El valor de la propiedad groupSecurityNameMapping, el parámetro propertyForOutput
se debe establecer en cn.
Para obtener más información sobre cómo utilizar el mandato setIdMgrRealmURAttrMapping,
consulte Grupo de mandatos IdMgrRealmConfig para el objeto AdminTask.
- Reinicie el servidor de aplicaciones.
Resultados
![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
![[IBM i]](../images/iseries.gif)
El siguiente código es un ejemplo de una configuración básica en el archivo
wimconfig.xml para un puente del registro de usuarios que accede a un registro de usuarios personalizado:
<config:repositories adapterClassName="com.ibm.ws.wim.adapter.urbridge.URBridge" id="urbcustom">
<config:baseEntries name="o=custom"/>
<config:CustomProperties name="registryImplClass" value="com.ibm.registry.impl.FileRegistrySample"/>
<config:CustomProperties name="usersFile" value="${USER_PROPS}"/>
<config:CustomProperties name="groupsFile" value="${GROUP_PROPS}"/>
</config:repositories>
![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
En el ejemplo anterior, las variables
${USER_PROPS} y ${GROUP_PROPS} se utilizan para definir los valores de las propiedades personalizadas.
![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
Puede utilizar variables para definir propiedades personalizadas. Sin embargo, estas variables sólo se resuelven en la modalidad conectada de WebSphere Application Server. Para obtener información sobre cómo definir variables de entorno, consulte Creación, edición y supresión de variables de WebSphere.
![[z/OS]](../images/ngzos.gif)
El código siguiente es un ejemplo de un archivo wimconfig.xml configurado para un puente del registro de usuarios que accede el registro del sistema operativo local utilizando RACF:
<config:repositories xsi:type="config:FileRepositoryType" adapterClassName="com.ibm.ws.wim.adapter.file.was.FileAdapter"
id="InternalFileRepository" supportPaging="false"
messageDigestAlgorithm="SHA-1">
<config:baseEntries name="o=defaultWIMFileBasedRealm"/>
</config:repositories>
<config:repositories adapterClassName="com.ibm.ws.wim.adapter.urbridge.URBridge"
id="urbRACF" supportPaging="false">
<config:baseEntries name="o=local"/>
</config:repositories>
<config:realmConfiguration defaultRealm="defaultWIMFileBasedRealm">
<config:realms delimiter="/" name="defaultWIMFileBasedRealm" securityUse="active">
<config:participatingBaseEntries name="o=defaultWIMFileBasedRealm"/>
<config:participatingBaseEntries name="o=local"/>
<config:uniqueUserIdMapping propertyForInput="uniqueName"
propertyForOutput="uniqueName"/>
<config:userSecurityNameMapping propertyForInput="principalName"
propertyForOutput="principalName"/>
<config:userDisplayNameMapping propertyForInput="principalName"
propertyForOutput="principalName"/>
<config:uniqueGroupIdMapping propertyForInput="uniqueName"
propertyForOutput="uniqueName"/>
<config:groupSecurityNameMapping propertyForInput="cn"
propertyForOutput="cn"/>
<config:groupDisplayNameMapping propertyForInput="cn" propertyForOutput="cn"/>
</config:realms>
</config:realmConfiguration>