Konfiguration des REST-Servers

In Innovator können Sie eine REST-API zwischen Client und Server einrichten. Hierfür müssen Sie zunächst einen REST-Server einrichten und diesen im Anschluss konfigurieren. Dieses Hilfethema beschreibt die Konfiguration des REST-Servers. Unter Einrichtung des REST-Servers finden Sie das Vorgehen zur Einrichtung des REST-Servers

Voraussetzungen

  • Grundlegende Kenntnisse in der Server- und Client-Administration sind vorhanden.

Konfiguration des REST-Servers

1 von 2: Konfiguration über das Administrationsprogramm

Folgen Sie den folgenden Schritten, um die Konfiguration des REST-Servers über das Administrationsprogramm vorzunehmen:

1. Starten Sie das  Administrationsprogramm und navigieren Sie unten links zum Menüpunkt REST-Server Konfiguration.

2. Wählen Sie den zu konfigurierenden REST-Server aus und klicken Sie auf Anmelden.

3. Geben Sie das Passwort ein, welches in der Datei ConfigSecurity.json festgelegt ist.

Hinweis

Ändern Sie das Passwort beim ersten Login über die Schaltfläche Passwort ändern. Es muss mindestens 20 Zeichen lang sein und eine Ziffer, einen Kleinbuchstaben sowie einen Großbuchstaben enthalten.
Das Default-Passwort ist: S0M3RAN0MS3CR3T!1!R3$TC0N3I6

4. Um die Konfigurationseinstellungen zu ändern, klicken Sie auf Eigenschaften bearbeiten und passen Sie die gewünschten Kategorien an. (Weitere Informationen zu den Konfigurationsdateien finden Sie unter "2 von 2: Konfigurationsdateien und Parameter"

5. Speichern Sie die Änderungen mit Übernehmen.

6. Sollte der Server neu gestartet werden müssen, zeigt dies die Liste der Server an. Starten Sie den ausgewählten REST-Server über die Schaltfläche Neustart neu.

2 von 2: Konfigurationsdateien und Parameter

ConfigSecurity.json:

  • ConfigPassword: Passwort, um sich am REST-Server über das Administrationsprogramm zu authentifizieren. (Muss min. 20 Zeichen lang sein, eine Ziffer, ein Kleinbuchstabe und ein Großbuchstabe enthalten.)

  • Kann nur im Administrationsprogramm über die Schaltfläche Passwort ändern des ausgewählten REST-Servers geändert werden. ConfigSecurity.json befindet sich nicht in der Liste der änderbaren Dateien.

SecuritySettings.json:

  • JwtSettings:

    • Key: Hier wird der PrivateKey definiert, der für die Verschlüsselung bzw. Signierung der JWT-Token verwendet wird. (Muss min. 20 Zeichen lang sein, eine Ziffer, ein Kleinbuchstabe und ein Großbuchstabe enthalten.)

    • TokenExpirationInMinutes: Gibt die Gültigkeitsdauer eines Tokens in Minuten an.

    • RefreshTokenExpirationInDays: Gibt die Gültigkeitsdauer eines Refresh-Tokens in Tagen an.
      Für die Gültigkeitsdauer kann mit diesem Refresh-Token ein neuer Token angefordert werden.

  • HttpsSettings:

    • UseHttps: Definiert, ob eine verschlüsselte Verbindung genutzt wird. (Ein PFX-Zertifikat muss vorhanden sein.)

    • RequireTls12: Legt fest, ob TLS1.2 bzw. TLS1.3 für die SSL-Verschlüsselung erforderlich ist. (False: Das Bestmögliche wird verwendet)

    • CertificatePath: Der Pfad zur Zertifikatdatei (.pfx-Datei). (Relativ zu INOREST oder absolut.)

    • PrivateKey: Passwort für das Zertifikat. (Sollte min. 20 Zeichen lang sein, eine Ziffer, ein Kleinbuchstabe und ein Großbuchstabe enthalten.)

  • IpLoginSettings:

    • UseIpLogin: Definiert, ob der IP-Login-Service gestartet wird. (Min. ein ActiveDirectoryServer muss aufgesetzt sein. Sehen Sie hierfür: "ActiveDirectoryServers: Gibt eine Liste von ActiveDirectory-Servern an, welche durch den IP-Login-Service überwacht werden sollen.")

      Der IP-Login ermöglicht den SSO-Login am REST-Server ohne Passwort, indem geprüft wird, ob die IP-Adresse der Anfrage einen validen Login am ActiveDirectory-Server hält.

      Hinweis

      Es werden keine Einträge bezüglich der Logins und IP-Adressen gespeichert, um den Datenschutz zu gewährleisten.

    • IpLoginMethod: Definiert, die durch den IP-Login-Service genutzte Methode. Mögliche Werte sind hierbei:

      keepAlive: Bei jeder Anmeldung an der Domäne erhält der Nutzer für eine gewisse Zeit [LoginMaxTimeToLive] Zugang.
      logoff: Der Zugang ist so lange gültig, bis sich der Nutzer wieder bei der Domäne abmeldet.
      Die eingesetzte Methode ist abhängig vom Loginverhalten des Clients in der ActiveDirectory-Umgebung auszuwählen.

    • LoginMaxTimeToLive: Diese Methoden steuern die Gültigkeitsdauer der IP-Logins.
      Bei keepAlivekann die Zeit gesteuert werden, wann sich ein Nutzer spätestens an der Domäne zurückmelden muss, damit der Zugang gültig bleibt.
      (Default-Empfehlung: 15 Minuten)
      Die Methode logoff dient als Failsafe, falls Abmeldungen fehlen. (Beispielsweise verursacht durch einen Absturz des Clients ohne anschließeden Reconnect.)
      (Default-Empfehlung: 720 Minuten)

    • InitalLookbackTime: Definiert die LookbackTime (in Minuten). Die LookbackTime definiert die Zeit, die der Log der Vergangenheit ausgewertet wird. Dabei werden auch Anmeldungen berücksichtigt, welche beim Start des REST-Servers bereits erfolgt waren und noch gültig sind.

    • ActiveDirectoryServers: Gibt eine Liste von ActiveDirectory-Servern an, welche durch den IP-Login-Service überwacht werden sollen.

      Hinweis

      Es müssen alle ActiveDirectory-Server der Domäne eingetragen werden.

    • ServerName: Gibt den Namen des zu überwachenden Domänenservers an. (Beispiel: srv01.meineDomäne.local)

    • Domain: Definiert den Namen der Domäne. (Beispiel: meineDomäne.local)

    • ADUser und ADUserPass: Diese müssen den Namen und das Passwort eines Nutzers enthalten, welcher:

      - Domänenbenutzer und

      - Mitglied der Gruppe "Ereignisprotokollleser" bzw. "Event Log Readers" ist.

      - Außerdem muss das Auslesen des Ereignisprotokolls per Remote in den Windows-Firewall-Einstellungen zugelassen werden. Dazu müssen folgende Regeln aktiviert werden:

      - Remote Event Log Management (RPC)

      - Remote Event Log Management (RPC EPMAP)

      - Remote Event Monitor (RPC)

      - Remote Event Monitor (RPC EPMAP)

InnovatorSettings.json:

  • RestrictRepositories: Definiert, ob Repositories explizit freigegeben werden müssen. Bei false kann auf alle Repositories im INOHOST über die REST-API zugegriffen werden.

  • Repositories:

    Name: Der eindeutige Name des Repositories.

    User: Auflistung der Modell-Login-Namen, um auf bestimmte Benutzer einzuschränken. (Default: * für alle Benutzer)

    PasswordRequired: Nur Benutzer mit Passwort erlauben. (Nur relevant für Nicht-SSO-Repositories, da hier Benutzer ohne Passwort möglich sind.)

  • Domain: Kann festgelegt werden, um beispielsweise unter Linux einen spezifischen Anlaufpunkt zu definieren. (Default: %System% als Domäne des Systems)

  • LdapUrl: Definiert die URL für die LDAP-Connection. (Default: %System% als Standard für das aktuelle System)

  • LdapPort: Definiert den Port für die LDAP-Connection. (Default: 389 | 636 (für SSL))

  • ForceLdap: Definiert, dass in jedem Fall LDAP und nicht ActiveDirectory verwendet werden soll. (Beispielsweise unter Windows, wenn kein ActiveDirectory verfügbar ist.)

SecurityHeaderSettings.json:

  • Enable: Legt fest, ob SecurityHeader aktiviert werden sollen.

MiddlewareSettings.json:

  • EnableHttpsLogging: Legt fest, ob Requests und Responses durch eine RequestResponseLoggingMiddleware geloggt werden. (True: Es ist Secure und es erfolgt kein Schreiben von Log-Dateien)

ReDocSettings.json:

  • EnableDocu: Legt fest, ob die ReDoc-Dokumentation-Seite aktiviert werden soll. Auf der ReDoc-Dokumentation-Seite sind alle REST-Anfragen aufgelistet. (Aufrufbar unter: http(s)://%LINK%:%PORT%/api-docs)

CoreSettings.json:

  • AllowedOrigins: Auflistung von Herkunfts-URLs (Whitelisting). Nur Anfragen von diesen URLs sind dann möglich. (Default: * bedeutet alle erlaubt)

LoggerSettings.json:

  • WriteToFile: Legt fest, ob Log-Dateien geschrieben werden sollen. Diese sind dann im INOREST-Verzeichnis zu finden.

  • MinimumLogLevel: Legt fest, ab welchem Level Log-Dateien geschrieben werden. (Information/Warning/Error/Fatal) (Default: Information)

  • StructuredConsoleLogging: Definiert, ob bei Verwendung des REST-Servers als Konsolen-Anwendung die Informationen strukturiert bzw. vereinfacht in der Konsole ausgegeben werden sollen.

  • AppName: Der Anwendungsname, der in der Konsolen- und Log-Ausgabe verwendet wird.