Zum Hauptinhalt springen

Authentifizierung

Einführung in die Authentifizierung

Die Authentifizierung in ConSol CM erfolgt über die zusammen mit dem Produkt gelieferten Authentifizierungsanwendungen. Sie basiert auf OpenID Connect. Die Autorisierung, d.h. die Feststellung der Zugangsberechtigungen der authentifizierten Benutzer erfolgt über Rollen.

Es gibt zwei Bereiche für die Authentifizierung:

BenutzergruppeClientsAuthentifizierungsanwendungAnmeldeinformationen
BenutzerWeb Client und Web Admin Suitecm-auth-user.war oder cm-auth-user-standalone.jarVerwaltung auf der Seite Benutzer der Web Admin Suite
KontakteCM/Trackcm-auth-portal-user.war or cm-auth-portal-user-standalone.jarVerwaltung auf den entsprechenden Kontaktseiten im Web Client

Es gibt drei Orte, aus denen die Authentifizierungsanwendung die Anmeldeinformationen der Benutzer abrufen kann, um ihre Identität zu bestätigen: die Datenbank von ConSol CM, einem LDAP-Server oder einem externen SSO-Dienst.

NameSpeicherort der AnmeldeinformationenHinweise
DatenbankDer Benutzername und das Passwort werden in der ConSol CM-Datenbank gespeichert.Sie können eine Passwortrichtlinie einstellen und die Funktion zum Zurücksetzen des Passworts konfigurieren.
LDAPDer Benutzername wird in der ConSol CM-Datenbank gespeichert. Das Passwort wird auf dem LDAP-Server gespeichert.Die Benutzer oder Kontakte können Ihre Passwörter nicht in ConSol CM ändern.
SSODer Benutzername wird in der ConSol CM-Datenbank gespeichert. Das Passwort wird im Active Directory gespeichert und aus einer gültigen Windows-Session abgerufen.Die Benutzer oder Kontakte können ihre Passwörter nicht in ConSol CM ändern. Es wird ein externer SSO-Provider wie Microsoft Active Directory Federation Services oder Azure AD benötigt.

Die Standard-OIDC-Konfiguration für eine Authentifizierung anhand von Anmeldeinformationen aus der Datenbank oder LDAP wird automatisch auf der Seite System-Properties erzeugt. Für eine externe SSO-Authentifizierung müssen Sie die Properties mit den für Ihren SSO-Provider passenden Werten anpassen.

Authentication_DE.png

Grundlegende Aufgaben

Festlegen der Quelle der Anmeldeinformationen für Benutzer

Die Quelle für die Anmeldeinformationen für den Web Client und die Web Admin Suite wird über die System-Property cmas-core-security, engineer.authentication.method festgelegt. Mögliche Werte sind: "DATENBANK", "LDAP", "LDAP,DATENBANK", "DATENBANK,LDAP".

Gemischter Modus

Wenn sowohl LDAP als auch Datenbank konfiguriert sind, werden die Authentifizierungsversuche in der folgenden Reihenfolge durchgeführt:

  • LDAP,DATENBANK: Wenn eine LDAP-ID in den Benutzerdaten gespeichert ist, wird der erste Anmeldeversuch über die verfügbaren LDAP-Server unternommen. Schlägt die Anmeldung fehl, wird versucht, sich über die Datenbank anzumelden, sofern ein Benutzername und ein Passwort in den Benutzerdaten gespeichert sind.
  • DATENBANK,LDAP: Wenn ein Benutzername und ein Passwort in den Benutzerdaten gespeichert sind, wird der erste Anmeldeversuch über die Datenbank unternommen. Schlägt die Anmeldung fehl, wird versucht, sich über die verfügbaren LDAP-Server anzumelden, sofern in den Benutzerdaten eine LDAP-ID gespeichert ist.

Je nach der konfigurierten Quelle der Anmeldeinformationen müssen Sie auf der Seite Benutzer der Web Admin Suite verschiedene Felder ausfüllen:

  • Datenbank: Felder Login und Passwort.
  • LDAP: Feld LDAP-ID
  • Externes SSO: Feld Login
Authentifizierung des anfänglichen Administrators

Die Anmeldedaten des Administrators, der während der Einrichtung erstellt wurde (siehe System-Property cmas-core-security, admin.login), werden immer in der Datenbank gespeichert. Wenn Sie nur LDAP als Authentifizierungsmethode mit internem OIDC verwenden, wird der anfängliche Administrator nicht mehr funktionieren. Daher müssen Sie zunächst einem in LDAP verwalteten Benutzer Administratorrechte zuweisen.

Festlegen der Quelle der Anmeldeinformationen für Kontakte

Die Quelle für die Anmeldeinformationen für CM/Track wird über die System-Property cmas-core-security, contact.authentication.method festgelegt. Mögliche Werte sind: "DATENBANK", "LDAP", "LDAP,DATENBANK", "DATENBANK,LDAP".

Gemischter Modus

Wenn sowohl LDAP als auch Datenbank konfiguriert sind, werden die Authentifizierungsversuche in der folgenden Reihenfolge durchgeführt:

  • LDAP,DATENBANK: Wenn eine LDAP-ID in den Kontaktdaten gespeichert ist, wird der erste Anmeldeversuch über die verfügbaren LDAP-Server unternommen. Schlägt die Anmeldung fehl, wird versucht, sich über die Datenbank anzumelden, sofern ein Benutzername und ein Passwort in den Kontaktdaten gespeichert sind.
  • DATENBANK,LDAP: Wenn ein Benutzername und ein Passwort in den Kontaktdaten gespeichert sind, wird der erste Anmeldeversuch über die Datenbank unternommen. Schlägt die Anmeldung fehl, wird versucht, sich über die verfügbaren LDAP-Server anzumelden, sofern in den Kontaktdaten eine LDAP-ID gespeichert ist.

Je nach konfigurierter Quelle der Anmeldeinformationen müssen Sie auf der Seite Kontaktfelder der Web Admin Suite Felder für die Anmeldedaten in den Kontaktdaten anlegen. Diese Felder müssen im Web Client für alle Kontakte ausgefüllt werden, die Zugriff auf CM/Track oder die REST-API benötigen.

  • Datenbank: Benutzername (Feld mit der Einstellung Benutzername für CM/Track) und Passwort (Feld mit der Einstellung Passwort für CM/Track)
  • LDAP: LDAP-ID (Feld mit der Einstellung Benutzername für CM/Track und LDAP-ID für CM/Track).
  • Externes SSO: Benutzername (Feld mit der Einstellung Benutzername für CM/Track).
Groß- und Kleinschreibung bei Benutzernamen

Wenn die Datenbank verwendet wird, müssen Sie in der System-Property cmas-core-security, policy.track.username.case.sensitive festlegen, ob bei CM/Track-Benutzernamen zwischen Groß- und Kleinschreibung unterschieden werden soll. Setzen Sie sie nur dann auf "true", wenn die Kollation der Datenbank Groß- und Kleinschreibung unterstützt.

Konfigurieren der Authentifizierung

Im folgenden Abschnitt wird beschrieben, wie Sie die Authentifizierung mit den verschiedenen Quellen von Anmeldeinformationen konfigurieren.

Keine zusätzliche Konfiguration erforderlich.

Erweiterte Aufgaben

Vornehmen von erweiterten Einstellungen

Im folgenden Abschnitt wird beschrieben, wie Sie erweiterte Einstellungen für die verschiedenen Quellen der Anmeldeinformationen vornehmen können.

Konfigurieren der Passwortrichtlinie

Sie können die Passwortrichtlinie in den folgenden System-Properties anpassen:

  • cmas-core-security, policy.password.pattern: RegEx-Muster für das Passwort. Standardwert: ^(?=.*[0-9])(?=.*[A-Z])(?=.*[a-z]).{7,}$ (mindestens 7 Zeichen, mindestens ein Großbuchstabe, ein Kleinbuchstabe und eine Zahl)

  • cmas-core-security, policy.password.age: Maximale Gültigkeitsdauer, in Tagen. Beispiel: 183 (6 Monate). Standardwert: 5500 (15 Jahre, d. h. keine Änderung des Passworts erzwungen).

  • cmas-core-security, policy.rotation.ratio: Anzahl der vorherigen Passwörter, die nicht identisch sein dürfen. Standardwert: 5.

  • cmas-core-security, policy.username.case.sensitive: Legt fest, ob beim Passwort zwischen Groß- und Kleinschreibung unterschieden wird. Standardwert: true.

    MySQL

    Diese Einstellung wird von der MySQL-Collation beeinflusst und benötigt die richtige Collation, um korrekt in MySQL zu funktionieren.

Konfigurieren der Passwort-Zurücksetzung

Benutzer oder Kontakte, die ihr Passwort vergessen haben, können auf der Anmeldeseite auf den Link Passwort vergessen? klicken. Wenn ihre Daten eine E-Mail-Adresse enthalten, erhalten sie eine E-Mail mit Anweisungen, wie sie ihr Passwort zurücksetzen können.

Die folgenden Templates werden für die E-Mail verwendet. Sie können auf der Seite Templates der Web Admin Suite angepasst werden.

  • Benutzer: auth-passwort-reset-template
  • Kontakte: track-auth-passwort-zurücksetzen-template

Die folgenden Variablen werden in den Templates verwendet und müssen auf die richtigen Werte gesetzt werden:

  • expirationDate: Standardmäßig läuft der Link 24 Tage nach der Anforderung zum Zurücksetzen des Passworts ab. Um diesen Wert zu ändern, erstellen Sie die System-Property cmas-core-security, resetCode.expirationPeriod mit dem gewünschten Zeitraum.
  • urlTrackAuth: URL zur CM/Track-Instanz, die in der System-Property cmas-core-server, url.track.auth gespeichert ist.
  • urlWebclientAuth: URL zum Web-Client, die in der System-Property cmas-core-server, url.webclient.auth gespeichert ist.
Erforderliche Berechtigungen für Kontakte

Kontakte benötigen Schreibrechte für ihre eigene Kundengruppe, um ihre Passwörter zurückzusetzen.

Verwenden von Zwei-Faktor-Authentifizierung

Sie können die Zwei-Faktor-Authentifizierung als zusätzliche Sicherheitsmaßnahme aktivieren. Der zweite Faktor ist ein Einmalcode, der per E-Mail gesendet wird.

Der Anmeldevorgang mit Zwei-Faktor-Authentifizierung sieht wie folgt aus:

  1. Der Benutzer öffnet die Anmeldeseite und gibt seine Anmeldedaten (Benutzername und Passwort) ein.
  2. Wenn die Anmeldedaten korrekt sind, wird eine E-Mail mit einem Einmalcode verschickt.
  3. Der Benutzer gibt den Eimalcode ein, um sich anzumelden. Falls konfiguriert, kann er entscheiden, sich diesen Browser zu merken, sodass er innerhalb des konfigurierten Zeitraums nicht erneut zur Eingabe eines Einmalcodes aufgefordert wird.

Die Konfiguration erfolgt getrennt für die Authentifizierungsanwendung (Web Client und Web Admin Suite, Bereich user) und die Portal-Authentifizierungsanwendung (CM/Track V3, Bereich portal.user).

  • cmas.auth.<scope>.2fa.mode: Setzen Sie "email", um die Zwei-Faktor-Authentifizierung zu aktivieren.
  • cmas.auth.<scope>.2fa.email.code.length: Definieren Sie die Länge des Einmalcodes, der per E-Mail gesendet wird. Standardwert: 6.
  • cmas.auth.<scope>.2fa.email.code.validity.minutes: Definieren Sie die Gültigkeit des Einmalcodes in Minuten. Standardwert: 15.
  • cmas.auth.<scope>.2fa.rememberBrowser.enabled: Setzen Sie "true", um die Checkbox Dieses Gerät merken auf der Anmeldeseite anzuzeigen, wodurch die Benutzer den zweiten Faktor überspringen können.
  • cmas.auth.<scope>.2fa.rememberBrowser.period.days: Definieren Sie den Zeitraum für das Merken des Browsers.
  • cmas.auth.<scope>.2fa.rememberBrowser.key: Definieren Sie den Schlüssel zur Identifizierung der Token für das Merken des Browsers.
  • cmas.auth.<scope>.2fa.whitelist: Definieren Sie, welche Benutzer die Zwei-Faktor-Authentifizierung überspringen können, indem Sie ihre Logins als kommagetrennte Liste hinzufügen.
  • cmas.auth.user.2fa.scope: Setzen Sie diesen Wert auf "admin", wenn die Zwei-Faktor-Authentifizierung nur für Benutzer mit Administratorrechten erforderlich sein soll. Setzen Sie den Wert auf "all", wenn die Zwei-Faktor-Authentifizierung für alle Benutzer aktiviert werden soll. Nur für den Web Client und die Web Admin Suite.

Sie können die E-Mail, die mit dem Einmalcode gesendet wird, in den folgenden Templates auf der Seite Templates der Web Admin Suite anpassen:

  • track-auth-2fa-mailcode-template: Template für CM/Track V3
  • auth-2fa-mailcode-template: Template für den Web Client und die Web Admin Suite
Externes SSO

Zwei-Faktor-Authentifizierung ist nicht verfügbar, wenn ein externer SSO-Provider genutzt wird. In dieser Situation werden alle auf der ConSol CM-Seite vorgenommenen Einstellungen bezüglich Zwei-Faktor-Authentifizierung ignoriert, und Sie müssen einen zweiten Faktor in der externen SSO-Anwendung konfigurieren.

Browser merken

Die Funktion Browser merken ist nur über HTTPS oder auf localhost verfügbar, da sichere Cookies verwendet werden.

Überprüfen der internen OIDC-Konfiguration

Sie können die OIDC-Konfiguration auf der Seite System-Properties überprüfen. Die folgenden Properties im Modul cmas-core-security sind relevant.

Der Platzhalter <scope> wird in den Property-Namen für den Client verwendet, für den die OIDC-Konfiguration relevant ist. Dies kann der Web Client (Wert web), die Web Admin Suite (Wert was) oder CM/Track V3 (Wert track3) sein.

  • oidc.<scope>.enabled.default: Gibt an, ob die Benutzerauthentifizierung mit SSO über OIDC aktiviert ist. Sollte "true" sein.
  • oidc.<scope>.authority.default: Gibt die URL der Authentifizierungsautorität an. Sollte "cmas-auth-user" für Web Client und Web Admin Suite und "cmas-auth-portal-user" für CM/Track sein. Beispiel: https://localhost/cmas-auth-user.
  • oidc.<scope>.clientId.default: Gibt die ID des Clients an. Muss in der Standardkonfiguration nicht geändert werden.
  • oidc.<scope>.clientSecret.default: Gibt das Secret des Clients an. Muss in der Standardeinstellung nicht geändert werden.
  • oidc.<scope>.globalLogout.default: Legt fest, ob der Benutzer auch beim OIDC-Provider abgemeldet wird, wenn er sich vom Client abmeldet. Sollte auf "true" gesetzt werden.
  • oidc.<scope>.providerType.default: Sollte "internal" sein, um die ConSol CM-Authentifizierungsanwendung als OIDC-Provider zu verwenden.
  • oidc.<scope>.redirectUri.default: Gibt die Redirect-URI an, über die Authentifizierungsantworten empfangen werden können. Dies ist entweder der OIDC-Endpunkt auf dem ConSol CM-Server, auf dem der Client läuft, oder auf dem Load Balancer. Beispiel: https://localhost/track/oidc/ oder https://localhost/cm-client/oidc/
  • oidc.<scope>.usernameClaim.default: Gibt den Namen des Claims im ID-Token an, der für die Zuordnung des Benutzers zu einem Benutzer oder Kontakt in ConSol CM verwendet wird. Sollte "sub" sein.
  • oidc.<scope>.usernameRegexp.default: Definiert den regulären Ausdruck, der für die Zuordnung der Claim-Werte für den Benutzernamen zu ConSol CM-Benutzernamen verwendet wird. Sollte (.*) sein.

Verwenden von mehreren URLs für CM/Track

Wenn über mehr als eine URL auf CM/Track zugegriffen wird, müssen Sie zusätzliche OIDC-Konfigurationen erstellen. Dies ist zum Beispiel in den folgenden Situationen der Fall:

  • Es gibt zwei verschiedene Instanzen von CM/Track für verschiedene Gruppen von Endbenutzern.
  • Auf eine Instanz von CM/Track wird über zwei verschiedene URLs zugegriffen, z.B. eine interne und eine externe.

Für jede URL, die für den Zugriff auf CM/Track verwendet wird, ist eine OIDC-Konfiguration erforderlich. Sie muss manuell auf der Seite System-Properties erstellt werden. Die folgenden Änderungen sind notwendig:

  1. Fügen Sie alle URLs, die die Portalkonfiguration verwenden sollen, als kommagetrennte Liste zur System-Property cmas-restapi-core, domain.map.for.client.config.\{portal_config\} hinzu, z.B. domain.map.for.client.config.MYPORTAL=http://cm.consol.pl:8999/cm-track, http://cm.consol.pl/cm-track.
  2. Erstellen Sie für jede URL eine OIDC-Konfiguration. Sie muss mindestens die folgenden Properties enthalten:
    • Erstellen Sie cmas-core-security, domain.map.for.oidc.config.\{oidc_config\} und setzen Sie die URL, über die CM/Track erreicht wird, als Wert, z.B. domain.map.for.oidc.config.MYTRACK1=http://cm.consol.pl:8999/cm-track.
    • Erstellen Sie cmas-core-security, oidc.track3.redirectUri.\{oidc_config\} und setzen Sie den /oidc-Endpunkt der CM/Track-Instanz als Wert, z.B. oidc.track3.redirectUri.MYTRACK1=http://cm.consol.pl:8999/cm-track/oidc/.
    • Erstellen Sie cmas-core-security, oidc.track3.authority.\{oidc_config\} und setzen Sie den Endpunkt /cmas-auth-portal-user der Authentifizierungsanwendung als Wert, z. B. oidc.track3.authority.MYTRACK1=http://cm.consol.pl:8999/cmas-auth-portal-user.
  3. Überprüfen Sie die Standard-OIDC-Konfiguration, siehe Überprüfen der internen OIDC-Konfiguration. Wenn andere Werte benötigt werden, erstellen Sie konfigurationsspezifische Properties, um die Standardwerte zu überschreiben, z. B. oidc.track3.authority.MYTRACK1.