So installieren Sie den Datendienst
Der Datendienst wird mit einem Installationsprogramm als Windows-Dienst eingerichtet. Es fragt nach Betriebsart, Dienstkonto, Ordnern, Zertifikat, Post-Quanten-Schutz und Zugang, prüft die Angaben und richtet alles ein. Personen, Schlüssel und Datenquellen legt es nicht an; das geschieht danach.
Lösungsübersicht
Es gibt zwei Dateien derselben Version:
| Datei | Wofür |
|---|---|
Wkl.Data.Gateway-Setup-<Version>.exe | Installationsprogramm mit Seiten, für die Einrichtung von Hand |
Wkl.Data.Gateway-<Version>.msi | Paket ohne Fenster, für die Softwareverteilung (Gruppenrichtlinie, Intune, Skript) |
Beide richten dasselbe ein: das Programm dbgwsvc.exe unter %ProgramFiles%\Wkl\Data Gateway, den Windows-Dienst
Wkl.Data.Gateway (Start automatisch), den Datenordner %ProgramData%\Wkl.Data.Gateway mit dem
Verwaltungsspeicher und einem zufällig erzeugten Hauptschlüssel (nur für Administratoren und das
Dienstkonto lesbar), die Konfigurationsdatei, das Zertifikat, die Firewall-Regel und zwei Einträge
im Startmenü („Ersten Administrator anlegen“, „Zertifikat von Let's Encrypt beziehen“).
Umsetzung
Voraussetzungen: 64-Bit-Windows 10 oder 11 bzw. Windows Server 2016 oder neuer, Rechte eines Administrators (das Programm fragt beim Installieren über die Benutzerkontensteuerung). Eine .NET-Laufzeit ist nicht nötig; das Paket bringt sie mit.
Starten Sie
Wkl.Data.Gateway-Setup-<Version>.exe. Wählen Sie unter Sprache auswählen Deutsch, Englisch oder Slowenisch und dann OK; vorgewählt ist die Anzeigesprache von Windows. Die Seiten und ihre Meldungen erscheinen danach in dieser Sprache.
- Lizenz: Die Lizenzbedingungen von EMSR DATA, wahlweise auf Deutsch, Englisch oder Slowenisch. Rechtlich verbindlich ist die englische Fassung. Weiter geht es erst, wenn Sie Ich stimme den Lizenzbedingungen zu wählen. Dieselben Texte liegen nach der Installation im Programmordner (
LICENSE.md,LICENSE.de.md,LICENSE.sl.md). Voraussetzungen: Das Programm prüft Windows, Rechte, die Ports 8433 und 8434, IIS und die Zertifikate im Speicher des Computers. Weiter geht es, solange nichts rot ist.
- Betriebsart: Oben steht der Name der Installation, vorgeschlagen als „Datendienst (Rechnername)“ (auf Englisch „Data service (…)“, auf Slowenisch „Podatkovni prehod (…)“). Unter diesem Namen führt die Authenticator-App den zweiten Faktor jeder Person, etwa „Datendienst (Produktion): Erika Muster“. Wählen Sie ihn so, dass Test und Produktion oder zwei Kunden unterscheidbar sind (höchstens 64 Zeichen, ohne Doppelpunkt und Anführungszeichen). Ändern lässt er sich später unter Ändern oder in der Verwaltungsanwendung (siehe „So richten Sie den zweiten Faktor ein oder setzen ihn zurück“ (Dokumentation der Verwaltungsanwendung)). Ein neuer Name gilt nur für neu eingerichtete Apps; vorhandene Einträge behalten ihren Namen.
- Eigenständiger Windows-Dienst (Vorgabe): Der Dienst nimmt HTTPS selbst an, auf dem HTTPS-Port (Vorgabe 8433, angelehnt an 1433 von SQL Server). Der HTTP-Port (Vorgabe 8434) antwortet nur auf diesem Rechner, für Werkzeuge und die Gesundheitsprobe.
Hinter IIS: IIS nimmt Port 443 an und leitet an den Dienst auf
127.0.0.1weiter. Siehe Hinweise.Unverschlüsseltes HTTP nur für Entwicklung und Test. Port 8434 nimmt Anfragen ohne Verschlüsselung an, Schlüssel und Kennwörter gingen dort im Klartext. Er antwortet deshalb nur auf diesem Rechner. Arbeitsplätze – Treiber, Excel, Power BI, Verwaltungsanwendung – verbinden sich immer über HTTPS (8433 bzw. 443 hinter IIS); auf dem Server selbst ist 8434 nur für Test, Gesundheitsprobe und Notfall gedacht.
Ist ein Port belegt, markiert das Programm ihn rot und lässt erst weiter, wenn Sie einen freien Port eintragen:
Mit freien Ports:
Dienstkonto: das virtuelle Konto
NT SERVICE\Wkl.Data.Gateway(Vorgabe) oder ein gruppenverwaltetes Dienstkonto (DOMÄNE\name$). Ein Konto mit Kennwort wird nicht angeboten. Datenquellen mit integrierter Sicherheit melden sich unter diesem Konto an SQL Server an; es braucht dort eine Anmeldung. Läuft SQL Server auf einem anderen Rechner, sieht er das virtuelle Konto als Computerkonto des Servers (DOMÄNE\RECHNER$); dieses braucht dann die Anmeldung.
- SQL Server: Datenquellen mit integrierter Sicherheit brauchen für das Dienstkonto eine Anmeldung in SQL Server und in jeder Datenbank einen Benutzer, sonst scheitern sie mit 18456 bzw. 4060.
- Nicht anlegen: Die Datenbankverwaltung richtet beides selbst ein (siehe Hinweise).
- Skript ablegen (Vorgabe): Das Programm legt dienstkonto-anmeldung.sql in den Datenordner. Die Datenbankverwaltung führt das Skript aus, etwa mit sqlcmd -S <Server> -E -i dienstkonto-anmeldung.sql.
Jetzt anlegen: Nach der Installation legt das Programm Anmeldung und Benutzer selbst an, mit Ihrem Windows-Konto. Dafür braucht Ihr Konto in SQL Server die Berechtigung dazu, etwa als Mitglied von sysadmin. Das Skript liegt trotzdem im Datenordner.
Anzugeben sind der SQL Server (wie in der Verbindungszeichenfolge, etwa .\SQLEXPRESS), die Datenbanken (durch Komma getrennt) und die Rollen eines neuen Benutzers: Lesen und Schreiben (db_datareader, db_datawriter, Vorgabe), Nur lesen oder Keine Rolle. Läuft SQL Server auf einem anderen Rechner, gilt die Anmeldung dem Computerkonto (DOMÄNE\RECHNER$). Was schon vorhanden ist, bleibt unverändert, auch seine Rollen; ein zweiter Lauf ändert nichts. Fehlen die Berechtigungen, nennt die Seite Fertig die Fehlernummer von SQL Server, und die Installation bleibt bestehen.
- Ordner: Programm- und Datenordner, getrennt.
- Zertifikat:
- Vorhandenes Zertifikat aus dem Speicher des Computers (Liste mit Aussteller und Ablauf);
- Let's Encrypt: öffentlicher Name (etwa
daten.firma.de) und Nachweis über DNS (Cloudflare, Azure DNS, Amazon Route 53, Hetzner) oder über HTTP (Port 80 aus dem Internet erreichbar). Bestellt wird nach der Installation in einem eigenen Fenster; Selbstsigniert, nur für Proben im Firmennetz.
- Post-Quanten-Schutz: aus (Vorgabe) oder hybrider Schlüsselaustausch
X25519MLKEM768. Die Einstellung gilt für den ganzen Rechner. Voraussetzung ist eine Windows-Version, die diesen Schlüsselaustausch anbietet; kennt Windows ihn nicht, scheitert die Einrichtung, und die Installation wird zurückgenommen. Zugang: Nur im Firmennetz (Vorgabe; die Firewall-Regel lässt nur die eingetragenen Firmennetze zu – ohne eingetragene Netze nur das lokale Teilnetz des Servers; der Dienst selbst schränkt bei dieser Wahl nichts nach Herkunft ein) oder Auch aus dem Internet mit den Firmennetzen und der Wahl, ob die Verwaltung von außen gesperrt ist oder einen zweiten Faktor verlangt. Die Seite zeigt die Anmelderegeln, die dafür angelegt werden. Diese Regeln gelten nur für einen neuen Verwaltungsspeicher; beim Ändern einer bestehenden Installation bleiben die Regeln im Speicher; das Installationsprogramm schreibt dazu einen Hinweis ins Protokoll. Passen Sie die Regeln dann in der Verwaltungsanwendung an.
Zusammenfassung: Prüfen Sie die Wahl. Unter Befehlszeile für die Softwareverteilung steht dieselbe Installation als
msiexec-Aufruf. Wählen Sie Installieren aus, und bestätigen Sie die Abfrage der Benutzerkontensteuerung.
- Fertig: Das Programm fragt den Dienst ab (
/health/live) und nennt je Schritt, was in SQL Server angelegt wurde oder schon vorhanden war (bei Jetzt anlegen), bzw. wo das Skript liegt. Lassen Sie Ersten Administrator jetzt anlegen angehakt: Nach Schließen öffnet sich ein Konsolenfenster mitinit-admin, weiter mit Den ersten Administrator anlegen. Bei Let's Encrypt öffnet sich zusätzlich win-acme für die Bestellung.
Ergebnis: Der Dienst läuft und antwortet. Die Verwaltung bleibt gesperrt, bis der erste Administrator angelegt ist.
In der Dienstverwaltung (services.msc) steht er als WKL Database Gateway mit dem Status Wird
ausgeführt, dem Starttyp Automatisch und dem gewählten Dienstkonto:
Der eingerichtete Dienst in der Dienstverwaltung.
Das virtuelle Dienstkonto in den Eigenschaften des Dienstes. Ein Kennwort gibt es dafür nicht.
Ohne Fenster (Softwareverteilung)
In der Eingabeaufforderung (cmd) als Administrator:
msiexec /i Wkl.Data.Gateway-<Version>.msi /qn GW_HTTPS_PORT=8433 GW_CERTIFICATE=daten.firma.de ^ GW_ACCESS=internal GW_NETWORKS="10.0.0.0/8,192.168.0.0/16" /l*v %TEMP%\gw-install.log
Rückgabe 0 ist Erfolg, 3010 Erfolg mit nötigem Neustart; jede andere Zahl ein Fehler, dessen Grund
im Protokoll steht (nach Rückgabewert 3 bzw. Return value 3 suchen).
Mit Oberfläche (msiexec /i ohne /qn) zeigt das Paket seine Dialoge auf Deutsch;
TRANSFORMS=:1033 zeigt sie auf Englisch, TRANSFORMS=:1060 auf Slowenisch.
Dieselben Angaben nimmt das Installationsprogramm mit /quiet. Ohne Fenster startet init-admin
nicht; das Ereignisprotokoll (Quelle Wkl.Data.Gateway) nennt den nächsten Schritt. Alle
Eigenschaften stehen in der technischen Referenz.
Ändern, Reparieren, Aktualisieren, Entfernen
Starten Sie das Installationsprogramm erneut (oder Apps und Features > WKL Database Gateway > Ändern):
| Wahl | Wirkung |
|---|---|
| Ändern | Betriebsart, Zertifikat, Post-Quanten-Schutz und Zugang neu einstellen; der Dienst startet neu. Speicher, Hauptschlüssel und Personen bleiben. Die Anmelderegeln des Zugangs ändert das nur bis zum ersten Start: Danach gelten allein die Regeln im Verwaltungsspeicher; einen Wechsel auf „Auch aus dem Internet“ ergänzen Sie dort selbst (Verwaltungsanwendung oder der Befehl POST /admin/v1/save-sign-in-rule der Verwaltungsschnittstelle) – das Installationsprogramm warnt nicht. Firewall-Regel und Lauschadressen ändert es sofort |
| Reparieren | Programmdateien und Dienst wiederherstellen; Einstellungen und Daten bleiben |
| Entfernen | Dienst, Programm, Firewall-Regel und Startmenü entfernen. Der Datenordner bleibt, außer Sie haken Auch den Datenordner löschen an |
Eine neuere Version aktualisiert die installierte: Sie übernimmt die Einstellungen und sichert
vorher den Verwaltungsspeicher nach %ProgramData%\Wkl.Data.Gateway\sicherungen. Ohne erfolgreiche
Sicherung wird nicht aktualisiert.
Bis zur Fassung vom 3. November 2026 hieß die Programmdatei Wkl.Data.Gateway.exe. Die
Aktualisierung entfernt sie, legt dbgwsvc.exe ab und trägt den neuen Pfad im Dienst ein; Name des
Dienstes, Dienstkonto, Datenordner und Ereignisquelle bleiben Wkl.Data.Gateway. Eigene Skripte und
geplante Aufgaben, die die alte Datei aufrufen, stellen Sie auf dbgwsvc.exe um.
Hinweise
Anmeldung des Dienstkontos in SQL Server. Eine Datenquelle mit Windows-Anmeldung (
Integrated Security) meldet sich unter dem Dienstkonto an. Bis SQL Server dafür eine Anmeldung und in der Datenbank einen Benutzer hat, scheitert der Verbindungstest mitfailure=Login(18456) bzw.Database(4060). Welcher Name gemeint ist – auf demselben Rechner das Dienstkonto, von einem anderen Rechner aus das Computerkonto –, nennt `GET /admin/v1/service-account`. Die Datenbankverwaltung legt beides an, etwa für Lesen und Schreiben:CREATE LOGIN [NT SERVICE\Wkl.Data.Gateway] FROM WINDOWS; -- anderer Rechner: [FIRMA\SRV-DATEN$] USE [Fachdaten]; CREATE USER [NT SERVICE\Wkl.Data.Gateway] FOR LOGIN [NT SERVICE\Wkl.Data.Gateway]; ALTER ROLE db_datareader ADD MEMBER [NT SERVICE\Wkl.Data.Gateway]; ALTER ROLE db_datawriter ADD MEMBER [NT SERVICE\Wkl.Data.Gateway];
Zum Lesen von Tabellen und Sichten genügt
db_datareader; er umfasst auchSELECTauf Tabellenwertfunktionen. Prozeduren und Skalarfunktionen brauchenEXECUTE, auch wenn die Datenquelle nur liest, etwaGRANT EXECUTE ON SCHEMA::[dbo] TO [NT SERVICE\Wkl.Data.Gateway];je Schema. Ohne dieses Recht zeigt SQL Server sie dem Konto nicht: Der Dienst kennt sie dann nicht und weist einen Aufruf ab wie ein nicht freigegebenes Objekt („… ist unbekannt oder für Lesen nicht freigegeben.“). Welche Objekte der Dienst kennt, zeigt die MengeDataSourceObjectsder Verwaltungs-API. MitPersons = Impersonatebraucht das Konto zusätzlichIMPERSONATE, siehe Weitergabe der Identität.Dasselbe als Skript, das Vorhandenes unverändert lässt, erzeugt der Befehl
service-loginim Programmordner, auch nach der Installation, etwa für eine weitere Datenbank:"%ProgramFiles%\Wkl\Data Gateway\dbgwsvc.exe" service-login --server .\SQLEXPRESS --database Fachdaten --script dienstkonto-anmeldung.sql
Mit
--applystatt--scriptlegt er Anmeldung und Benutzer gleich an, mit Ihrem Windows-Konto. Alle Angaben stehen unter Befehle.- Hauptschlüssel sichern. Ohne die Datei
geheim\hauptschluessel.keyim Datenordner ist der Speicher unlesbar. Sichern Sie sie nach der Installation außerhalb des Servers, siehe Den Verwaltungsspeicher sichern. - Hinter IIS. Das Programm installiert weder IIS noch dessen Module URL Rewrite und Application Request Routing. Es schreibt die Vorlage
iis\web.configin den Programmordner (Weiterleitung an den Dienst, Umleitung von HTTP auf HTTPS). Legen Sie in IIS eine Website mit Bindung auf 443 und Ihrem Zertifikat an, deren Inhalt diese Vorlage ist, und erlauben Sie die ServervariableHTTP_X_FORWARDED_PROTO. Hinter dieser Vorlage melden sich Anwender mit einem Schlüssel oder einer SQL-Anmeldung an, nicht mit dem Windows-Konto: IIS leitet Anfragen verschiedener Anwender über gemeinsame Verbindungen weiter, und eine Windows-Anmeldung gilt für die Verbindung. Siehe So betreiben Sie den Dienst hinter IIS oder einem Proxy. - Let's Encrypt braucht einen öffentlichen Namen; für einen Dienst nur im Firmennetz eignet sich der Nachweis über DNS. win-acme fragt die Zustimmung zu den Bedingungen, eine E-Mail-Adresse und den Zugang zur DNS-Schnittstelle selbst ab, speichert ihn geschützt und erneuert das Zertifikat rechtzeitig über eine eigene geplante Aufgabe. Der Dienst nimmt ein neues Zertifikat ohne Neustart. Erneuert der Rechner schon mit einem anderen win-acme (etwa für Websites in IIS), bestellt und erneuert dieses auch das Zertifikat des Datendienstes, und seine Aufgabe bleibt, wie sie ist. Es braucht dafür mindestens Version 2.2.9; ist es älter, bricht die Bestellung mit der gefundenen Version ab und ändert nichts. Welches win-acme bestellt, zeigt das Fenster der Bestellung.
- Was beim Entfernen bleibt: Zertifikate im Speicher, die Post-Quanten-Einstellung von Windows und die Einstellungen von win-acme (
%ProgramData%\win-acme). Die geplante Aufgabe von win-acme entfernt das Programm nur, wenn sie das mitgebrachte win-acme startet; die Aufgabe eines anderen win-acme bleibt. - Protokoll. Die letzte Seite verlinkt das Protokoll der Installation; jeder Lauf schreibt es nach
%TEMP%\Wkl_Datendienst_*.log. Es enthält weder den Hauptschlüssel noch einen persönlichen Schlüssel.
Verwandte Themen
- „So binden Sie eine Datenquelle an“ (Dokumentation der Verwaltungsanwendung)