È possibile utilizzare l'area di lavoro Autenticazione per configurare SSO in SaltStack Config affinché funzioni con un sistema di autenticazione compatibile con i protocolli OAuth e OIDC.

Single Sign-On (SSO) OAuth è una funzionalità che viene configurata da molte organizzazioni durante l'implementazione di SaltStack Config per:

  • Ridurre il tempo impiegato dagli utenti per accedere ai servizi con la stessa identità. Dopo aver effettuato l'accesso a uno dei servizi di un'organizzazione, gli utenti vengono autenticati automaticamente in qualsiasi altro servizio che utilizza SSO.
  • Ridurre il numero di password. L'utente deve ricordare un solo set di credenziali.

Molti servizi forniscono implementazioni del protocollo OAuth con supporto per OIDC, tra cui OKTA, Google, Microsoft, GitLab, Zendesk, Apple, Keycloak, Salesforce e molti altri.

Nota: SaltStack Config supporta attualmente solo l'autenticazione OAuth e OIDC tramite OKTA e Google.
Nota: Se necessario, è possibile utilizzare più sistemi alla volta per eseguire l'autenticazione degli utenti in SaltStack Config. Ad esempio, è possibile utilizzare sia un provider di identità basato su SAML sia un provider di identità basato su LDAP archiviando contemporaneamente alcune credenziali utente in modo nativo nel server RaaS. Tuttavia, SaltStack Config non consente di configurare più di due provider SAML o due provider LDAP contemporaneamente.
Tabella 1. Terminologia delle autenticazioni OAuth e OIDC
Termine Definizione
OAuth

OAuth 2.0 è un protocollo aperto (definito a volte anche standard) per la delega dell'accesso in cui l'utente può eseguire azioni in un sito Web dopo che l'identità dell'utente è stata autenticata con un token di sicurezza. Viene in genere utilizzato per consentire agli utenti di fornire alle applicazioni l'accesso alle loro informazioni disponibili in altre applicazioni di terze parti senza dover comunicare le proprie credenziali di accesso (password).

OAuth è SSO (Single Sign-On) basato sul browser. OAuth consente l'emissione di token di accesso a client di terze parti da un server di autorizzazione, con l'approvazione del proprietario della risorsa. Le terze parti utilizzano quindi il token di accesso per accedere alle risorse protette ospitate dal server delle risorse.

Open ID Connect (OIDC)

Open ID Connect (OIDC) è un livello di identità semplice del protocollo OAuth 2.0. OIDC consente ai client di verificare le identità degli utenti in base all'autenticazione eseguita da un server di autorizzazione. Può inoltre ottenere informazioni di base sul profilo dell'utente nelle varie applicazioni.

Proprietario della risorsa Il proprietario della risorsa è l'utente che autorizza un'applicazione ad accedere al proprio account. L'accesso dell'applicazione all'account dell'utente è limitato all'ambito dell'autorizzazione concessa, ad esempio l'accesso in lettura o scrittura.
Client Il client è l'applicazione di terze parti che deve accedere all'account dell'utente, che in questo caso è SaltStack Config.
Server di autorizzazione Il server di autorizzazione ospita gli account e le credenziali degli utenti protetti. Verifica l'identità dell'utente e quindi emette i token di accesso per il client. È spesso accessibile tramite l'API del servizio.
Server delle risorse

Il server delle risorse è il server API utilizzato per accedere alle informazioni dell'utente. Gestisce le richieste autenticate dopo che il client ha ottenuto un token di accesso. Le distribuzioni di dimensioni più piccole hanno in genere un solo server delle risorse che spesso viene creato come parte della stessa base di codice o della stessa distribuzione del server di autorizzazione.

Le distribuzioni su larga scala possono avere più server delle risorse. Ogni server delle risorse è distinto dagli altri, ma tutti condividono lo stesso server di autorizzazione.

Per OIDC, l'utente dovrà innanzitutto accedere a SaltStack Config in modo da poter essere aggiunto come utente nel database degli utenti locali. Dopo che gli utenti hanno eseguito l'accesso iniziale, i ruoli e le autorizzazioni degli utenti verranno gestiti nello stesso modo in cui si gestiscono gli utenti le cui credenziali vengono archiviate localmente in SaltStack Config nel server RaaS. Dopo che l'utente ha effettuato l'accesso iniziale, è possibile utilizzare l'area di lavoro Ruoli per assegnare a tale utente autorizzazioni e ruoli appropriati.

Funzionamento di OAuth e OIDC con SaltStack Config

Quando si tenta di accedere a SaltStack Config utilizzando un'identità OAuth:

  1. SaltStack Config richiede all'utente l'autorizzazione per accedere alle risorse del servizio.
  2. Se l'utente autorizza la richiesta, SaltStack Config riceve una concessione di autorizzazione.
  3. SaltStack Config richiede un token di accesso al server di autorizzazione (API) presentando l'autenticazione della propria identità.
  4. Se l'identità dell'applicazione viene autenticata e la concessione dell'autorizzazione è valida, il server di autorizzazione (API) emette un token di accesso per SaltStack Config.
  5. SaltStack Config richiede la risorsa al server delle risorse (API) e presenta il token di accesso per l'autenticazione.
  6. Se il token di accesso è valido, il server delle risorse (API) fornisce la risorsa per l'applicazione e l'utente è autorizzato ad accedere a SaltStack Config.

Prerequisiti

Prima di configurare OAuth e OIDC in SaltStack Config, assicurarsi di disporre dell'accesso necessario al servizio OAuth 2.0 per l'organizzazione (OKTA o Google) e di avere una certa familiarità con il processo di registrazione delle applicazioni.

Sul sito Web del servizio OAuth, immettere le informazioni di base su SaltStack Config come il nome, il sito Web e così via. Dopo la registrazione dell'applicazione, viene visualizzato un segreto client che sarà necessario fornire a SaltStack Config.

Uno degli aspetti più importanti quando si crea l'applicazione è la registrazione di uno o più URL di reindirizzamento che l'applicazione utilizzerà. Gli URL di reindirizzamento sono gli URL a cui il servizio OAuth 2.0 reindirizzerà l'utente dopo che avrà autorizzato l'applicazione.

Configurazione di un provider di identità

Per configurare SSO utilizzando il servizio OAuth e OIDC preferito dell'organizzazione:

  1. Fare clic su Amministrazione > Autenticazione nel menu laterale.
  2. Fare clic su Crea.
  3. Nel menu Tipo di configurazione, selezionare OIDC.
  4. Nel campo Nome, assegnare un nome descrittivo a questa configurazione.
  5. Nel menu Provider OIDC selezionare OKTA o Google.
  6. Compilare i seguenti campi obbligatori con le informazioni sull'installazione di SaltStack Config:
    Campo Descrizione
    URI di base L'URL di base utilizzato dall'organizzazione in SaltStack Config, noto anche come indirizzo del server host. Questo URL è formattato come nome di dominio completo o indirizzo IP, ad esempio https://example.com.
    URL API URL dell'API fornito dal provider di identità. Questo campo viene visualizzato solo se il provider di identità è OKTA.
    Key La chiave fornita dal provider di identità. In OKTA, la chiave è definita ID client.
    Segreto Il segreto fornito dal provider di identità. In OKTA, la chiave è definita segreto client.
  7. Fare clic su Salva.

A questo punto, la configurazione di OIDC per SaltStack Config è stata completata.