Fornitori di autenticazione esterni
È possibile definire più provider di autenticazione esterni utilizzando le sezioni [provider.x]:
[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 Provider Entry
[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>
L'icona viene impostata automaticamente in base al nome dell'emittente.
Impostazioni richieste in Azure AD
ID del gruppo Azure corrispondente al gruppo remoto SKOOR:
Per consentire agli utenti di effettuare l'accesso e ottenere l'assegnazione del ruolo corretto, è necessario configurare questi ID.
Nell'esempio riportato di seguito, tutti gli utenti del gruppo Azure AD con ID c2b2***** avranno il ruolo di amministratore dopo aver effettuato l'accesso:
Registrazione dell’app
In Azure Active Directory registrare una nuova applicazione, scegliendo i tipi di account supportati in base alla configurazione di AD (single-tenant o multi-tenant).
Come URI di reindirizzamento, configurare quanto segue, a seconda dei servizi attivati dal proprio server. Questa impostazione può essere modificata anche in un secondo momento.
SKOOR Engine / SKOOR Dashboard | https://<FQDN>/skoor-auth/oidc/code |
SKOOR Dashboard Viewer | https://FQDN/skoor-dashboard-viewer-auth/oidc/code |
ID tenant e ID client
Una volta salvata la registrazione dell’applicazione, apri la scheda Panoramica dell’applicazione creata e prendi nota dei due ID che saranno necessari in seguito per la configurazione. Si chiamano:
ID applicazione (client)
ID directory (tenant)
Certificati e segreti
Successivamente, vai su "Certificati e segreti" e aggiungi un segreto client. Assegna un nome a questo segreto e scegli una data di scadenza. Una volta salvato, potrai visualizzare l’ID del segreto e il valore del segreto. Il valore del segreto sarà necessario in seguito per configurare il servizio SKOOR Auth.
Token
Accedere alla configurazione del token e selezionare "Aggiungi claim di gruppo". Nella configurazione del claim, selezionare "Gruppi di sicurezza" e impostare il tipo di proprietà del token da "ID" a "sAMAccountName".
Autorizzazioni API
Questo passaggio è facoltativo. Per abilitare ulteriori dettagli sulla configurazione dell’utente in Skoor, ad esempio l’immagine del profilo, l’applicazione necessita dell’autorizzazione a leggere il profilo utente completo.
A tal fine, è possibile eseguire i seguenti passaggi nella scheda “Autorizzazioni API”:
Aggiungi autorizzazione
Seleziona Microsoft Graph
Autorizzazioni delegate
Cerca "User.Read" oppure scorri la sezione "utente" e seleziona "User.Read", quindi fai clic su "Aggiungi autorizzazione"
Tornando alla panoramica, confermare l’autorizzazione selezionando «Concedi consenso amministratore»
Keycloak
SKOOR Auth Provider Entry
[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>
Poiché disponiamo di un emittente personalizzato, dobbiamo fornire un’icona da visualizzare accanto al nome. Possiamo fornire l’icona utilizzando un URL di dati.
Impostazioni richieste in Keycloak
Quella che segue è una configurazione minima per far funzionare l’OIDC con Keycloak. Può essere utilizzata se non si dispone già di un provider di autenticazione compatibile con OIDC e si desidera autenticare gli utenti tramite un Active Directory interno.
Impostazioni del realm
Se non avete già configurato un realm, dovete aggiungerne uno. Un buon nome per il realm potrebbe essere il nome della vostra azienda. Questo nome è il valore che dovete inserire come <realm> nella voce del vostro provider.
Potrebbe essere una buona idea abilitare l’opzione “Ricordami” nella scheda “Accesso”.
Client
È necessario aggiungere una configurazione client per SKOOR.
L'ID client deve essere inserito come <client_id> nella configurazione del tuo provider.
Il protocollo client deve essere openid-connect.
Il "Tipo di accesso" deve essere "confidenziale"
Il flusso standard deve essere abilitato.
Gli URL di reindirizzamento devono essere impostati sui seguenti valori:
SKOOR Engine / SKOOR Dashboards | https://<FQDN>/skoor-auth/oidc/code |
SKOOR Dashboard Viewer |
Il segreto client necessario per la configurazione del provider <client_secret> è disponibile nella scheda "Credentials".
Ambiti client
Per ottenere le informazioni relative ai gruppi di un utente, è necessario aggiungere un mappatore aggiuntivo denominato "groups" all'ambito del profilo.
Federazione degli utenti
Per poter eseguire l'autenticazione su Active Directory, è necessario aggiungere un provider LDAP.
Queste impostazioni dipendono in larga misura dalla configurazione di Active Directory
Un passaggio molto importante consiste nell’aggiungere un mapper di tipo "group-ldap-mapper".
Kerberos
Se è necessario l’SSO Kerberos, è possibile attivarlo nel menu Autenticazione







