OIDC-basiertes Single Sign-On unter IIS in memoQ TMS einrichten – Teil 1 – für den Systemadministrator des Unternehmens
In diesem Thema geht es um die Ausführung von OIDC SSO als Web-Anwendung unter IIS. Informationen zur Installation von OIDC SSO als Windows-Dienst finden Sie im Thema Einrichtung von OIDC SSO als Windows-Dienst.
memoQ TMS hat verschiedene Arten von Single Sign-On: In diesem Dokument geht es hauptsächlich um OIDC-basiertes SSO. Die Bezeichnungen "Single Sign-On" und "SSO" beziehen sich auf die OIDC-basierte Lösung. Die Bezeichnungen "Windows SSO" und "Windows AD SSO" beziehen sich auf die ältere, auf Windows Active Directory basierende SSO-Lösung von memoQ TMS. Windows SSO-Benutzer können genauso wie normale memoQ TMS-Benutzer zu OIDC SSO wechseln.
Was Sie benötigen
Bevor Sie mit der Konfiguration beginnen, sollten Sie die folgenden Informationen sammeln. Sie werden diese an verschiedenen Stellen des Prozesses benötigen.
-
Eine settings.json-Datei für Ihren Identitätsanbieter (Identity Provider; IDP) (Sie finden sie im Ordner %PROGRAMFILES%\Kilgray\MemoQ Server\Oidc\examples):
-
memoQweb auf dem memoQ TMS-Server-Computer installiert
-
Der Subject-Wert aus dem Zertifikat, das der Authentication Manager verwenden wird. Es sollte ein kommerzielles (nicht selbstsigniertes) Zertifikat sein. Es kann das Zertifikat sein, das Ihr memoQ TMS verwendet. Öffnen Sie auf dem Server-Computer die Anwendung Computerzertifikate verwalten (oder führen Sie den Befehl certlm.msc aus). Suchen Sie das Zertifikat im Ordner Zertifikate – Lokaler Computer/Persönlich/Zertifikat. Doppelklicken Sie darauf, dann auf die Registerkarte Details und notieren Sie den Hostnamen im Feld Betreff (z. B. *.meinefirma.com).
-
Die Verbindungszeichenfolge für Ihre memoQ TMS-Datenbank: Öffnen Sie den Ordner %PROGRAMDATA%\MemoQ Server und öffnen Sie dann die Datei Configuration.xml in einem Texteditor. Kopieren Sie den Wert zwischen den
<SQLConnectionString>-Tags. -
Einen Namen für den Identitätsanbieter – dies ist der Name des Identitätsanbieters in der memoQ TMS-Datenbank und ein Teil der Konto-Herkunft-Information im Fenster Benutzerverwaltung von memoQ.
-
Einen Anzeigenamen – der Text auf der Schaltfläche Anmelden mit (IDP) auf der Anmeldeseite.
Sollten Sie während der Einrichtung auf ein Problem stoßen, wenden Sie sich an den memoQ-Support.
Sie können den OIDC-SSO-Dienst von memoQ TMS nun als Web-Anwendung unter IIS ausführen. Auf diese Weise ist kein weiterer Port (standardmäßig 5001) für die Kommunikation erforderlich. Der gesamte IIS-Datenverkehr kann über Port 443 abgewickelt werden.
Um zu IIS zu migrieren, führen Sie zuerst den Befehl services.msc in Windows aus und stoppen Sie den MemoQ OIDC Backend Service. Wenn Sie ihn nicht mehr benötigen, können Sie ihn deaktivieren und entfernen. Folgen Sie dann den Anweisungen unten.
Einrichtung und Konfiguration
In dieser Konfiguration ist der Authentication Manager eine Web-Anwendung, die in einem eigenen Anwendungspool in IIS läuft. Er wird zusammen mit memoQ TMS installiert, aber damit er funktioniert, müssen Sie ihn konfigurieren (nachdem Sie Ihr memoQ TMS bei einem Identitätsanbieter registriert haben).
Wenn Sie Ihr memoQ TMS als Client eines Identitätsanbieters registrieren, müssen Sie eine Rückruf-URL festlegen. Von hier aus kann der Identitätsanbieter den Authentication Manager erreichen. Die Rückruf-URL sieht wie folgt aus:
Der Authentication Manager ist eine Web-Anwendung unter IIS, die mit den Identitätsanbietern kommuniziert. Er braucht keinen eigenen Port.
Sie können den letzten Teil (4) der Rückruf-URL frei wählen, aber:
- Er darf nicht "login", "logout" oder "auth" sein.
- Wenn Sie sich bei mehr als einem Identitätsanbieter registrieren lassen, muss dieser Teil für jeden einzelnen eindeutig sein.
Wenn Sie memoQ TMS als Client beim Identitätsanbieter registrieren, erhält memoQ TMS eine ClientID und eine ClientSecret. Sie benötigen diese, um den Authentication Manager zu konfigurieren.
- Sie benötigen keine Implicit Grant-Optionen (Zugriffstoken oder ID-Token).
- Sie benötigen einen Typ User.Read der delegierten Berechtigung.
- Sie sollten /logout als Standard-URL für die Abmeldung festlegen.
Vergewissern Sie sich, dass Ihre Firewall korrekt eingerichtet ist: Der Identitätsanbieter kann verlangen, dass einige Ports auf der Firewall des Unternehmens geöffnet werden. Weitere Informationen finden Sie in der Dokumentation Ihres Identitätsanbieters.
-
Erstellen Sie unter C:\inetpub\wwwroot\ einen Ordner für die Web-Anwendung.
-
Kopieren Sie alle Verzeichnisse und Dateien von %PROGRAMFILES%\Kilgray\MemoQ Server\Oidc in diesen Ordner.
-
Starten Sie den IIS-Manager über das Windows-Startmenü.
-
Doppelklicken Sie im IIS-Manager auf den Namen des memoQ TMS-Servers.
-
Klicken Sie in der Baumstruktur mit der rechten Maustaste auf Anwendungspools und wählen Sie Anwendungspool hinzufügen.
-
Im Fenster Anwendungspool hinzufügen:
-
Geben Sie einen Namen für den Anwendungspool ein. In diesem Artikel bezeichnen wir diesen Anwendungspool als <oidcpool>.
-
Wählen Sie in der Dropdown-Liste .NET CLR-Version die Option Kein verwalteter Code.
-
Wählen Sie in der Dropdown-Liste Verwalteter Pipelinemodus die Option Integriert.
-
-
Doppelklicken Sie unter Anwendungspools auf Site.
-
Klicken Sie mit der rechten Maustaste auf Standard-Website und wählen Sie Anwendung hinzufügen.
-
Im Fenster Anwendung hinzufügen:
-
Geben Sie einen Namen für die Anwendung ein. In diesem Artikel bezeichnen wir diese Anwendung als <oidcbackend>.
-
Klicken Sie auf Auswählen und wählen Sie den von Ihnen erstellten Anwendungspool.
-
Klicken Sie neben Physischer Pfad auf die Schaltfläche mit den drei Punkten und suchen Sie den Ordner, den Sie in Schritt 1 erstellt haben.
-
Um die Berechtigungen für die Anwendungsdaten (%PROGRAMDATA%\MemoQ Server\Oidc Backend), das Anwendungsprotokoll (%PROGRAMDATA%\MemoQ Server\Oidc Backend\LogFiles) und den Site-Ordner (C:\inetpub\wwwroot\<oidcbackend>) zu erteilen, führen Sie diese PowerShell-Befehle aus:
$poolName = "<oidcpool>"
$account = "IIS APPPOOL\$poolName"
$path = "C:\ProgramData\MemoQ Server\Oidc Backend"
icacls $path /grant "${account}:(OI)(CI)(RX,M)"
$path = "C:\ProgramData\MemoQ Server\Oidc Backend\LogFiles"
icacls $path /grant "${account}:(OI)(CI)(RX,M)"
$path = "C:\inetpub\wwwroot\<oidcbackend>"
icacls $path /grant "${account}:(OI)(CI)(RX,M)"
Um die Berechtigung für die memoQ TMS-Datenbank zu erteilen, führen Sie dieses SQL-Skript in SQL Server Management Studio (oder einer anderen SQL-Schnittstelle) aus:
CREATE LOGIN [IIS APPPOOL\<oidcpool>] FROM WINDOWS;
USE [MemoQServer];
CREATE USER [IIS APPPOOL\<oidcpool>] FOR LOGIN [IIS APPPOOL\<oidcpool>];
ALTER ROLE db_owner ADD MEMBER [IIS APPPOOL\<oidcpool>];
Überlegen Sie, ob die Erteilung einer weniger privilegierten Rolle möglich ist.
Um zu prüfen, ob die Datenbankverbindung funktioniert, führen Sie dieses SQL-Skript aus:
EXECUTE AS USER = 'IIS APPPOOL\<oidcpool>';
SELECT * FROM [dbo].[User];
REVERT;
Sie sollten eine Liste von Benutzern sehen.
Basiseinstellungen in der Datei %PROGRAMDATA%\MemoQ Server\Oidc Backend\appsettings.User.json vornehmen
Die Protokollierungsdaten befinden sich in einer separaten Datei, und zwar in C:\inetpub\wwwroot\<oidcbackend>\appsettings.json. In der Regel müssen Sie sie auch nicht ändern.
Kommunikation mit der Datenbank
Der Authentication Manager kommuniziert mit der memoQ TMS-Datenbank. Geben Sie die Verbindungszeichenfolge der memoQ TMS-Datenbank als Wert für den Schlüssel ConnectionStrings.OidcLoginData ein:
Nicht einfach kopieren und einfügen: In der JSON-Datei müssen Sie das Backslash-Zeichen escapen, d. h. "\" in "\\" ändern.
Protokollierung
Die Datei C:\inetpub\wwwroot\<oidcbackend>\appsettings.json datei definiert die Details der Protokollierung.
Suchen Sie den Schlüssel "Name": "File" unter Serilog.WriteTo. Die Schlüssel unter Args definieren wichtige Parameter:
path: Standardmäßig wird das Protokoll in der Datei %PROGRAMDATA%\MemoQ Server\Oidc Backend\LogFiles\log-.txt gespeichert.
rollingInterval, rollOnFileSizeLimit, fileSizeLimitBytes: Die Protokolle werden in tägliche Dateien geschrieben (ändern Sie dies nicht), aber wenn die Dateigröße das Limit erreicht (standardmäßig 100 MB), wird eine zweite Datei für diesen Tag erstellt.
retainedFileCountLimit: Standardmäßig werden die letzten 31 Protokolldateien auf dem Server gespeichert.
Standardmäßig ist die Protokollierungsebene Information.Serilog.MinimumLevel.Default auf Debug oder Verbose.
Verbose listet alles auf, sogar Namen und geheime Schlüssel – verwenden Sie es nur, wenn es wirklich notwendig ist und mit den Datenschutzrichtlinien Ihres Unternehmens übereinstimmt.
Parameter für Ihren Identitätsanbieter festlegen
Seit März 2026 unterstützt das
Wählen Sie die Einstellungsdatei für den Identitätsanbieter-Typ Ihres Unternehmens (AzureAD.settings.json, Google.settings.json, Microsoft.settings.json, OktaCustom.settings.json, OktaOrg.settings.json oder OneLogin.settings.json) und legen Sie sie in den Ordner C:\inetpub\wwwroot\<oidcbackend>. Öffnen Sie sie in einem Texteditor und fügen Sie Ihre Werte ein:
| Parameter | Beschreibung |
|---|---|
|
Die Vorlagendatei, in die Sie die Parameterwerte eintragen. NEHMEN SIE DORT KEINE ÄNDERUNGEN VOR! |
|
|
|
Siehe unten die Beschreibung der einzelnen Subschlüssel. |
|
|
Der Name des Identitätsanbieters in der memoQ TMS-Datenbank, der Schlüsselwert in der Tabelle oidc.IDProviderSettings. Bei Bedarf ändern. |
|
|
Der Text auf der Schaltfläche des Identitätsanbieters, die Sie auf der Anmeldeseite sehen. Bei Bedarf ändern. |
|
|
URL für das Symbol des Identitätsanbieters, das auf der Anmeldeseite erscheint. Es gibt eine Standard-URL für das Symbol, aber Sie können eine andere festlegen. |
|
|
Farbe für die Schaltfläche des Identitätsanbieters, die auf der Anmeldeseite erscheint. Es gibt eine Standardfarbe, aber Sie können auch eine andere festlegen. |
|
|
Textfarbe für die Schaltfläche des Identitätsanbieters, die auf der Anmeldeseite erscheint. Es gibt eine Standardfarbe, aber Sie können auch eine andere festlegen. |
|
|
Die Client-ID, die der Identitätsanbieter für Ihr memoQ TMS generiert hat. Sie müssen den Standardwert ändern. |
|
|
Der Client-Schlüssel oder der geheime Schlüssel, den Sie bei der Registrierung Ihres memoQ TMS bei diesem Identitätsanbieter erhalten haben. Sie sollten den Client-Schlüssel nicht in dieser unverschlüsselten json-Datei speichern – es sei denn, es ist absolut notwendig. Lassen Sie diesen Wert leer und geben Sie den Client-Schlüssel nur ein, wenn Sie den Identitätsanbieter mit dem Konfigurationstool einrichten. |
|
|
Der letzte Teil der Rückruf-URL, die Sie beim Identitätsanbieter registriert haben. Sie müssen den Standardwert ändern. |
|
|
Der OIDC-Bereich, den der Authentication Manager an den Identitätsanbieter senden wird. Standardmäßig umfasst er alle Standardbereichswerte. Sie können Werte nach Bedarf entfernen, aber der Bereich muss den |
| Parameter | Beschreibung |
|---|---|
|
|
Ihr Microsoft Azure-Mandant. Sie müssen den Standardwert ändern. |
|
|
Ihr Microsoft Azure B2C- oder OneLogin-Mandant. Sie müssen den Standardwert ändern. |
|
|
Ihre Microsoft Azure B2C-Domäne. Sie müssen den Standardwert ändern. |
|
|
Ihr Microsoft Azure B2C-User Flow. Sie müssen den Standardwert ändern. |
|
|
Ihre Okta-Domäne. Sie müssen den Standardwert ändern. |
|
|
Die ID Ihres Okta-Autorisierungsservers. Sie müssen den Standardwert ändern. |
|
|
Die Basis-URL Ihrer Okta-Organisation (ohne |
Das OIDC-Konfigurationstool ist eine Befehlszeilenanwendung, die dazu dient:
- eine Identitätsanbieter-Verbindung zu registrieren,
- Verbindungsdetails zu konfigurieren,
Es befindet sich im Ordner C:\inetpub\wwwroot\<oidcbackend>. Öffnen Sie eine Eingabeaufforderung oder ein PowerShell-Fenster mit Administratorrechten in diesem Ordner.
Fügen Sie Ihre Identitätsanbieter-Konfiguration mit dem Befehl AddIdProvider hinzu.
Syntax:
MemoQ.Security.Oidc.Backend.ConfigTool.exe AddIdProvider -f [<absoluter_oder_relativer_Pfad>\]<Ihre_Einstellungsdatei>.json
Wenn Sie ein neues Symbol für den Identitätsanbieter einrichten, fügen Sie dessen Pfad (auf Ihrem Computer) mit dem Parameter -i hinzu.
Beispiele:
MemoQ.Security.Oidc.Backend.ConfigTool.exe AddIdProvider -f AzureAD.settings.json
MemoQ.Security.Oidc.Backend.ConfigTool.exe AddIdProvider -f C:\SSO-Ingredients\OktaOrg.settings.json -i C:\SSO-Ingredients\OktaIcon.png
Client-Schlüssel festlegen, den Sie vom Identitätsanbieter erhalten haben
Der Client-Schlüssel ist ein Kennwort, daher ist es nicht sicher, ihn in einer Konfigurationsdatei zu speichern. Legen ihn manuell mit dem Konfigurationstool fest.
Syntax:
MemoQ.Security.Oidc.Backend.ConfigTool.exe SetClientSecret -s <Client-Schlüssel> -n Okta
| Parameter | Parametername | Erforderlich oder nicht | Beschreibung |
|---|---|---|---|
|
|
|
erforderlich |
Verwenden Sie denselben Wert wie "Name" in der Einstellungsdatei. |
|
|
|
erforderlich |
Der Wert des Client-Schlüssels, den Sie bei der Registrierung von memoQ TMS im Identitätsanbieter erhalten haben. |
Der Client-Schlüssel wird in Hashform in der Datenbank gespeichert.
Basis-URL für den Authentication Manager festlegen
Verwenden Sie dazu den Befehl SetBackendBaseUrl des Konfigurationstools. Erforderliche Option: -u für die URL.
Syntax:
MemoQ.Security.Oidc.Backend.ConfigTool.exe SetBackendBaseUrl -u https://memoqserver.mycompany.com/<oidcbackend>
Die Basis-URL wird erstellt:
Beispiel:
MemoQ.Security.Oidc.Backend.ConfigTool.exe SetBackendBaseUrl -u https://memoqserver.mycompany.com/oidcbackend
memoQweb-Basis-URLs festlegen
Diese Information ist wichtig, da sie dem Authentication Manager mitteilt, von welchen URLs er Aufrufe als von memoQweb annehmen soll. Anmeldeversuche von dieser URL aus werden als memoQweb-Anmeldungen verarbeitet.
Legen Sie die gleiche URL fest, die Sie für die Anmeldung bei memoQweb verwenden. Sie ist in der Registerkarte Server-Administrator > Konfiguration und Protokollierung > Webadressen zu finden.
Verwenden Sie den Befehl SetMemoQWebBaseUrls des Konfigurationstools. Erforderliche Option: -u für die URL.
Syntax:
MemoQ.Security.Oidc.Backend.ConfigTool.exe SetMemoQWebBaseUrls -u <memoqweb_base_url>
Beispiel:
MemoQ.Security.Oidc.Backend.ConfigTool.exe SetMemoQWebBaseUrls -u https://memoqserver.mycompany.com/memoqweb
Softwarekomponenten neu starten
An diesem Punkt müssen Sie folgende Dienste neu starten:
- den memoQ TMS-Dienst,
- den IIS-Anwendungspool oidcbackend
OIDC läuft jetzt unter IIS auf Ihrem memoQ TMS. Der Server akzeptiert:
- Single Sign-On-Anmeldungen: Die Benutzer wählen einen Identitätsanbieter und melden sich mit den Benutzernamen und Kennwörtern an, die sie bei diesem Identitätsanbieter haben.
- Veraltete SSO-Anmeldungen: Die Benutzer melden sich mit den Benutzernamen und Kennwörtern an, die sie im Windows Active Directory des Unternehmens haben. Aus OIDC-Sicht verhalten sich diese Benutzer wie lokale Anmeldungen, und sie können auf OIDC-basiertes SSO umgestellt werden.
- Lokale Anmeldungen: Benutzer, die weder über Identitätsanbieter-Anmeldeinformationen noch über Windows AD-Konten verfügen, können weiterhin ihre memoQ-Benutzernamen und -Kennwörter verwenden.
Sie können nun einem memoQ-Admin-Benutzer mitteilen, dass er mit dem Erstellen oder Aktualisieren von Benutzern auf memoQ TMS beginnen soll (siehe Teil 2 dieses Dokuments).
Mehrere Identitätsanbieter mit einem memoQ TMS verwenden
Ein memoQ TMS kann die Benutzerauthentifizierung von mehr als einem Identitätsanbieter akzeptieren. So können beispielsweise zwei Abteilungen eines Unternehmens unterschiedliche Azure AD-Mandanten verwenden, oder interne Mitarbeiter nutzen Okta, während sich externe Anbieter (freiberufliche Übersetzer) mit ihren persönlichen Google- oder Microsoft-Konten anmelden können.
Außerdem können Sie "herkömmliche" Benutzer haben, die sich mit den Anmeldedaten von memoQ TMS anmelden können.
Nicht mehrere Identitätsanbieter pro Benutzer: Ein memoQ-Benutzer kann nur mit einem einzigen Identitätsanbieter verbunden sein – oder mit keinem, wenn er die "traditionelle" memoQ-Anmeldung verwendet.
Versionskompatibilität
OpenID Connect-basiertes SSO funktioniert nur in den Versionen 9.5 und höher. Frühere Versionen von memoQ TMS können Benutzer mit OIDC-Herkunft nicht erkennen und verwalten.
Kein Zurücksetzen auf frühere Versionen: Bei der Installation von OIDC-basiertem SSO auf Ihrem memoQ TMS fügt das Konfigurationstool der memoQ TMS-Datenbank neue Tabellen hinzu. Das bedeutet, dass Sie durch Zurücksetzen nicht zu Ihrer vorherigen Version zurückkehren können.
Weitere Informationen
Siehe Teil 2 dieses Dokuments (für memoQ-Administratoren) hier.
Tipps zur Problembehandlung, allgemeine Benutzerauthentifizierungsschemata und einige Tipps für Testumgebungen finden Sie hier.