Servigistics InService 배포 > 고급 구성 > 외부 LDAP 시스템을 사용하도록 Servigistics InService 구성
  
외부 LDAP 시스템을 사용하도록 Servigistics InService 구성
Servigistics InService를 배포할 때 엔터프라이즈 ID 관리(LDAP) 시스템을 사용하여 사용자를 관리할 수 있습니다. 이 외부 사용자 정보에 액세스하도록 Servigistics InService를 구성해야 합니다.
외부 LDAP 시스템을 사용하도록 Servigistics InService를 구성하는 작업에는 다음 단계가 포함됩니다.
1. 기존 어댑터 목록에 JNDI 어댑터 추가
2. 디렉토리에 대한 관리 액세스 제어 권한 설정
외부 LDAP에 연결
사전 요구 사항
Servigistics InService를 외부 LDAP에 연결하려면 외부 LDAP에 대한 외부 LDAP URL, 기본 DN(구분 이름) 컨텍스트, 로그인 ID 및 암호가 있어야 합니다. 예:
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
* 
기본 DN을 가져오려면 EnterpriseLdap > people로 이동하십시오.
외부 LDAP 구성
1. 선택 사항: 연결할 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 어댑터를 생성하고 사용 가능으로 설정하려면 다음 세부 정보를 지정합니다.
LDAP URL
기본 DN 컨텍스트
예를 들면 다음과 같습니다.
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은 이 명령에 따라 ldap2를 사용하여 복사하는 동안 수정해야 할 standalone-full-<database-name>.xml 파일에 대한 키입니다. 예를 들면 다음과 같습니다.
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을 사용하지 않음으로 설정하려면 wt.properties에서 com.ptc.sc.allowInternalAccountsCreation 특성을 "false"로 설정합니다.
* 
다음 절차에서는 외부 LDAP 디렉토리가 이미 설치 및 구성되어 있다고 가정합니다.
Active Directory로 LDAP 구성
Active Directory는 LDAP을 지원하는 Microsoft에 의해 구현되는 디렉토리 서비스 데이터베이스입니다.
LDAP 시스템을 Active Directory와 함께 사용하도록 Servigistics InService를 구성하려면 다음 단계를 수행합니다.
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. <WT_HOME\>에 있는 sc.wt.properties.xconf/site.xconf에 다음 값을 입력합니다.
공급자 URL: ldap://<host>:<port>
검색 기준 구분 이름: 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 Server 암호를 추가하려면 다음 명령을 실행합니다.
<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은 이 명령에 따라 ldap2를 사용하여 복사하는 동안 수정해야 할 standalone-full-<database-name>.xml 파일에 대한 키입니다. 예를 들면 다음과 같습니다.
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. standalone-full-<database-name>.xml 파일에 Login-Module을 추가합니다.
a. standalone-full-<database-name>.xml을 편집합니다. 여기서 database-name은 1단계에서 수집한 Active Directory 세부 정보를 사용하여 설치하는 동안 사용되는 백엔드 데이터베이스입니다. 파일 경로는 <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 Server에서 사용자 계정을 사용 불가능으로 설정합니다.
3. 다음 REST All을 실행하여 캐시에서 사용자 자격 증명을 지웁니다.
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 끝점에는 세션 사용자가 설정되어 있는 기본 인증이 필요합니다. 이 세션 사용자는 OEM 관리자 사용자 또는 Servigistics InService에 대한 관리 권한이 있는 사용자여야 합니다. 이러한 사용자만 이 기능을 사용할 수 있습니다.