Развертывание Servigistics InService > Расширенные конфигурации > Конфигурирование Servigistics InService для использования внешней системы LDAP
  
Конфигурирование Servigistics InService для использования внешней системы LDAP
При развертывании Servigistics InService можно использовать для управления пользователями (LDAP) систему управления реквизитами предприятия. Необходимо настроить Servigistics InService для доступа к этой внешней информации о пользователях.
Настройка Servigistics InService для использования внешней системы LDAP включает следующие действия:
1. Добавление адаптера JNDI в список существующих адаптеров.
2. Настройка административных прав управления доступом для каталога.
Подключение к внешней системе LDAP
Предварительные требования
Чтобы подключить Servigistics InService к внешней системе LDAP, необходимо знать URL-адрес внешнего сервера LDAP, контекст базового различающегося имени (DN), идентификатор входа в систему и пароль для внешнего сервера LDAP. Пример:
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
* 
Чтобы получить базовое отличительное имя в LDAP, перейдите к пункту EnterpriseLdap > people:
Конфигурирование внешнего сервера LDAP
1. (Необязательно) Установите и сконфигурируйте сервер LDAP, к которому нужно подключиться. Если LDAP уже установлен, это делать не обязательно.
2. Чтобы создать и включить адаптер JNDI, выполните в оболочке Windchill следующую команду:
<InS_HOME>\InS_SW\SW\Applications\Windchill.ear\bin
Для 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
для 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. Чтобы задать права управления административным доступом для каталога, добавьте в файл учетные данные для входа в систему. Например, если используется адаптер com.ptc.ldap-ext, имя пользователя cn=manager и пароль admin. Если свойство mapcredentials.admin.adapters отсутствует в файле site.xconf, добавьте это свойство, выполнив следующую команду:
xconfmanager -s
mapcredentials.admin.adapters=
'com.ptc.Ldap^cn=Manager^encrypted.com.ptc.Ldap.cn=Manager’
-t codebase.war/wt.properties –p
Затем выполните следующую команду:
xconfmanager --add
"mapcredentials.admin.adapters=com.ptc.ptcnet.ldap-ext^cn=manager^admin"
-t "codebase.war\wt.properties" -p
4. Чтобы создать и включить адаптер JNDI, укажите следующие сведения:
URL-адрес LDAP
Контекст базового отличительного имени в LDAP
Например,
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. Добавьте пароль для архива JBOSS.
a. Чтобы добавить пароль сервера LDAP в архив, выполните следующую команду:
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> - это параметр, который должен передаваться во внешнюю систему LDAP, а ldap - это ключ для файла standalone-full-<database-name>.xml, который необходимо изменить при копировании с ldap2, как в этой команде. Например,
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. Отредактируйте файл standalone-full-<database-name>.xml, добавив информацию об архиве. Путь к этому файлу: <InS_Installation_Dir>\InS_SW\SW\System\WildFly\standalone\configuration\standalone-full-<database-name>.xml
6. Обновите конфигурацию JBOSS.
a. Перейдите в папку <InS_HOME>\SW\System\WildFly\standalone\configuration
b. Отредактируйте файл standalone-full-<database-name>.xml, где <database-name> - это наименование базы данных на внутреннем сервере (бэкенд), которая используется во время установки. Например, если во время установки используется база данных Oracle, то измените его на standalone-full-oracle.xml.
c. Найдите в этом файле строку org.jboss.security.auth.spi.LdapExtLoginModule.
d. Добавьте новую запись для Login-Module,чтобы сконфигурировать внешний сервер LDAP. Измените значения, подсвеченные желтым цветом, в соответствии с вашей поисковой базой.
7. Перезапустите JBOSS.
* 
В представленных в этом разделе примерах PTC и система Servigistics InService LDAP используются в целях демонстрации. Измените команды и код в соответствии с требованиями вашей среды.
* 
Чтобы отключить использование внутреннего LDAP, задайте для свойства com.ptc.sc.allowInternalAccountsCreation значение "false" в wt.properties.
* 
В следующих процедурах предполагается, что внешний каталог LDAP уже установлен и настроен.
Конфигурирование LDAP с Active Directory
Active Directory - это база данных служб каталогов, реализованная Microsoft, которая поддерживает LDAP.
Конфигурирование Servigistics InService для использования системы LDAP с Active Directory включает в себя следующие шаги.
Конфигурирование адаптера JNDI
Чтобы сконфигурировать адаптер JNDI, выполните следующие шаги.
1. Получите следующие параметры вашей настройки Active Directory (пример):
Хост-компьютер: ad.ptcnet.com
Порт: 389
Пользователь учетной записи службы: CN=Mike, CN=Users, DC=ad, DC=ptcnet, DC=com
Пароль учетной записи службы: W1ndch1ll
Поисковая база: CN=Users, DC=ad, DC=ptcnet, DC=com
Также проверьте, существует ли атрибут sAMAccountName, который подсвечен на следующем изображении:
2. Создайте и включите адаптер JNDI.
a. Перейдите в папку bin:
b. Откройте оболочку Windchill и выполните следующую команду:
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
В этой команде замените com.ptcnet.ptc-training.jndiAdapter.ad нужным наименованием службы.
c. Введите следующие значения в файл sc.wt.properties.xconf/site.xconf, расположенный в <WT_HOME\>.
URL провайдера: <хост_компьютер>ldap://:<порт>
Различающееся имя в поисковой базе: это поисковое различающееся имя из вашей настройки Active Directory.
Добавьте следующие свойства. Проверьте, существуют ли также в Active Directory следующие свойства:
<ServiceName>.windchill.config.directoryType - ADS
<ServiceName>.windchill.mapping.cn - cn
<ServiceName>.windchill.mapping.user.objectClass - user
<ServiceName>.windchill.mapping.user.uniqueIdAttribute – sAMAccountName
Пример:
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. Сконфигурируйте учетные данные службы:
a. Из того же самого расположения, которое указано на шаге 2b, запустите оболочку Windchill.
b. Если свойства mapcredentials.admin.adapters нет в файле site.xconf, добавьте это свойство, выполнив следующую команду:
xconfmanager -s
mapcredentials.admin.adapters='com.ptc.Ldap^cn=
Manager^encrypted.com.ptc.Ldap.cn=Manager’
-t codebase.war/wt.properties –p
c. Создайте и выполните следующую команду, чтобы изменить mapCredentials:
xconfmanager --add
"mapcredentials.admin.adapters=
<jndiAdapter name>^<distinguished name of service account user>^<user password> "
-t " codebase.war/wt.properties " -p
Пример:
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. Добавьте пароль для архива JBOSS.
a. Чтобы добавить пароль сервера Active Directory в архив, выполните следующую команду:
<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> - это параметр, который должен передаваться во внешнюю систему LDAP, а ldap - это ключ для файла standalone-full-<database-name>.xml, который необходимо изменить при копировании с ldap2, как в этой команде. Например,
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. Отредактируйте файл standalone-full-<database-name>.xml, добавив информацию об архиве. Путь к этому файлу: <InS_Installation_Dir>\InS_SW\SW\System\WildFly\standalone\configuration\standalone-full-<database-name>.xml
5. Добавьте Login-Module в файл standalone-full-<database-name>.xml.
a. Отредактируйте <database-name>standalone-full-.xml, где database-name - это наименование внутренней базы данных, используемой с параметрами Active Directory, собранными на шаге 1. Путь к файлу: <Каталог установки InService>\InS_SW\SW\System\WildFly\standalone\configuration\standalone-full-<database-name>.xml. Например, если во время установки используется база данных Oracle, то измените наименование БД на standalone-full-oracle.xml.
Пример
b. Сохраните и закройте файл и перезапустите сервер JBOSS.
6. Чтобы убедиться, что конфигурирование завершено успешно, войдите в систему Task Manager.
Очистка удостоверений пользователя в кэше JBOSS - сведения о конечной точке REST
После выполнения пользователем входа на сервер Active Directory этот пользователь добавляется в базу данных администратора. Чтобы удалить пользователя из базы данных, выполните следующие шаги.
1. На главной странице Servigistics InService перейдите в раздел Пользователи и удалите пользователя.
2. На сервере Active Directory отключите учетную запись пользователя.
3. Выполните следующие команды интерфейса пользователя REST, чтобы очистить учетные данные пользователя в кэше.
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
Подробные сведения о заголовке
Задайте следующие сведения о заголовке:
Authorization: Basic (учетные данные администратора Servigistics InService)
Accept: application/vnd.ptc.sc+json;version=2
Content-Type: application/vnd.ptc.sc+json; version=2
Аутентификация
Для конечной точки REST требуется базовая аутентификация набора пользователей в сессии. Такой пользователь сессии должен быть либо администратором изготовителя оборудования, либо пользователем с правами администратора для Servigistics InService. Только эти пользователи могут использовать данный компонент.