Installation des Backends
Die enaio® coLab-Backend-API ist als Spring-Boot-Anwendung programmiert worden.
Installation
Bevor Sie das Backend einrichten, kopieren Sie alle Ressourcen aus dem Serviceportal in ein lokales Verzeichnis (<colab-localfolder>).
Als nächstes installieren Sie enaio® coLab mit SAM tools.
-
Navigieren Sie in einem Eingabeaufforderungsfenster zum Verzeichnis <enaio_install>\service-manager\tools\sam.
-
Führen Sie den folgenden Befehl aus: sam install <colab_localfolder>\colab-app\enaio-colab-app.jar
In einer Meldung wird angezeigt, dass die Konfiguration gespeichert und enaio® coLab installiert wurde.
-
Kopieren Sie die Datei <colab-localfolder>\colab-app\colab-prod.yml in das Verzeichnis <enaio_installation>\service-manager\config.
Konfiguration
Die Anwendungseigenschaften passen Sie über die Konfigurationsdatei an:
<enaio_installation>\service-manager\config\colab-prod.yml.
Eine Konfigurationsdatei mit allen Parametern steht zum Download zur Verfügung.
In diesem Absatz wird beschrieben, wie Sie verschiedene Abschnitte in der Konfigurationsdatei erweitern und ändern können.
Validieren Sie die .yml-Datei mithilfe eines Tools Ihrer Wahl, nachdem Sie die Konfiguration abgeschlossen haben. Die App kann nicht gestartet werden, wenn die .yml-Datei nicht valide ist.
Sensible Daten in der Konfigurationsdatei können verschlüsselt werden.
global: service: baseUrl: http://<gateway_IP>/colab
Die global.service.baseUrl sollte auf die Back-End-URL verweisen. Wenn Sie HTTPS verwenden, müssen Sie das Protokoll entsprechend ändern.
epr: smtp: host: 127.0.0.1 port: 26 from: name: "enaio(c) coLab" address: enaio-colab@colab.dev auth: enable: true username: username password: pass
Definieren Sie die SMTP-Eigenschaften entsprechend den Systemeinstellungen, in denen enaio® coLab installiert wurde. Wenn Ihr E-Mail-Server keine Authentifizierung erfordert, benötigen Sie keinen auth-Parameter.
Im file-repository-Bereich sollte der Parameter store auf fs eingestellt sein.
file-system-dir: Dieser Parameter definiert den Pfad, in dem temporäre Dateien gespeichert werden sollen. Das angegebene Verzeichnis muss im Dateisystem vorhanden sein (z. B. C:\data).
bucket: Das Bucket-Verzeichnis muss im Dateisystem innerhalb des file-system-dir-Pfades vorhanden sein (z. B. C:\data\bucketdir).
Im Postgres-Bereich ist uri die URL des Postgres-Servers. Der Benutzername und das Passwort gelten für den enaio® coLab-Benutzer, den Sie bei der Installation von Postgres erstellt haben. Wenn sich Ihre Datenbank und enaio® coLab auf demselben Server befinden, verwenden Sie localhost als URL.
Wenn sich Postgres und enaio® coLab auf verschiedenen Servern befinden, fügen Sie die Postgres-URL folgendermaßen hinzu:
-
Öffnen Sie die Konfigurationsdatei C:\Program Files\PostgreSQL\10\data\pg_hba.conf und suchen Sie den Eintrag host all all 127.0.0.1/32 md5.
-
Kopiere Sie die Zeile und füge Sie die Zeile noch einmal ein.
-
Ersetzen Sie die IP 127.0.0.1 durch Ihre Server-IP-Adresse und speichern Sie die Datei.
-
Um die Postgres-Konfiguration neu zu laden, öffnen Sie 'pgAdmin 4' als Postgres-Benutzer.
-
Führen Sie die folgende Abfrage aus:
select pg_reload_conf();
Ebenfalls notwendig ist für Neuinstallationen folgender Eintrag in der colab-prod.yml:
liquibase:
contexts: legacy
Wechseln Sie in das Verzeichnis <enaio_installation>\services\os_gateway\apps\os_gateway\config\, öffnen Sie die Datei application-prod.yml und geben Sie folgendes ein:
proxy: services: endpoints: - endpoint: name: colab url: 'http://<colab-IP>:8066'
Aktualisieren Sie Einstellungen für die Anmeldung externer Benutzer:
Ersetzen Sie:
handleRedirectsFromService: 'OSWebClient,osweb'
durch:
handleRedirectsFromService: 'OSWebClient,osweb,epr,colab'
Falls der Eintrag nicht vorhanden ist, erstellen Sie ihn:
proxy: services: handleRedirectsFromService: 'OSWebClient,osweb,epr,colab'
Starten Sie danach enaio® gateway neu.
Die Einstellungen für enaio® server nehmen Sie in folgender Konfigurationsdatei vor:
<enaio_installation>\service-manager\config\application_blue.yml.
enaio.dms.username: <enaio_user> enaio.dms.password: <enaio_pw> server: enaiodms1.example.com:4000:50#enaiodms2.example.com:4000:50
Alle enaio®-Server müssen hier aufgelistet sein.
Die folgenden Einstellung für die NTLM-Anmeldung von enaio®-Benutzern sind in enaio® enterprise-manager notwendig:
-
SSP-Login: Windows
-
Security Support Provider: NTLM
-
Reihenfolge der Anmeldung: A oder AI
-
Benutzernamen für LoginPipe-Ausnahmen: Alle technischen Benutzer aller Dienste und Services, die in enaio® eingebunden sind.
-
IP-Adressen für LoginPipe-Ausnahmen: Alle Adressen aller Dienste und Services, die in enaio® eingebunden sind.
-
Alternative LoginPipe: UI
COLAB_USER
Als Standard haben alle enaio®-Benutzer Zugriff auf enaio® coLab.
Sie können den Zugriff einschränken auf alle enaio®-Benutzer einer Gruppe. Die Gruppe benötigt keine weiteren Eigenschaften.
Ergänzen Sie die Datei colab-prod.yml aus dem Verzeichnis <enaio_installation>\service-manager\config\ um folgenden Eintrag mit Angabe des Gruppennamens:
enaio:
colab-user-group: groupname
COLAB_ADMIN
In der Benutzerverwaltung von enaio® richten Sie die Gruppe 'COLAB_ADMIN' ein. Die Gruppe benötigt keine weiteren Eigenschaften.
Mitgliedern dieser Gruppe werden nach der Anmeldung alle bestehenden Projekträume angezeigt. Zu jedem Projektraum können detaillierte Informationen aufgerufen werden. Projekträume auch anderer Projektraum-Besitzer können administriert und gelöscht werden.
Über einen Eintrag in der Datei application-blue.yml aus dem Verzeichnis <enaio_installation>\service-manager\config\ können Sie einer anderen Gruppe diese Funktion geben:
enaio.admin-user-group: NEW-GROUP_NAME
Anmeldung für externe Benutzer
In der Datei colab-prod.yml können Sie die Anmeldung in enaio® coLab für externe Benutzer konfigurieren. Die Anmeldung kann entweder über die Google-, LinkedIn- oder Microsoft-Konten der Benutzer erfolgen oder mithilfe von Keycloak als Authentifizierungsinstanz.
Führen Sie die folgenden Schritte aus, damit sich Benutzer mit ihren Google-Konten anmelden können:
-
Melden Sie sich unter https://console.developers.google.com an.
-
Erstellen Sie ein neues Projekt und wechseln Sie in den Bereich Credentials.
-
Klicken Sie auf Create credentials und wählen Sie den Eintrag OAuth client ID aus.
-
Wählen Sie als Anwendungstyp Web application aus.
-
Rufen Sie Client-ID und Client Secret ab und tragen Sie die Daten in den entsprechenden Bereich in der Konfigurationsdatei colab-prod.yml ein.
-
Klicken Sie auf Authorized JavaScript originsund geben Sie Ihre Domäne mit dem Protokoll ein, auf dem enaio® gateway installiert ist.
Beispiel: http://<gateway-IP>:colab
-
Geben Sie unter Authorized redirect URIs Ihren Domänennamen gefolgt von /epr/login/google/ ein.
Beispiel: http://<gateway-IP>/colab/epr/login/google
- Passen Sie die Datei <enaio_installation>\service-manager\config\colab-prod.yml an:
spring:
security:
oauth2:
client:
registration:
google:
clientId: client_id
clientSecret: client_secret
redirect-uri: ${global.service.baseUrl}/epr/login/google
scope: openid, email, profile
Führen Sie die folgenden Schritte aus, damit sich Benutzer mit ihren LinkedIn-Konten anmelden können:
-
Melden Sie sich unter https://developer.linkedin.com/docs/oauth2 an und führen Sie nur den Schritt 1 aus. Nachdem Sie die Authentifizierungsschlüssel (Client-ID und Client Secret) erhalten haben, tragen Sie die Daten in den entsprechenden Abschnitt in der Konfigurationsdatei colab-prod.yml ein.
-
Wenn die Anwendung erstellt wurde, geben Sie Ihren Domainnamen unter Authorized redirect URLs zusammen mit dem Protokoll und dem Port und gefolgt von /epr/login/linkedin ein.
- Passen Sie die Datei <enaio_installation>\service-manager\config\colab-prod.yml an:
spring:
security:
oauth2:
client:
registration:
linkedin:
clientId: client_id
clientSecret: client_secret
redirect-uri: ${global.service.baseUrl}/epr/login/linkedin
scope: r_emailaddress, r_liteprofile
client-authentication-method: post
authorization-grant-type: authorization_code
provider:
linkedin:
authorization-uri: https://www.linkedin.com/oauth/v2/authorization
token-uri: https://www.linkedin.com/oauth/v2/accessToken
user-info-uri: https://api.linkedin.com/v2/me
user-name-attribute: id
Führen Sie die folgenden Schritte aus, damit sich Benutzer mit ihren Microsoft-Konten anmelden können:
-
Melden Sie sich unter https://portal.azure.com an und suchen Sie über das Suchfeld nach App registration.
- Klicken Sie auf 'New registration', füllen Sie alle Felder mit den entsprechenden Daten aus und klicken Sie auf 'Register'.
Application- ID / Client-ID und Object-ID werden angezeigt.
- Klicken Sie auf ‘Certificates & secrets’ und dann auf ‘New client secret’.
- Kopieren Sie den Wert von 'Client secret'.
Microsoft zeigt den Client Secret nur einmal an
-
Gehen Sie zu 'Authentification', klicken Sie auf Add a platform und von der Konfigurations-Platform auf Web und gehen Sie zu 'RedirectURL' und geben Sie Ihren Domänennamen und Ihr Protokoll ein, gefolgt von /epr/login/microsoft.
Beispiel: http://<gatewayIP>/colab/epr/login/microsoft
Wenn der Prozess abgeschlossen ist, tragen Sie den Client Secret zusammen mit dem App Key in den entsprechenden Abschnitt in der Konfigurationsdatei colab-prod.yml ein.
- Passen Sie die Datei <enaio_installation>\service-manager\config\colab-prod.yml an:
spring:
security:
oauth2:
client:
registration:
microsoft:
client-id: client_id
client-secret: client_secret
provider: microsoft
redirect-uri: ${global.service.baseUrl}/epr/login/microsoft
scope: openid, profile, email, https://graph.microsoft.com/.default
client-authentication-method: basic
authorization-grant-type: authorization_code
provider:
microsoft:
authorization-uri: https://login.microsoftonline.com/common/oauth2/v2.0/authorize
token-uri: https://login.microsoftonline.com/common/oauth2/v2.0/token
user-info-uri: https://graph.microsoft.com/v1.0/me
jwk-set-uri: https://login.microsoftonline.com/common/discovery/v2.0/keys
user-name-attribute: id
Es ist möglich, Keycloak als Authentifizierungsinstanz in enaio® coLab zu verwenden. Keycloak muss aus Sicherheits- und Wartungsgründen auf einem eigenen Server installiert werden.
Sie müssen zuerst Keycloak mithilfe der Installationsdateien und anhand der Anweisungen https://keycloak.org installieren und konfigurieren. Die Benutzeraccounts werden über Ihre Instanz von Keycloak verwaltet.
Um Keycloak als Authentifizierungsinstanz in enaio® coLab zu verwenden, ergänzen Sie folgende Konfiguration in der Datei colab-prod.yml:
spring:
security:
oauth2:
client:
registration:
keycloak:
client-id: client_id
client-secret: client_secret
provider: keycloak
redirect-uri: ${global.service.baseUrl}/epr/login/keycloak
scope: openid, profile, email
authorization-grant-type: authorization_code
title: Keycloak server
provider:
keycloak:
authorization-uri: http://<server_ip>:<port>/auth/realms/colab-test/protocol/openid-connect/auth
token-uri: http://<server_ip>:<port>/auth/realms/colab-test/protocol/openid-connect/token
user-info-uri: http://<server_ip>:<port>/auth/realms/colab-test/protocol/openid-connect/userinfo
jwk-set-uri: http://<server_ip>:<port>/auth/realms/colab-test/protocol/openid-connect/certs
user-name-attribute: sub
Um zu prüfen, ob die Änderungen nach der Aktualisierung von enaio® coLab angewendet wurden, gehen Sie zu http://127.0.0.1:7273 > coLab app. Klicken Sie auf 'Details' und dann 'Umgebung'. Suchen Sie nach den Keycloak-Eigenschaften und prüfen Sie, ob diese in der Liste enthalten sind.
Einbinden eines Virenscanners
In enaio® coLab kann per Webhook ein Virenscanner eingebunden werden, der Dokumente, die Benutzer einfügen wollen, prüft. Benutzer erhalten gegebenenfalls einen entsprechenden Hinweis.
Das Einbinden ist auf den Update-Seiten beschrieben.
Weitere Update-Informationen erhalten Sie über die Release-Seiten.
Verschlüsselung von Konfigurationswerten
Die Konfigurationswerte der Datei colab-prod.yml im Verzeichnis \config\ von enaio® service-manager können verschlüsselt werden:
-
Öffnen Sie die Eingabeaufforderung als Administrator und wechseln Sie in das Verzeichnis \service-manager\tools\encryption\.
-
Führen Sie folgenden Befehl aus: encode.bat "value" -W
Der verschlüsselte Wert wird mit führendem 'ENC' und in runden Klammern angezeigt: ENC(encryptedvalue)
-
Kopieren Sie den verschlüsselten Wert mit führendem 'ENC' und mit den runden Klammern und tragen Sie diesen in die Konfigurationsdatei ein.
-
Speichern Sie die Konfigurationsdatei und starten Sie den Service gegebenenfalls neu.
Wenn der zu verschlüsselnde Wert Anführungszeichen enthält oder mit einem Backslash endet, dann müssen diese Zeichen durch einen Backslash maskiert werden.
Beispiel: encode.bat "passwordwith\"quotation\"marks" -W