Externe Authentifizierungsanbieter
Mithilfe von [provider.x]-Abschnitten können mehrere externe Authentifizierungsanbieter definiert werden:
[provider.1]
type = oidc
# Provider type, currently only oidc is available
name = OIDC Example
# Display name
issuer = example
# issuer of the tokens. Can be "google", "microsoft"
# or an arbitrary string for custom identity
# providers
icon = url('data:image/svg+xml;base64,...')
# Optional display icon. Can be either a remote or
# a data URL. If omitted, a default icon is used
# based on type and provider.
metadata_url = https://example.com/auth/realms/<realm>
# URL to get OIDC metadata from. Can be obtained
# from the provider.
# It usually contains a realm or tenant id.
client_id = <client-id>
# OIDC client secret. Can be obtained from the
# provider. Some providers call this "app id".
client_secret = <client-secret->
# OIDC client secret. Can be obtained from the
# provider. Some providers call this "secret value".
hidden = false
# it is possible to hide an authentication provider
# on the SKOOR Auth start page. This can be useful
# if e.g. normal users authenticate against a public
# provider and support employees against an internal
# one.
default_group = <group-name>
# if a default group is specified, all users
# authenticating against this provider will be
# automatically added to this group. This can be
# useful if the provider does not provide group information
# or if all users should be added to a specific group.
Microsoft Azure AD OpenID Connect
SKOOR Auth-Anbieter-Eintrag
[provider.1] type = oidc name = Azure AD Example issuer = microsoft metadata_url = https://login.microsoftonline.com/<tenant-id>/v2.0 client_id = <app-id> client_secret = <secret-value>
Das Symbol wird automatisch anhand des Ausstellernamens festgelegt.
Erforderliche Einstellungen in Azure AD
Azure-Gruppen-ID, die der SKOOR-Remote-Gruppe entspricht:
Damit sich Benutzer anmelden können und die richtige Rolle zugewiesen bekommen, müssen diese IDs konfiguriert werden.
Im folgenden Beispiel erhalten alle Benutzer in der Azure AD-Gruppe mit der ID c2b2***** nach der Anmeldung die Administratorrolle:
App-Registrierung
Registrieren Sie in Ihrem Azure Active Directory eine neue Anwendung und wählen Sie die unterstützten Kontotypen entsprechend Ihrer AD-Konfiguration (Single- oder Multi-Tenant) aus.
Konfigurieren Sie als Umleitungs-URI die folgenden Werte, je nachdem, welche Dienste Ihr Server aktiviert hat. Diese können später auch bearbeitet werden.
SKOOR Engine / SKOOR Dashboard | https://<FQDN>/skoor-auth/oidc/code |
SKOOR Dashboard Viewer | https://FQDN/skoor-dashboard-viewer-auth/oidc/code |
Tenant-ID & Client-ID
Sobald die Anwendungsregistrierung gespeichert ist, öffnen Sie die Registerkarte „Übersicht“ der erstellten Anwendung und notieren Sie sich die beiden IDs, die später für die Konfiguration benötigt werden. Diese heißen:
Anwendungs- (Client-)ID
Verzeichnis- (Tenant-)ID
Zertifikate und Geheimnisse
Wechseln Sie anschließend zu „Zertifikate & Geheimnisse“ und fügen Sie ein Client-Geheimnis hinzu. Legen Sie einen Namen für dieses Geheimnis fest und wählen Sie ein Ablaufdatum aus. Nach dem Speichern werden die Geheimnis-ID und der Geheimniswert angezeigt. Der Geheimniswert wird später zur Konfiguration des SKOOR Auth-Dienstes benötigt.
Token
Gehen Sie zur Token-Konfiguration und wählen Sie „Gruppen-Claim hinzufügen“. Wählen Sie in der Claim-Konfiguration „Sicherheitsgruppen“ aus und ändern Sie den Token-Eigenschaftstyp von „ID“ auf „sAMAccountName“.
API-Berechtigung
Dieser Schritt ist optional. Um weitere Details zur Benutzerkonfiguration in Skoor anzuzeigen, beispielsweise das Profilbild, benötigt die Anwendung die Berechtigung, das vollständige Benutzerprofil zu lesen.
Dazu können Sie auf der Registerkarte „API-Berechtigungen“ die folgenden Schritte ausführen:
Berechtigung hinzufügen
Wählen Sie „Microsoft Graph“ aus
Delegierte Berechtigungen
Suchen Sie nach „User.Read“ oder scrollen Sie im Abschnitt „Benutzer“ nach unten, wählen Sie „User.Read“ aus und klicken Sie anschließend auf „Berechtigung hinzufügen“
Bestätigen Sie in der Übersicht die Berechtigung, indem Sie „Administratorzustimmung erteilen“ auswählen
Keycloak
Eintrag für den SKOOR Auth-Anbieter
[provider.2]
type = oidc
name = SKOOR Keycloak
issuer = skoor
icon = url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM6c29kaXBvZGk9Imh0dHA6Ly9zb2RpcG9kaS5zb3VyY2Vmb3JnZS5uZXQvRFREL3NvZGlwb2RpLTAuZHRkIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgdmlld0JveD0iMCAwIDI1LjAwMDAwMSAyNSIKICAgaGVpZ2h0PSIyNSIKICAgd2lkdGg9IjI1IgogICB4bWw6c3BhY2U9InByZXNlcnZlIgogICBpZD0ic3ZnMiIKICAgdmVyc2lvbj0iMS4xIgogICBzb2RpcG9kaTpkb2NuYW1lPSJza29vci1jaXJjbGUuc3ZnIgogICBpbmtzY2FwZTp2ZXJzaW9uPSIwLjkyLjUgKDIwNjBlYzFmOWYsIDIwMjAtMDQtMDgpIj48c29kaXBvZGk6bmFtZWR2aWV3CiAgICAgcGFnZWNvbG9yPSIjZmZmZmZmIgogICAgIGJvcmRlcmNvbG9yPSIjNjY2NjY2IgogICAgIGJvcmRlcm9wYWNpdHk9IjEiCiAgICAgb2JqZWN0dG9sZXJhbmNlPSIxMCIKICAgICBncmlkdG9sZXJhbmNlPSIxMCIKICAgICBndWlkZXRvbGVyYW5jZT0iMTAiCiAgICAgaW5rc2NhcGU6cGFnZW9wYWNpdHk9IjAiCiAgICAgaW5rc2NhcGU6cGFnZXNoYWRvdz0iMiIKICAgICBpbmtzY2FwZTp3aW5kb3ctd2lkdGg9IjE5MjAiCiAgICAgaW5rc2NhcGU6d2luZG93LWhlaWdodD0iMTAxNiIKICAgICBpZD0ibmFtZWR2aWV3MTMiCiAgICAgc2hvd2dyaWQ9ImZhbHNlIgogICAgIGlua3NjYXBlOnpvb209IjIyLjIyNjk2NyIKICAgICBpbmtzY2FwZTpjeD0iOC4yODU2MDM4IgogICAgIGlua3NjYXBlOmN5PSIxMy42MjkyMjYiCiAgICAgaW5rc2NhcGU6d2luZG93LXg9IjAiCiAgICAgaW5rc2NhcGU6d2luZG93LXk9IjI3IgogICAgIGlua3NjYXBlOndpbmRvdy1tYXhpbWl6ZWQ9IjEiCiAgICAgaW5rc2NhcGU6Y3VycmVudC1sYXllcj0ic3ZnMiIKICAgICBmaXQtbWFyZ2luLXRvcD0iMCIKICAgICBmaXQtbWFyZ2luLWxlZnQ9IjAiCiAgICAgZml0LW1hcmdpbi1yaWdodD0iMCIKICAgICBmaXQtbWFyZ2luLWJvdHRvbT0iMCIgLz48bWV0YWRhdGEKICAgICBpZD0ibWV0YWRhdGE4Ij48cmRmOlJERj48Y2M6V29yawogICAgICAgICByZGY6YWJvdXQ9IiI+PGRjOmZvcm1hdD5pbWFnZS9zdmcreG1sPC9kYzpmb3JtYXQ+PGRjOnR5cGUKICAgICAgICAgICByZGY6cmVzb3VyY2U9Imh0dHA6Ly9wdXJsLm9yZy9kYy9kY21pdHlwZS9TdGlsbEltYWdlIiAvPjxkYzp0aXRsZT48L2RjOnRpdGxlPjwvY2M6V29yaz48L3JkZjpSREY+PC9tZXRhZGF0YT48ZGVmcwogICAgIGlkPSJkZWZzNiIgLz48cGF0aAogICAgIGlkPSJwYXRoMjQiCiAgICAgc3R5bGU9ImZpbGw6I2UyMDA3YTtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MC4wMjg2ODc3NSIKICAgICBkPSJtIDYuMDkzODUyMiwxMi4xNzc1MjUgYyAwLDMuODgzNDYgMi44Njc5MTM1LDYuNzIwOTY2IDYuMzYyMzY2OCw2LjcyMDk2NiAzLjQ5NTAyOSwwIDYuMzYyOTQ1LC0yLjgzNzUwNiA2LjM2Mjk0NSwtNi43MjA5NjYgMCwtMy4xMDYyOTU2IC0yLjg2NzkxNiwtNS45NDM4MDA1IC02LjM2Mjk0NSwtNS45NDM4MDA1IC0zLjQ5NDQ1MzMsMCAtNi4zNjIzNjY4LDIuODM3NTA0OSAtNi4zNjIzNjY4LDUuOTQzODAwNSB6IE0gMjQuOTEyNDQxLDEyLjE0Nzk4IGMgMCw3LjI4ODY5NiAtNS4yMjcxOTUsMTIuNDI2NjcyIC0xMi40NTYyMjIsMTIuNDI2NjcyIEMgNS4yMjc0ODE1LDI0LjU3NDY0OSAwLDE5LjQzNjY3MiAwLDEyLjE0Nzk3NyAwLDUuMzM3NTE5MyA1Ljk3NDIyNDMsMC41NTc4NTM0NSAxMi40NTYyMTksMC41NTc4NTM0NSBjIDYuNDgyMjg0LDAgMTIuNDU2MjIyLDQuNzc5NjY1ODUgMTIuNDU2MjIyLDExLjU5MDEyMzU1IgogICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiIC8+PC9zdmc+')
metadata_url = https://<keycloak-server-address>/auth/realms/<realm>
client_id = <client-id>
client_secret = <client-secret>
Da wir einen benutzerdefinierten Aussteller haben, müssen wir ein Symbol bereitstellen, das neben dem Namen angezeigt wird. Wir können das Symbol mithilfe einer Daten-URL bereitstellen.
Erforderliche Einstellungen in Keycloak
Im Folgenden finden Sie eine Mindestkonfiguration, um OIDC mit Keycloak zum Laufen zu bringen. Diese kann verwendet werden, wenn Sie noch keinen OIDC-kompatiblen Authentifizierungsanbieter haben und Ihre Benutzer über ein internes Active Directory authentifizieren möchten.
Realm-Einstellungen
Falls Sie noch keinen Realm konfiguriert haben, müssen Sie einen hinzufügen. Ein geeigneter Realm-Name wäre beispielsweise Ihr Firmenname. Diesen Namen müssen Sie als <realm> in Ihren Anbieter-Eintrag einfügen.
Es empfiehlt sich, auf der Registerkarte „Anmelden“ die Option „Angemeldet bleiben“ zu aktivieren.
Clients
Sie müssen eine Client-Konfiguration für SKOOR hinzufügen.
Die Client-ID muss in Ihrer Provider-Konfiguration als <client_id> eingegeben werden.
Als Client-Protokoll muss „openid-connect“ angegeben werden.
Der Zugriffstyp muss „vertraulich“ sein.
Der Standardablauf muss aktiviert sein.
Die Weiterleitungs-URLs sollten auf folgende Werte gesetzt werden:
SKOOR Engine / SKOOR Dashboards | https://<FQDN>/skoor-auth/oidc/code |
SKOOR Dashboard Viewer |
Das für die Anbieter-Konfiguration unter <client_secret> benötigte Client-Secret finden Sie auf der Registerkarte „Anmeldedaten“.
Client-Bereiche
Um Gruppeninformationen für einen Benutzer abzurufen, muss dem Profilbereich ein zusätzlicher Mapper namens „groups“ hinzugefügt werden.
Benutzerföderation
Um eine Authentifizierung über ein Active Directory durchführen zu können, muss ein LDAP-Anbieter hinzugefügt werden.
Diese Einstellungen hängen stark von Ihrer AD-Konfiguration ab
Ein sehr wichtiger Schritt ist das Hinzufügen eines Mappers vom Typ „group-ldap-mapper“.
Kerberos
Falls Kerberos-SSO benötigt wird, kann dies im Menü „Authentifizierung“ aktiviert werden







