Externe Authentifizierungsanbieter

Mehrere externe Authentifizierungsanbieter können mithilfe der Abschnitte [provider.x] 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.

Microsoft Azure AD OpenID Connect

SKOOR Auth Provider-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 basierend auf dem Ausstellernamen gesetzt.

Erforderliche Einstellungen in Azure AD

Azure-Gruppen-ID, die mit der SKOOR-Remotegruppe übereinstimmt:

Damit Benutzer sich anmelden und die richtige Rolle zugewiesen bekommen können, müssen diese IDs konfiguriert werden.
Im folgenden Beispiel haben alle Benutzer in der Azure AD-Gruppe mit der ID c2b2***** nach der Anmeldung die Administratorrolle:

App-Registrierung

In Ihrem Azure Active Directory registrieren Sie eine neue Anwendung, wählen unterstützte Kontotypen basierend auf Ihrem AD-Setup (Single- oder Multi-Tenant).
Als Umleitungs-URI konfigurieren Sie Folgendes, je nachdem, welche Dienste Ihr Server aktiviert hat. Dies kann auch nachträglich bearbeitet werden.

Skoor- Engine / Skoor-Dashboard

https:// /skoor-auth/oidc/code

Skoor Dashboard Viewer

https://FQDN/skoor-dashboard- Viewer -auth/oidc/code

Mandanten-ID und Kunden-ID

Öffnen Sie nach dem Speichern der Applikationsregistrierung den Übersichtsreiter der erstellten Applikation und notieren Sie sich die beiden ID's, die später für die Konfiguration benötigt werden. Diese nennt man:

  • Anwendungs-(Client-)ID

  • Verzeichnis-(Mandanten-)ID

Zertifikate & Geheimnisse

Gehen Sie als Nächstes zu Zertifikate und 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 können Sie die geheime ID und den geheimen Wert sehen. Der geheime Wert wird später benötigt, um den Skoor Auth-Dienst zu konfigurieren.

Zeichen

Gehen Sie zur Token-Konfiguration und wählen Sie „Gruppenanspruch hinzufügen“ aus. Wählen Sie in der Anspruchskonfiguration „Sicherheitsgruppen“ und den Token-Eigenschaftstyp „ID“ bis „sAMAccountName“ aus.

API-Berechtigung

Dieser Schritt ist optional. Um weitere Details zur Benutzerkonfiguration in Skoor zu aktivieren, beispielsweise das Profilbild, benötigt die Anwendung die Berechtigung zum Lesen des vollständigen Benutzerprofils.
Dazu können Sie im Tab 'API Permissions' folgende Schritte durchführen:

  • Berechtigung hinzufügen

  • Wählen Sie Microsoft Graph aus

  • Delegierte Berechtigungen

  • Suchen Sie nach User.Read oder scrollen Sie im Abschnitt „Benutzer“ und wählen Sie „User.Read“ und klicken Sie dann auf „Berechtigung hinzufügen“.

  • Zurück in der Übersicht bestätigen Sie die Berechtigung, indem Sie „Admin-Einwilligung erteilen“ auswählen.

Schlüsselumhang

SKOOR Auth Provider-Eintrag

[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

Das Folgende ist eine Mindestkonfiguration, um einen OIDC mit Keycloak zum Laufen zu bringen. Dies kann verwendet werden, wenn Sie noch keinen OIDC-kompatiblen Authentifizierungsanbieter haben und Ihre Benutzer gegen ein internes Active Directory authentifizieren möchten.

Bereichseinstellungen

Wenn Sie noch keinen Realm konfiguriert haben, müssen Sie einen hinzufügen. Ein guter Bereichsname könnte Ihr Firmenname sein. Dieser Name ist der Wert, den Sie einfügen müssen in Ihrem Provider-Eintrag.

Es könnte eine gute Idee sein, die Option „ Mich speichern“ auf der Registerkarte „ Anmelden “ zu aktivieren.


Kunden

Sie müssen eine Client-Konfiguration für SKOOR hinzufügen.

Client-ID muss als eingefügt werden in Ihrer Provider-Konfiguration.

Das Client-Protokoll muss openid-connect sein.

Der Zugriffstyp muss vertraulich sein

Der Standardfluss muss aktiviert sein.

Umleitungs-URLs sollten auf die folgenden Werte festgelegt werden:

Skoor- Engine / Skoor-Dashboards

https:// /skoor-auth/oidc/code

Skoor Dashboard Viewer

https://FQDN/skoor-dashboard- Viewer -auth/oidc/code

Das für die Anbieterkonfiguration erhalten Sie auf der Registerkarte Anmeldeinformationen.

Client-Bereiche

Um Gruppeninformationen für einen Benutzer zu erhalten, muss dem Profilbereich ein zusätzlicher Mapper namens groups hinzugefügt werden.

Benutzerverband

Um sich gegen ein Active Directory authentifizieren zu können, muss ein LDAP-Provider 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