Конфигурирование 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. Только эти пользователи могут использовать данный компонент.