Externe Authentifizierungsanbieter
Mithilfe der Abschnitte [provider.x] 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.
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 Namen des Ausstellers festgelegt.
Erforderliche Einstellungen in Azure AD
Azure-Gruppen-ID zur Übereinstimmung mit der SKOOR-Remotegruppe:
Damit sich Benutzer 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 und wählen unterstützte Kontotypen basierend auf Ihrem AD-Setup (Einzel- oder Mehrmandanten) aus.
Konfigurieren Sie als Redirect-URI Folgendes, abhängig davon, welche Dienste Ihr Server aktiviert hat. Dies kann auch nachträglich bearbeitet werden.
Skoor- Engine / Skoor-Armaturenbrett | https:// |
Skoor Dashboard Viewer | https://FQDN/skoor-dashboard- Viewer -auth/oidc/code |
Mieter-ID und Kunden-ID
Sobald die Anwendungsregistrierung gespeichert ist, öffnen Sie den Übersichtsreiter der erstellten Anwendung und notieren Sie sich die beiden IDs, 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. Nach dem Speichern können Sie die Geheim-ID und den Geheimwert sehen. Der geheime Wert wird später zum Konfigurieren des Skoor Auth-Dienstes benötigt.
Zeichen
Gehen Sie zur Token-Konfiguration und wählen Sie „Gruppenanspruch hinzufügen“. Wählen Sie in der Anspruchskonfiguration „Sicherheitsgruppen“ und wählen Sie den Token-Eigenschaftstyp „ID“ bis „sAMAccountName“.
API-Berechtigung
Dieser Schritt ist optional. Um weitere Details zur Benutzerkonfiguration in Skoor zu ermöglichen, beispielsweise das Profilbild, benötigt die Anwendung die Berechtigung, das vollständige Benutzerprofil zu lesen.
Dazu können Sie im Reiter „API-Berechtigungen“ folgende Schritte durchführen:
Berechtigung hinzufügen
Wählen Sie Microsoft Graph aus
Delegierte Berechtigungen
Suchen Sie nach „User.Read“ oder scrollen Sie durch den Abschnitt „Benutzer“, 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 „Administratoreinwilligung erteilen“ auswählen.
Schlüsselmantel
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
Im Folgenden finden Sie eine Mindestkonfiguration, damit ein OIDC mit Keycloak funktioniert. Dies kann verwendet werden, wenn Sie noch keinen OIDC-kompatiblen Authentifizierungsanbieter haben und Ihre Benutzer anhand eines internen Active Directory authentifizieren möchten.
Realm-Einstellungen
Wenn Sie noch keinen Bereich konfiguriert haben, müssen Sie einen hinzufügen. Ein guter Realmname könnte Ihr Firmenname sein. Dieser Name ist der Wert, den Sie als einfügen müssen
Es könnte eine gute Idee sein, die Option „Angemeldet bleiben“ auf der Registerkarte „Anmelden“ zu aktivieren.
Kunden
Sie müssen eine Client-Konfiguration für SKOOR hinzufügen.
Die Client-ID muss als eingegeben werden
Das Client-Protokoll muss openid-connect sein.
Der Zugriffstyp muss vertraulich sein
Der Standardfluss muss aktiviert sein.
Umleitungs-URLs sollten auf die folgenden Werte eingestellt werden:
Skoor Engine / Skoor Dashboards | https:// |
Skoor Dashboard Viewer |
Das Client-Geheimnis, das dafür benötigt wird
Client-Bereiche
Um Gruppeninformationen für einen Benutzer abzurufen, muss dem Profilbereich ein zusätzlicher Mapper namens „ Gruppen“ hinzugefügt werden.
Benutzerföderation
Um sich gegenüber einem Active Directory authentifizieren zu können, muss ein LDAP-Anbieter hinzugefügt werden.
Diese Einstellungen hängen stark von Ihrer AD-Konfiguration ab
Ein sehr wichtiger Schritt besteht darin, einen Mapper vom Typ group-ldap-mapper hinzuzufügen.
Kerberos
Wenn Kerberos SSO benötigt wird, kann dies im Authentifizierungsmenü aktiviert werden