|
Stellen Sie sicher, dass Sie den Wert jedes Parameters gemäß Ihrer Anforderung bearbeiten. Ihre Implementierung sieht möglicherweise anders aus und hängt von mehreren Faktoren ab, z.B. dem Ort, an dem ThingWorx gehostet wird, den Sicherheitsrichtlinien Ihrer Organisation und dem CAS für Ihren Verbund. Verwenden Sie die Informationen in den folgenden Tabellen als Leitfaden, um Werte für die verschiedenen Parameter festzulegen.
|
Parameter
|
Beschreibung
|
Wert
|
||
---|---|---|---|---|
clientBaseUrl
|
Gibt die URL der ThingWorx Serverinstanz an.
Legen Sie dies auf den vollständig qualifizierten Domänennamen (FQDN) des ThingWorx Servers fest.
Wenn Sie ThingWorx für den Betrieb in einer Hochverfügbarkeitsumgebung (HA, High Availability) konfiguriert haben, geben Sie den Host und den Port des Lastenausgleichs an.
|
http://<ThingWorx-FQDN>:<port-number>/Thingworx
ODER
In einer Hochverfügbarkeitsumgebung: https://<Lastenausgleich-Hostname>:<Lastenausgleich-Portnummer>/Thingworx
|
||
idpMetadataFilePath
|
Obligatorisch nur für SAML-Authentifizierung. Gibt den absoluten Dateipfad-Speicherort der IdP-Metadatendatei an.
|
/ThingworxPlatform/ssoSecurityConfig/sso-idp-metadata.xml
|
||
metadataEntityId
|
Obligatorisch nur für SAML-Authentifizierung. Gibt die Entitäts-ID der Dienstanbieter-Verbindung an.
• PingFederate als CAS: Verwenden Sie die eindeutige ID, die Sie beim Konfigurieren der Dienstanbieter-Verbindung gewählt haben.
• Microsoft Entra ID als CAS: Verwenden Sie die Identifier (Entitity ID), die Sie beim Konfigurieren der grundlegenden SAML-Einstellungen definiert haben.
• AD FS als CAS: Verwenden Sie den Relying party trust identifier, den Sie beim Konfigurieren der Vertrauensstellungseinstellungen der vertrauenden Seite definiert haben.
|
–
|
||
metadataEntityBaseUrl
|
Obligatorisch nur für SAML-Authentifizierung. Gibt den vollständig qualifizierten Domänennamen des ThingWorx Servers an.
Wenn Sie ThingWorx für den Betrieb in einer Hochverfügbarkeitsumgebung (HA, High Availability) konfiguriert haben, geben Sie den Host und den Port des Lastenausgleichs an.
|
http://<ThingWorx-FQDN>:<port-number>/Thingworx
ODER
In einer Hochverfügbarkeitsumgebung: https://<Lastenausgleich-Hostname>:<Lastenausgleich-Portnummer>/Thingworx
|
||
webSSOProfileConsumerResponseSkew
|
Gibt die Versatztoleranz für die Assertion Consumer-Antwort für SAML 2.0 Web SSO an.
Berücksichtigen Sie beim Festlegen dieses Werts Ihre eigenen Sicherheitsanforderungen sowie Latenz im Unternehmensnetzwerk.
Verwenden Sie diese Einstellung, um den Zeitraum (in Sekunden) festzulegen, der für die Rückgabe einer Antwort auf eine Anmeldeanforderung vom CAS an ThingWorx zulässig ist. Wenn die Antwort auf eine Anmeldeanforderung länger als dieser Wert dauert, schlägt der Anmeldeversuch fehlt.
Die Versatztoleranz ist die Abweichung bei der Antwortgültigkeit, die der Empfänger aufgrund der angenommenen Unterschiede zwischen Systemtaktzeiten zulässt. Als optimale Vorgehensweise empfiehlt sich, die Auswirkungen des Versatzes zu minimieren, indem sichergestellt wird, dass die Taktraten der betroffenen Systeme ordnungsgemäß synchronisiert sind.
|
300
|
||
webSSOProfileConsumerReleaseDOM
|
Bestimmt, ob das Sicherheits-Framework an der SAML-Bestätigung festhält, nachdem die Authentifizierung abgeschlossen ist.
Wenn falsch festgelegt wird, wird die SAML-Bestätigung nach der Authentifizierung beibehalten.
|
wahr
|
||
webSSOProfileResponseSkew
|
Gibt die Versatztoleranz für die Profilantwort für SAML 2.0 Web SSO an.
Berücksichtigen Sie beim Festlegen dieses Werts Ihre eigenen Sicherheitsanforderungen sowie Latenz im Unternehmensnetzwerk.
Die Versatztoleranz ist die Abweichung bei der Antwortgültigkeit, die der Empfänger aufgrund der angenommenen Unterschiede zwischen Systemtaktzeiten zulässt. Als optimale Vorgehensweise empfiehlt sich, die Auswirkungen des Versatzes zu minimieren, indem sichergestellt wird, dass die Taktraten der betroffenen Systeme ordnungsgemäß synchronisiert sind.
|
300
|
||
retriggerOnScopesRemoval
|
Gibt an, ob die Liste der erforderlichen Bereiche geändert wurde und aktualisiert werden muss.
Wenn der Wert auf wahr festgelegt wird, gibt dies an, dass der Liste der erforderlichen Bereiche ein Bereich hinzugefügt oder aus ihr entfernt wurde.
Wenn der Wert auf falsch festgelegt wird, gibt dies an, dass der Liste der erforderlichen Bereiche ein Bereich hinzugefügt wurde.
|
wahr
|
||
samlAssertionUserNameAttributeName
|
Obligatorisch nur für SAML-Authentifizierung. Gibt an, welches SAML-Attribut den Wert enthält, der die Benutzernamen der ThingWorx Benutzer bei der Anmeldung speichert. Stellen Sie sicher, dass der Wert dieses Attributs im Identitätsanbieter mit den Benutzernamenwerten übereinstimmt, die Sie für ThingWorx Benutzernamen verwenden würden.
|
• PingFederate oder Microsoft Entra-ID als CAS:
UID
• AD FS als CAS:
http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name
|
||
samlAssertionMaxAuthenticationAge
|
Obligatorisch nur für SAML-Authentifizierung. Gibt das Höchstalter (in Sekunden) der SAML 2.0-Bestätigung an, bevor sie abläuft. Dies gibt auch die maximale Sitzungszeit für eine Authentifizierungsbestätigung an.
Legen Sie den Wert so fest, dass er mit dem Sitzungs-Zeitüberschreitungswert übereinstimmt, der im Identitätsanbieter angegeben wurde. Dieser Wert ist unterschiedlich, je nach verwendetem IdP.
|
• PingFederate als CAS mit LDAP IdP (Windchill): 7200 (Standardeinstellung)
• AD FS als IdP (mit AD FS oder PingFederate als CAS): 28800
• Microsoft Entra-ID als IdP (mit Microsoft Entra-ID oder PingFederate als CAS): 86400
|
||
ptcOperatorsGroupName
|
Optional.
Legen Sie diesen Parameter fest, um eine Gruppe (wie in IDP definiert) so zu konfigurieren, dass sie automatisch Teil der ThingWorx Administratorengruppe wird.
|
|||
administratorAlias
|
Obligatorisch für die OIDC-Authentifizierung.
|
Der Benutzername des Administrators, wie in CAS[IDP] konfiguriert
|
||
administratorInternalName
|
Obligatorisch, wenn administratorAlias definiert ist.
|
Der Benutzername des Administrators, wie in ThingWorx konfiguriert. Beispiel: Administrator.
|
||
samlGroupClaimName
|
Optional, aber nur für die SAML-Authentifizierung obligatorisch.
Dieser Parameter ist nur relevant, wenn ptcOperatorsGroupName definiert ist.
Geben Sie den in CAS konfigurierten IDP SAML Group Claim Name ein, um die Automatisierung für diese Gruppe in ThingWorx SSO-Authentifikator abzuschließen. Weitere Informationen finden Sie unter ThingworxSSOAuthenticator.
|
Beispiele:
Für PingFederate als CAS: group
Für ADFS als CAS: http://schemas.xmlsoap.org/claims/Group
Für Microsoft Entra-ID als CAS: http://schemas.microsoft.com/ws/2008/06/identity/claims/groups
|
||
authnContextAsPassword
|
Optional. In seltenen Fällen erfordert IdP, dass Sie die nächste Bestätigung in die SAML-Anforderung einfügen.
<saml2p:RequestedAuthnContext Comparison="exact">
<saml2:AuthnContextClassRef xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion"> urn:oasis:names:tc:SAML:2.0:ac:classes:Password </saml2:AuthnContextClassRef> </saml2p:RequestedAuthnContext> In diesen Fällen sollten Sie diese Eigenschaft definieren.
|
false
|
||
authenticationType
|
Optional. Authentifizierungstyp: oidc/saml. Standardwert = saml
|
Nicht erforderlich für PingFederate und ADFS (da "saml" die Standardeinstellung ist)
Für Microsoft Entra ID – saml/oidc
Für Azure AD B2C und Atlas IAM – oidc
|
|
Wenn Sie den Anwendungsschlüssel-Authentifikator aktivieren möchten, wenn SSO aktiviert ist, müssen Sie den folgenden ApplicationKeySettings-Konfigurationsabschnitt zu den sso-settings.json-Einstellungen unter BasicSettings hinzufügen. Dies ist nur erforderlich, wenn Sie Anwendungsschlüssel für die Authentifizierung über REST-API-Anforderungen verwenden möchten. Anwendungsschlüssel können weiterhin von Edge-Geräten über WebSockets verwendet werden, unabhängig davon, ob diese Einstellung aktiviert oder deaktiviert ist.
{
"BasicSettings": { ... }, "ApplicationKeySettings": { "enabled": true }, ... } |
Parameter
|
Beschreibung
|
Wert
|
---|---|---|
dbType
|
Gibt den Typ der Datenbank an, die für die ThingWorx Installation konfiguriert ist und verwendet wird.
• Um dieselbe Datenbank zu verwenden, die in der Datei platform-settings.json festgelegt ist, geben Sie denselben Datenbanktyp und dieselben Anmeldeinformationen wie in platform-settings.json an.
|
postgres
|
mssql
|
||
driverClassName
|
Gibt den Treiberklassennamen an, den Sie in der Datei platform-settings.json verwenden.
|
Wenn dbType auf postgres festgelegt ist, legen Sie hier org.postgresql.Driver fest.
|
Wenn dbType auf mssql festgelegt ist, legen Sie hier com.microsoft.sqlserver.jdbc.SQLServerDriver fest.
|
||
url
|
Gibt die URL zum Datenbankspeicherort für Ihre ThingWorx Installation an.
|
Wenn dbType auf postgres festgelegt ist, legen Sie hier jdbc:postgresql://<Hostname>:<port>/thingworx fest.
|
Wenn dbType auf mssql festgelegt ist, legen Sie hier jdbc:sqlserver://<Hostname>:<Port>;databaseName=thingworx;applicationName=Thingworx fest.
|
||
username
|
Gibt den Benutzernamen für die Datenbank an, die Ihr System zum Speichern von Zugriffs-Token verwendet. Dieser sollte mit dem Benutzernamen übereinstimmen, den Sie in der Datei platform-settings.json angegeben haben.
|
–
|
password
|
Gibt das Passwort für die Datenbank an, die Ihr System zum Speichern von Zugriffs-Token verwendet. Dieser sollte mit dem Passwort übereinstimmen, das Sie in der Datei platform-settings.json angegeben haben.
|
–
|
encryptTokenInDatabase
|
Legen Sie wahr fest, um das Zugriffs-Token zu verschlüsseln, bevor es in der Datenbank persistent gemacht wird.
|
wahr
|
dbType
|
Speicherort in der Datenbank, in der erteilte Berechtigungen gespeichert werden
|
---|---|
postgres
|
In der Tabelle oauth_client_token in der ThingWorx PostgreSQL-Datenbank.
|
mssql
|
In der Tabelle oauth_client_token in der ThingWorx MS SQL-Datenbank.
|
Parameter
|
Beschreibung
|
Wert
|
||
---|---|---|---|---|
keyStoreFilePath
|
Gibt den absoluten Dateipfad-Speicherort des Keystore an. Ändern Sie den Pfad entsprechend Ihrer Umgebung so, dass Sie das Verzeichnis verwenden, in dem die Keystore-Datei gespeichert ist.
|
Für Windows: <Laufwerk>:\\ThingworxPlatform\\ssoSecurityConfig\\sso-keystore.jks
wobei <Laufwerk> das Laufwerk ist, auf dem Sie ThingWorx installiert haben.
Für Linux: <vollständiger Pfad>/ThingworxPlatform/ssoSecurityConfig/sso-keystore.jks
|
||
keyStoreStorePass
|
Gibt das Keystore-Passwort an.
|
–
|
||
keyStoreKey
|
Gibt den Standardschlüssel an.
|
–
|
||
keyStoreKeyPass
|
Gibt das Passwort an, das zum Zuzugreifen auf private Schlüssel verwendet wird.
|
–
|
|
Die Einstellungen für AuthorizationServersSettings können Informationen für mehr als einen Autorisierungsserver enthalten. Jeder Server wird durch eine eindeutige ID in der Datei sso-settings.json identifiziert.
|
Parameter
|
Beschreibung
|
Wert
|
||
---|---|---|---|---|
<AutorisierungsserverID1>.clientId
|
Gibt die Client-ID für den Abruf von Zugriffs-Token vom Autorisierungsserver an.
|
–
|
||
<AutorisierungsserverID1>.clientSecret
|
Gibt die Client-Anmeldeinformationen an, die zur Authentifizierung mit dem Autorisierungsserver verwendet werden.
Legen Sie diesen Parameter auf die vollständig qualifizierte Domänennamenserver-URL des Netzwerks fest.
|
–
|
||
<AutorisierungsserverID1>.authorizeUri
|
Gibt den URI an, zu dem der Benutzer umgeleitet wird, um ein Zugriffs-Token zu autorisieren.
|
• PingFederate als CAS:
https://<PingFederate-Host-Name>:<PingFederate-Port-Number>/as/authorization.oauth2
• Microsoft Entra-ID als CAS: Siehe ThingWorx Konfigurationsdateien aktualisieren in der Dokumentation zur Microsoft Entra-ID-Autorisierung.
• Azure FS als CAS: Siehe ThingWorx Konfigurationsdateien aktualisieren in der Dokumentation für die Azure FS-Autorisierung.
|
||
<AutorisierungsserverID1>.tokenUri
|
Gibt den URI zum Abrufen eines OAuth2-Zugriffs-Tokens an.
Legen Sie diesen Parameter auf die vollständig qualifizierte Domänennamenserver-URL des Netzwerks fest.
|
https://<PingFederate-Host-Name>:<PingFederate-Port-Number>/as/token.oauth2
|
||
<AutorisierungsserverID1>.clientAuthScheme
|
Gibt das Schema zum Authentifizieren des Clients an. Die zulässigen Werte sind:
• form
• header
• query
• none
|
form
|
||
<AutorisierungsserverID1>.mandatoryScopes
|
Optional für andere CAS als Microsoft Entra-ID und ADFS. Dieser Bereich wird automatisch zu jedem angeforderten Zugriffstoken hinzugefügt, wenn dieser Parameter definiert wird.
|
Obligatorisch für Microsoft Entra-ID als CAS. Erforderlicher Wert ist "offline_access".
Obligatorisch für ADFS: Dies kann ein beliebiger Wert sein, der nicht in der Liste der Bereiche auf dem ADFS-Server definiert ist.
|
Parameter
|
Beschreibung
|
Wert
|
---|---|---|
openIdConfigurationUri
|
Obligatorisch
Dies ist der URI für die OpenID-Server-Metadaten.
Er wird in der Regel unter einer bekannten URL veröffentlicht.
|
|
clientId
|
Gibt die Client-ID für den Abruf von Zugriffs-Token vom Autorisierungsserver an.
|
|
clientSecret
|
Gibt die Client-Anmeldeinformationen an, die zur Authentifizierung mit dem Autorisierungsserver verwendet werden.
|
|
additionalScopes
|
Optional
Eine kommagetrennte Zeichenfolge mit zusätzlichen Bereichen für die OIDC-Autorisierung.
|
|
assertionUserNameAttributeName
|
Gibt an, welcher OpenID-Anspruch den Wert enthält, der die Benutzernamen der ThingWorx Benutzer bei der Anmeldung speichert. Stellen Sie sicher, dass der Wert dieses Attributs im Identitätsanbieter mit den Benutzernamenwerten übereinstimmt, die Sie für ThingWorx Benutzernamen verwenden würden.
Für Azure AD B2C – Stellen Sie sicher, dass der Wert dieses Attributs für alle Identitätsanbieter eindeutig ist.
|
|
accessTokenClaimsValidation
|
Optional
Gibt das Vorhandensein von Zugriffs-Token-Ansprüchen und die Validierung des Anspruchswerts an.
Die Eingabe ist eine einfache JSON-Zeichenfolge, bei der jede Eigenschaft ein erforderlicher Anspruchsname und der Wert der erforderliche Anspruchswert ist. Wenn kein Wert (leere Zeichenfolge) angegeben wird, wird nur das Vorhandensein des Anspruchsnamens validiert.
|
|
useAccessTokenClaims
|
Optional
Gibt an, ob Zugriffs-Token-Ansprüche für die Benutzererweiterungszuordnung abgerufen werden sollen.
Legen Sie diese Eigenschaft nur dann auf "wahr" fest, wenn Folgendes zutrifft:
• Das Zugriffs-Token enthält Ansprüche, die nicht im OpenID-Token eingeschlossen und für die Benutzererweiterung erforderlich sind.
• Für Azure AD B2C – Wenn Sie Benutzergruppeninformationen mit AzureSettings.apiEndPoint abrufen möchten.
|
wahr/falsch
|
authorizeUriAdditionalParameters
|
Optional
Zusätzliche Parameter für die OIDC-Authentifizierung.
|
Parameter
|
Beschreibung
|
Wert
|
||
---|---|---|---|---|
apiEndPoint
|
Optional
Azure Graph-Endpunkt
Nur für den Abruf von Gruppeninformationen erforderlich (wenn OpenID/Zugriffs-Token keinen Gruppenanspruch enthält).
|