Implementación de Servigistics InService > Configuraciones avanzadas > Configuración de Servigistics InService para utilizar un sistema LDAP externo
  
Configuración de Servigistics InService para utilizar un sistema LDAP externo
Al implementar Servigistics InService, se puede utilizar un sistema de gestión de identidades de la empresa (LDAP) para gestionar los usuarios. Servigistics InService se debe configurar para acceder a esta información externa de usuarios.
La configuración de Servigistics InService para utilizar un sistema LDAP externo implica los siguientes pasos:
1. La adición del adaptador JNDI a la lista de adaptadores existentes.
2. La definición de los privilegios administrativos de control de acceso para el directorio.
Conexión a un LDAP externo
Requisitos previos
Para conectar Servigistics InService a un LDAP externo, se debe disponer de la URL del LDAP externo, el contexto del nombre base exclusivo (DN), el ID de conexión y la contraseña del LDAP externo. Por ejemplo:
LDAP URL: ldap://ppuwsv-pscqa06d.ptcnet.ptc.com:1389
Base DN Context: ou=people,cn=EnterpriseLdapForSlm04d,cn=InService,o=PTC
LDAP User Login: cn=Manager
LDAP Password: admin
* 
Para obtener el DN base, vaya a EnterpriseLdap > people:
Configuración del LDAP externo
1. Opcional: Instalar y configurar el LDAP al que desee conectarse. Si ya está instalado, este paso es opcional.
2. Para crear y activar el adaptador JNDI, ejecute el siguiente comando desde el shell de Windchill:
<InS_HOME>\InS_SW\SW\Applications\Windchill.ear\bin
En Linux:
xconfmanager -s
wt.federation.org.directoryServices='$(wt.federation.org.defaultAdapter),
$(wt.federation.org.enterpriseAdapter),com.ptc.ptcnet.ldap-ext’ -t
/qa/InService103/SW/Applications/Windchill.ear/codebase.war/wt.properties –p
En Windows:
xconfmanager -s
wt.federation.org.directoryServices=$(wt.federation.org.defaultAdapter),
$(wt.federation.org.enterpriseAdapter),com.ptc.ptcnet.ldap-ext
-t codebase.war\wt.properties -p
3. Para definir los permisos de control de acceso administrativos del directorio, añada las credenciales de conexión al fichero. Por ejemplo, si el adaptador es com.ptc.ldap-ext, el nombre de usuario es cn=manager y la contraseña es admin. Si la propiedad mapcredentials.admin.adapters no está presente en el fichero site.xconf, añádala mediante el siguiente comando:
xconfmanager -s
mapcredentials.admin.adapters=
'com.ptc.Ldap^cn=Manager^encrypted.com.ptc.Ldap.cn=Manager’
-t codebase.war/wt.properties –p
. A continuación, ejecute el siguiente comando:
xconfmanager --add
"mapcredentials.admin.adapters=com.ptc.ptcnet.ldap-ext^cn=manager^admin"
-t "codebase.war\wt.properties" -p
.
4. Para crear y activar el adaptador JNDI, se deben especificar los siguientes detalles:
URL del LDAP
Contexto del DN base
Por ejemplo,
xconfmanager -s com.ptc.ptcnet.ldap-ext.providerUrl="ldap://10.192.73.254:389" -t
codebase.war/wt.properties –p
xconfmanager -s com.ptc.ptcnet.ldap-ext .searchBase="
ou\=people,cn\=AdministrativeLdap,cn\=InService,o\=ptcrnd,o\=ptc " -t
codebase.war/wt.properties –p
5. Añada la contraseña al depósito de JBOSS.
a. Para añadir la contraseña del servidor LDAP al depósito, ejecute el siguiente comando:
vault.bat --keystore
<InS_HOME>\InS_SW\SW\System\WildFly\standalone\configuration\vault.keystore
--keystore-password wcadmin --alias PTC --iteration=10
--sec-attr <Actual_Password> --vault-block ldap1 --attribute password
--enc-dir <InS_HOME>\InS_SW\SW \System\WildFly\standalone\configuration\
<Actual_Password> es el valor que se debe transferir para el LDAP externo y ldap es la clave del fichero standalone-full-<database-name>.xml que se debe modificar al copiar con ldap2 según este comando. Por ejemplo,
vault.bat –keystore D:\ptc\InService\InS_SW\SW\System\WildFly\standalone\
configuration\vault.keystore --keystore-password wcadmin
--alias PTC --iteration=10 --sec-attr
W1ndch1ll --vault-block ldap2 --attribute password
--enc-dir D:\ptc\InService\InS_SW\SW\System\WildFly\standalone\configuration\
b. Edite el fichero standalone-full-<database-name>.xml para añadir información del depósito. Este fichero se encuentra en <InS_Installation_Dir>\InS_SW\SW\System\WildFly\standalone\configuration\standalone-full-<database-name>.xml
6. Actualice la configuración de JBOSS.
a. Vaya a <INICIO_InS>\SW\System\WildFly\standalone\configuration.
b. Edite el fichero standalone-full-<database-name>.xml, donde <database-name> es el nombre de la base de datos back-end que se utiliza durante la instalación. Por ejemplo, si la base de datos que se utiliza durante la instalación es Oracle, modifique standalone-full-oracle.xml.
c. Busque la cadena org.jboss.security.auth.spi.LdapExtLoginModule en este fichero.
d. Añada una nueva entrada de Login-Module para configurar el LDAP externo. Cambie los valores realzados en amarillo según la base de búsqueda.
7. Reinicie JBOSS.
* 
En los ejemplos que se proporcionan en esta sección se utiliza un sistema LDAP de Servigistics InService y PTC para la demostración. Edite los comandos y el código según sea necesario para el entorno.
* 
Para desactivar el uso de LDAP interno, defina la propiedad com.ptc.sc.allowInternalAccountsCreation en "false" en wt.properties.
* 
En los siguientes procedimientos se supone que el directorio LDAP externo ya se ha instalado y configurado.
Configuración de LDAP con Active Directory
Active Directory es una base de datos de servicios de directorios implementada por Microsoft que soporta LDAP.
La configuración de Servigistics InService para utilizar un sistema LDAP con Active Directory implica los siguientes pasos:
Configuración del adaptador JNDI
Para configurar el adaptador JNDI, siga estos pasos:
1. Obtenga los siguientes parámetros de la configuración de Active Directory, por ejemplo:
Host: ad.ptcnet.com
Puerto: 389
Usuario de la cuenta de servicio: CN=Mike, CN=Users, DC=ad, DC=ptcnet, DC=com
Contraseña de la cuenta de servicio: W1ndch1ll
Base de búsqueda: CN=Users, DC=ad, DC=ptcnet, DC=com
Verifique también si el atributo sAMAccountName está realzado en la siguiente imagen:
2. Cree y active el adaptador JNDI.
a. Vaya a la carpeta bin:
b. Abra el shell de Windchill y ejecute el siguiente comando:
xconfmanager -s
wt.federation.org.directoryServices="$(wt.federation.org.defaultAdapter),
$(wt.federation.org.enterpriseAdapter) ,com.ptcnet.ptc-training.jndiAdapter.ad"
-t codebase.war/wt.properties –p
En este comando, reemplace com.ptcnet.ptc-training.jndiAdapter.ad con el nombre del servicio.
c. Introduzca los siguientes valores en sc.wt.properties.xconf/site.xconf, que se encuentra en <WT_HOME\>.
URL del proveedor: ldap://<host>:<puerto>
Nombre exclusivo de la base de búsqueda: este es el nombre exclusivo de búsqueda de la configuración de Active Directory.
Añada las siguientes propiedades. Verifique también si existen en Active Directory:
<ServiceName>.windchill.config.directoryType - ADS
<ServiceName>.windchill.mapping.cn - cn
<ServiceName>.windchill.mapping.user.objectClass - user
<ServiceName>.windchill.mapping.user.uniqueIdAttribute – sAMAccountName
Ejemplo:
xconfmanager -s
com.ptcnet.ptc-training.jndiAdapter.ad.providerUrl=
"ldap://10.192.73.254:389" -t codebase.war/wt.properties –p
xconfmanager -s
com.ptcnet.ptc-training.jndiAdapter.ad.searchBase=
"CN=Users,DC=ad,DC=ptcnet,DC=com" -t codebase.war/wt.properties –p
xconfmanager -s
com.ptcnet.ptc-training.jndiAdapter.ad.windchill.config.directoryType=
"ADS" -t codebase.war/wt.properties –p
xconfmanager -s
com.ptcnet.ptc-training.jndiAdapter.ad.windchill.mapping.cn=
"cn" -t codebase.war/wt.properties –p
xconfmanager -s
com.ptcnet.ptc-training.jndiAdapter.ad.windchill.mapping.user.objectClass=
"user" -t codebase.war/wt.properties –p
xconfmanager -s
com.ptcnet.ptc-training.jndiAdapter.
ad.windchill.mapping.user.uniqueIdAttribute=
"sAMAccountName" -t codebase.war/wt.properties –p
3. Configure las credenciales de la cuenta de servicio:
a. Ejecute el shell de Windchill desde la misma ubicación que se ha especificado en el paso 2b.
b. Si la propiedad mapcredentials.admin.adapters no está presente en site.xconf, añádala ejecutando el siguiente comando:
xconfmanager -s
mapcredentials.admin.adapters='com.ptc.Ldap^cn=
Manager^encrypted.com.ptc.Ldap.cn=Manager’
-t codebase.war/wt.properties –p
c. Cree y ejecute el siguiente comando para modificar mapCredentials:
xconfmanager --add
"mapcredentials.admin.adapters=
<jndiAdapter name>^<distinguished name of service account user>^<user password> "
-t " codebase.war/wt.properties " -p
Ejemplo:
xconfmanager --add
"mapcredentials.admin.adapters=
com.ptcnet.ptc-training.jndiAdapter.ad^CN=Mike,
CN=Users,DC=ad,DC=ptcnet,DC=com^W1ndch1ll"
-t " codebase.war/wt.properties " -p
4. Añada la contraseña al depósito de JBOSS.
a. Para añadir la contraseña del servidor de Active Directory al depósito, ejecute el siguiente comando:
<InS_Home>\InS_SW\SW\System\WildFly\standalone\configuration\vault.keystore
--keystore-password wcadmin --alias PTC --iteration=10
--sec-attr <Actual_Password> --vault-block ldap1 --attribute password
--enc-dir <InS_home>\InS_SW\SW\System\WildFly\standalone\configuration\
<Actual_Password> es el valor que se debe transferir para el LDAP externo y ldap es la clave del fichero standalone-full-<database-name>.xml que se debe modificar al copiar con ldap2 según este comando. Por ejemplo,
vault.bat –keystore
D:\ptc\InService\InS_SW\SW\System\WildFly\standalone\
configuration\vault.keystore
--keystore-password wcadmin --alias PTC --iteration=10
--sec-attr W1ndch1ll --vault-block ldap2
--attribute password --enc-dir D:\ptc\InService\InS_SW\SW\System\
WildFly\standalone\configuration\
b. Edite el fichero standalone-full-<database-name>.xml para añadir información del depósito. Este fichero se encuentra en <InS_Installation_Dir>\InS_SW\SW\System\WildFly\standalone\configuration\standalone-full-<database-name>.xml
5. Añada Login-Module al fichero standalone-full-<database-name>.xml.
a. Edite standalone-full-<database-name>.xml, donde nombre-base de datos es el nombre de la base de datos back-end que se utiliza al realizar la instalación con los datos de Active Directory recopilados en el paso 1. La ruta del fichero es <Directorio de instalación de InService>\InS_SW\SW\System\WildFly\standalone\configuration\standalone-full-<database-name>.xml. Por ejemplo, si la base de datos que se utiliza durante la instalación es Oracle, modifique standalone-full-oracle.xml.
Ejemplo:
b. Guarde y cierre el fichero, y reinicie el servidor JBOSS.
6. Para verificar si la configuración se ha completado correctamente, conéctese a Task Manager.
Borrado de las credenciales de usuario de la caché de JBOSS: detalles del punto final REST
Después de que un usuario se conecte al servidor de Active Directory, se añade a la base de datos del administrador. Para quitar el usuario de la base de datos, realice los siguientes pasos:
1. En la página de inicio de Servigistics InService, vaya a Usuarios y borre el usuario.
2. En el servidor de Active Directory, desactive la cuenta de usuario.
3. Ejecute el siguiente comando REST ALL para borrar las credenciales de usuario de la caché.
REST End Point Url:
http://{HOST}:{PORT}/InService/servlet/servicecenter/rest/user/clearCache?userName=xyz
HOST: Host name
PORT: Port number on which inService application is deployed.
Xyz: Name of the user whose cache must be cleared.
Request Type: PUT
Detalles de cabecera
Defina los siguientes detalles de cabecera:
Authorization : Basic (credenciales de la cuenta de administrador de Servigistics InService
Accept: application/vnd.ptc.sc+json;version=2
Content-Type: application/vnd.ptc.sc+json;version=2
Authentication
El punto final REST requiere la autentificación básica con el usuario de la sesión definido. El usuario de la sesión debe ser un usuario administrador de OEM o usuario con permisos administrativos para Servigistics InService. Solo estos usuarios pueden utilizar esta función.