Während eines kürzlichen Calls mit einem Kunden kam dieses Thema zur Sprache, daher will ich es hier kurz dokumentieren.
Standard Dienst-Benutzer anpassen
Standardmässig werden die Microservices von enaio/RAD mit dem selben technischen Benutzer gestartet (enaio root
). Diese Login Informationen sind in der application-blue.yml
hinterlegt. Diese sehen dann zum Beispiel so aus:
enaio.dms.username: root
enaio.dms.password: changeme
enaio.dms.server: mein-server.ecmind:4000:100
Ich würde diesen Account grundsätzlich anpassen und den Benutzer root
bei einer Neuinstallation deaktivieren, um sicherzustellen, dass dieser nicht mehr zum Einsatz kommt.
Wenn gewünscht, kann man das Passwort mit dem Tool axencryptpwd.exe
verschlüsselt werden. Dieses wird im Installationsmedium von enaio im Ordner Tools mitgeliefert.
Individuelle Dienst-Benutzer pro Microservice
Es kann Sinn ergeben, bestimmte Services unter anderen Benutzern laufen zu lassen. Hierfür kann man jeweils eine {servicename}-blue.yml
Datei anlegen.
Zum Beispiel für den Service index
wäre es dann die index-prod.yml
heissen.
In diese Datei kann dann zum Beispiel wie folgt aussehen:
enaio.dms.username: service-index
enaio.dms.password: changeme
Details zur Ladereihenfolge der Konfiguration habe ich mal versucht hier zu dokumentieren:
Microservices: Ladereihenfolge der Konfiguration
Andere Services
Für den die Services Gateway, AppConnector und Documentviewer können die Accounts ebenfalls angepasst werden. Diese befinden sich aber in den jeweiligen Installationspfaden.
- Gateway
.\os_gateway\config\application-prod.yml
- DocumentViewer
.\documentviewer\webapps\osrenditioncache\WEB-INF\classes\config\config.properties
- AppConnector
.appconnector\configuration\osrest.properties
Systemrollen
Viele Services benötigen die Systemrollen 72 und 88:
Hintergrund ist, dass Microservices, wie der DMS Service, im Namen des jeweiligen Benutzers API Befehle ausführen muss. Hierfür wird das Recht 72 benötigt.
Beim Recht 88 handelt es sich um die Berechtigung, direkte SQL Statements (Select) auf der Datenbank ausführen zu dürfen.
Beide Systemrollen sind sehr weitreichend und sollte nur vergeben werden, wenn diese wirklich benötigt werden. Benutzer benötigen diese Rechte definitiv nicht.