Servigistics InService Bereitstellung > Erweiterte Konfigurationen > Servigistics InService konfigurieren, um ein externes LDAP-System zu verwenden
  
Servigistics InService konfigurieren, um ein externes LDAP-System zu verwenden
Wenn Sie Servigistics InService bereitstellen, können Sie ein Enterprise-Identitätsverwaltungssystem (LDAP-System) verwenden, um die Benutzer zu verwalten. Sie müssen Servigistics InService für den Zugriff auf diese externen Benutzerinformationen konfigurieren.
Zum Konfigurieren von Servigistics InService für die Verwendung eines externen LDAP-Systems müssen die folgenden Schritte ausgeführt werden:
1. Den JNDI-Adapter der Liste der vorhandenen Adapter hinzufügen
2. Administrative Zugriffssteuerungsberechtigungen für das Verzeichnis festlegen
Mit einem externen LDAP verbinden
Voraussetzungen
Um Servigistics InService mit einem externen LDAP zu verbinden, muss Folgendes vorhanden sein: externe LDAP-URL, Kontext des eindeutigen Basisnamens, Anmelde-ID und Passwort für das externe LDAP. Beispiel:
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
* 
Um den eindeutigen Basisnamen abzurufen, gehen Sie zu EnterpriseLdap > people:
Externes LDAP konfigurieren
1. Optional: Installieren und konfigurieren Sie das LDAP, zu dem Sie eine Verbindung herstellen möchten. Dieser Schritt ist optional, wenn es bereits installiert ist.
2. Um den JNDI-Adapter zu erstellen und zu aktivieren, führen Sie den folgenden Befehl in der Windchill Shell aus:
<InS_HOME>\InS_SW\SW\Applications\Windchill.ear\bin
Für 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
Für 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. Um die administrativen Zugriffssteuerungsberechtigungen für das Verzeichnis festzulegen, fügen Sie die Anmeldeinformationen zur Datei hinzu. Wenn der Adapter beispielsweise com.ptc.ldap-ext ist, ist der Benutzername cn=manager und das Passwort admin. Wenn die Eigenschaft mapcredentials.admin.adapters nicht in der Datei site.xconf vorhanden ist, fügen Sie diese Eigenschaft unter Verwendung des folgenden Befehls hinzu:
xconfmanager -s
mapcredentials.admin.adapters=
'com.ptc.Ldap^cn=Manager^encrypted.com.ptc.Ldap.cn=Manager’
-t codebase.war/wt.properties –p
Führen Sie dann den folgenden Befehl aus:
xconfmanager --add
"mapcredentials.admin.adapters=com.ptc.ptcnet.ldap-ext^cn=manager^admin"
-t "codebase.war\wt.properties" -p
4. Um einen JNDI-Adapter zu erstellen und zu aktivieren, geben Sie die folgenden Details an:
LDAP-URL
Kontext für eindeutigen Basisnamen
Beispiel:
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. Fügen Sie das Passwort zum JBOSS-Depot hinzu.
a. Um das LDAP-Serverpasswort zum Depot hinzuzufügen, führen Sie den folgenden Befehl aus:
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> ist, was Sie für den externen LDAP übergeben müssen, und ldap ist der Schlüssel für die Datei standalone-full-<database-name>.xml, die Sie beim Kopieren mit ldap2 gemäß dieses Befehls ändern müssen. Beispiel:
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. Bearbeiten Sie die Datei standalone-full-<database-name>.xml, um Depotinformationen hinzuzufügen. Diese Datei befindet sich unter <InS_Installation_Dir>\InS_SW\SW\System\WildFly\standalone\configuration\standalone-full-<database-name>.xml
6. Aktualisieren Sie die JBOSS-Konfiguration.
a. Navigieren Sie zu <InS_HOME>\SW\System\WildFly\standalone\configuration.
b. Bearbeiten Sie die Datei standalone-full-<database-name>.xml, wobei <database-name> der Name der Backend-Datenbank ist, die bei der Installation verwendet wird. Wenn die während der Installation verwendete Datenbank beispielsweise Oracle ist, dann ändern Sie standalone-full-oracle.xml.
c. Suchen Sie nach der Zeichenfolge org.jboss.security.auth.spi.LdapExtLoginModule in dieser Datei.
d. Fügen Sie einen neuen Eintrag für Login-Module hinzu, um das externe LDAP zu konfigurieren. Ändern Sie die Werte in Gelb gemäß Ihrer Suchbasis.
7. Starten Sie JBOSS neu.
* 
Die Beispiele in diesem Abschnitt verwenden zu Demonstrationszwecken ein PTC und Servigistics InService LDAP-System. Bearbeiten Sie die Befehle und den Code entsprechend den Anforderungen Ihrer Umgebung.
* 
Um die Verwendung des internen LDAP zu deaktivieren, stellen Sie die Eigenschaft com.ptc.sc.allowInternalAccountsCreation in wt.properties auf false.
* 
Bei den folgenden Verfahren wird davon ausgegangen, dass das externe LDAP-Verzeichnis bereits installiert und konfiguriert wurde.
LDAP mit Active Directory konfigurieren
Active Directory ist eine von Microsoft implementierte Verzeichnisdienst-Datenbank, die LDAP unterstützt.
Zum Konfigurieren von Servigistics InService für die Verwendung eines LDAP-Systems mit Active Directory müssen die folgenden Schritte ausgeführt werden:
JNDI-Adapter konfigurieren
Führen Sie die folgenden Schritte aus, um den JNDI-Adapter zu konfigurieren:
1. Rufen Sie die folgenden Parameter aus Ihrem Active Directory-Setup ab, beispielsweise:
Host: ad.ptcnet.com
Port: 389
Service Account User: CN=Mike,CN=Users,DC=ad,DC=ptcnet,DC=com
Service Account Password: W1ndch1ll
Search Base: CN=Users,DC=ad,DC=ptcnet,DC=com
Prüfen Sie außerdem, ob das Attribut sAMAccountName wie in der folgenden Abbildung hervorgehoben vorhanden ist:
2. Erstellen und aktivieren Sie den JNDI-Adapter.
a. Wechseln Sie zum Ordner bin:
b. Öffnen Sie die Windchill Shell, und führen Sie den folgenden Befehl aus:
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
Ersetzen Sie in diesem Befehl com.ptcnet.ptc-training.jndiAdapter.ad durch Ihren Dienstnamen.
c. Geben Sie die folgenden Werte in sc.wt.properties.xconf/site.xconf in <WT_HOME\> ein.
Server-URL: ldap://<host>:<port>
Eindeutiger Name der Suchbasis: Dies ist der eindeutige Name der Suchbasis Ihres Active Directory-Setups.
Fügen Sie die folgenden Eigenschaften hinzu. Prüfen Sie auch, ob diese in Ihrem Active Directory vorhanden sind:
<ServiceName>.windchill.config.directoryType - ADS
<ServiceName>.windchill.mapping.cn - cn
<ServiceName>.windchill.mapping.user.objectClass - user
<ServiceName>.windchill.mapping.user.uniqueIdAttribute – sAMAccountName
Beispiel:
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. Konfigurieren Sie die Dienstkonto-Anmeldeinformationen:
a. Führen Sie am selben Speicherort wie in Schritt 2b angegeben die Windchill Shell aus.
b. Wenn die Eigenschaft mapcredentials.admin.adapters nicht in site.xconf vorhanden ist, fügen Sie diese Eigenschaft hinzu, indem Sie den folgenden Befehl ausführen:
xconfmanager -s
mapcredentials.admin.adapters='com.ptc.Ldap^cn=
Manager^encrypted.com.ptc.Ldap.cn=Manager’
-t codebase.war/wt.properties –p
c. Erstellen Sie den folgenden Befehl, und führen Sie ihn aus, um mapCredentials zu ändern:
xconfmanager --add
"mapcredentials.admin.adapters=
<jndiAdapter name>^<distinguished name of service account user>^<user password> "
-t " codebase.war/wt.properties " -p
Beispiel:
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. Fügen Sie das Passwort zum JBOSS-Depot hinzu.
a. Um das Active Directory-Serverpasswort zum Depot hinzuzufügen, führen Sie den folgenden Befehl aus:
<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> ist, was Sie für den externen LDAP übergeben müssen, und ldap ist der Schlüssel für die Datei standalone-full-<database-name>.xml, die Sie beim Kopieren mit ldap2 gemäß dieses Befehls ändern müssen. Beispiel:
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. Bearbeiten Sie die Datei standalone-full-<database-name>.xml, um Depotinformationen hinzuzufügen. Diese Datei befindet sich unter <InS_Installation_Dir>\InS_SW\SW\System\WildFly\standalone\configuration\standalone-full-<database-name>.xml
5. Fügen Sie Login-Module der Datei standalone-full-<database-name>.xml hinzu.
a. Bearbeiten Sie standalone-full-<database-name>.xml, wobei database-name die Backend-Datenbank ist, die beim Installieren mit Ihren Active Directory-Details (erfasst in Schritt 1) verwendet wird. Der Dateipfad ist <InService Installation Directory>\InS_SW\SW\System\WildFly\standalone\configuration\standalone-full-<database-name>.xml. Wenn die während der Installation verwendete Datenbank beispielsweise Oracle ist, dann ändern Sie standalone-full-oracle.xml.
Beispiel:
b. Speichern und schließen Sie die Datei, und starten Sie den JBOSS-Server neu.
6. Um zu prüfen, ob die Konfiguration erfolgreich abgeschlossen wurde, melden Sie sich bei Task Manager an.
Benutzer-Anmeldeinformationen aus JBOSS-Cache löschen – Details zu REST-Endpunkt
Nachdem ein Benutzer sich beim Active Directory-Server angemeldet hat, wird der Benutzer zur Administratordatenbank hinzugefügt. Um den Benutzer aus der Datenbank zu entfernen, führen Sie die folgenden Schritte durch:
1. Gehen Sie auf der Servigistics InService Startseite zu Benutzer, und löschen Sie den Benutzer.
2. Deaktivieren Sie auf dem Active Directory-Server das Benutzerkonto.
3. Führen Sie den folgenden REST All-Befehl aus, um die Benutzer-Anmeldeinformationen aus dem Cache zu löschen.
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
Kopfzeilendetails
Legen Sie die folgenden Kopfzeilendetails fest:
Authorization: Basic (Anmeldeinformationen des Administratorkontos von Servigistics InService)
Accept: application/vnd.ptc.sc+json;version=2
Content-Type: application/vnd.ptc.sc+json;version=2
Authentifizierung
Der REST-Endpunkt erfordert die Basisauthentifizierung mit festgelegtem Sitzungsbenutzer. Dieser Sitzungsbenutzer muss ein OEM-Administratorbenutzer oder ein Benutzer mit Administratorrechten für Servigistics InService sein. Nur diese Benutzer können diese Funktion verwenden.