È possibile utilizzare l'area di lavoro Autenticazione per configurare SSO in SaltStack Config affinché funzioni con un sistema di autenticazione compatibile con il protocollo SAML (Security Assertion Markup Language).

Single Sign-On (SSO) SAML è 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 SSO SAML, tra cui ADFS, OneLogin, Okta, SimpleSAMLPHP, Google Suite e molti altri.

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.

Funzionamento di SSO SAML con SaltStack Config

Quando SaltStack Config riceve un'asserzione di identità corretta da una delle integrazioni di autenticazione supportate, cerca un accesso utente che corrisponda al valore dell'identità con asserzione. Se trova un accesso corrispondente, consente all'account utente associato di accedere.

Ad esempio, se SaltStack Config riceve un'asserzione ADFS per un utente e il valore dell'attributo di identità configurato è "fred", SSE cerca un accesso con il nome utente "fred". Se ne trova uno, consente all'utente associato di accedere. In caso contrario, l'accesso non riesce.

Terminologia dell'autenticazione SAML

Acronimo Definizione
SAML

Security Assertion Markup Language (SAML, si pronuncia SAM-el)

SAML è un protocollo aperto (noto anche come standard) per lo scambio di dati di autenticazione e autorizzazione tra le parti. In particolare, viene utilizzato per scambiare dati tra un provider di identità e un provider di servizi.

SAML è il Single Sign-On (SSO) basato sul browser. Tutte le comunicazioni avvengono tramite l'agente utente (il browser). Non esiste alcuna comunicazione tra un provider di servizi (ad esempio SaltStack Config) e un provider di identità (ad esempio Azure AD). Questa separazione consente l'autenticazione nei domini di sicurezza in cui il provider di servizi è in un dominio (probabilmente pubblico) e il provider di identità in un segmento di rete protetto distinto.

IdP

Provider di identità

L'obiettivo del provider di identità è identificare gli utenti in base alle credenziali. Un provider di identità è un software che fornisce un servizio conforme alla parte del provider di identità della specifica SAML. Il provider di identità fornisce in genere l'interfaccia della schermata di accesso e presenta ai provider di servizi informazioni sull'utente autenticato dopo che l'autenticazione è avvenuta correttamente.

Provider di identità di esempio:

  • ADFS
  • Azure AD
  • Google SAML
  • Shibboleth
  • Okta
  • OneLogin
  • PingFederated
  • SimpleSAMLPHP
SP

Provider di servizi o relying party

Un provider di servizi (SP, Service Provider) è in genere un sito Web che fornisce informazioni, strumenti, report e così via all'utente finale. Un provider di servizi è un software che fornisce un servizio conforme alla parte del provider di servizi della specifica SAML di SaltStack Config. Nei prodotti Microsoft (come Azure AD e ADFS), il provider di servizi è definito relying party.

In questo scenario, SaltStack Config è il provider di servizi. SaltStack Config accetta le asserzioni di autenticazione dal provider di identità e consente agli utenti di accedere.

Un provider di servizi non può eseguire l'autenticazione con un provider di identità a meno che non sia incluso nell'elenco dei servizi approvati. La configurazione di un provider di servizi con un elenco di provider di identità approvati fa parte del processo di configurazione.

SSO

Single Sign-On

Single Sign-On (SSO) è un sistema di autenticazione in cui l'utente non deve accedere a un secondo servizio perché le informazioni sull'utente autenticato vengono passate al servizio.

SLO

Single LogOut

Quando un utente si disconnette da un servizio, alcuni provider di identità possono di conseguenza disconnettere l'utente da tutti gli altri servizi in cui l'utente ha eseguito l'autenticazione.

SaltStack Config al momento non supporta SLO.

RBAC

Controllo degli accessi basato sui ruoli

Il controllo degli accessi basato sui ruoli, noto anche come "sicurezza basata sui ruoli", è una misura di controllo degli accessi avanzata che limita l'accesso alla rete in base al ruolo di una persona all'interno di un'organizzazione. I ruoli in RBAC si riferiscono ai livelli di accesso alla rete dei dipendenti.

I dipendenti possono solo accedere alle risorse di rete o eseguire le attività necessarie per adempiere efficacemente alle proprie mansioni. Ad esempio, i dipendenti di livello inferiore non hanno in genere accesso ai dati sensibili o alle risorse di rete se non ne hanno bisogno per eseguire le proprie attività.

SaltStack Config può supportare RBAC con le configurazioni SAML utilizzando l'area di lavoro Ruoli. Tuttavia, l'utente dovrà innanzitutto accedere a SaltStack Config per poter essere aggiunto come utente nel database degli utenti locali e gestito dall'area di lavoro Ruoli.

Prerequisiti

Prima di configurare SAML in SaltStack Config:

  • Installare il provider di identità SAML e assicurarsi che sia in esecuzione.
  • Assicurarsi di poter accedere alle credenziali e ai dati di configurazione forniti dal provider di identità.
  • Generare un certificato per aggiungere SaltStack Config come provider di servizi approvato con il provider di identità. Il provider di servizi SaltStack Config deve disporre di una coppia di chiavi RSA. I valori delle chiavi privata e pubblica vengono immessi in diverse posizioni quando si configura SAML per SaltStack Config.
    Nota: Questa coppia di chiavi può essere generata in qualsiasi sistema. Non è necessario crearla nel server SSE. Questi comandi vengono eseguiti su qualsiasi sistema in cui sono installate le utilità openssl. In alternativa, è possibile usare Salt per generare il certificato autofirmato. Per ulteriori informazioni, consultare Certificati autofirmati con il modulo Salt TLS.
    Per creare il certificato, generare una chiave privata, denominata cert.perm, utilizzando openssl genrsa -out cert.pem 2048. Quindi, creare la chiave pubblica associata alla chiave privata utilizzando il comando openssl req -new -x509 -key cert.pem -out cert.pub -days 1825 e seguendo le istruzioni visualizzate. Registrare tali coppie di chiavi per semplificare l'accesso negli altri passaggi del processo di configurazione.

Impostazione di una configurazione SAML

  1. Fare clic su Amministrazione > Autenticazione nel menu laterale.
  2. Fare clic su Crea.
  3. Nel menu Tipo di configurazione, selezionare SAML.

    Nell'area di lavoro sono visualizzate le impostazioni supportate per il tipo di configurazione SAML.

  4. Nella scheda Impostazioni, configurare i seguenti campi con le informazioni sull'installazione di SaltStack Config:
    • Nome
    • URI di base
    • ID entità
    • Nome società
    • Nome visualizzato
    • Sito Web
  5. Nel campo Chiave privata, copiare la chiave privata generata quando è stato creato il certificato del provider di servizi per SaltStack Config.
  6. Nel campo Chiave pubblica, copiare la chiave pubblica generata quando è stato creato il certificato del provider di servizi per SaltStack Config.
  7. Compilare i campi con i dati di contatto pertinenti per:
    • Contatto tecnico
    • Contatto assistenza
  8. Nella sezione Informazioni sul provider, configurare i seguenti campi con i metadati relativi al provider di identità:
    • ID entità
    • ID utente
    • Email
    • Nome utente
    • URL
    • Certificato x509
    Nota: ADFS, Azure AD e Google SAML sono esempi di provider di identità comuni. Queste informazioni vengono fornite dal provider di identità.
  9. (Facoltativo): selezionare la casella Controllo istruzioni attributo per far sì che SaltStack Config controlli le istruzioni dell'attributo SAML per i profili utente. Questa opzione è selezionata per impostazione predefinita.
  10. Fare clic su Salva.

Passaggi successivi

Dopo aver configurato il Single Sign-On SAML, è possibile:
  • Specificare l'URL di AssertionCustomerService (ad esempio: https://<your-sse-hostname>/auth/complete/saml), il certificato e la chiave pubblici (x509) generati per SaltStack Config al provider di identità.
  • Creare mappature degli attributi per gli utenti, in particolare per ID utente, email e nome utente. Molte organizzazioni eseguiranno la mappatura di tutti e tre i valori all'indirizzo email dell'utente come un singolo attributo perché in genere è univoco in un'organizzazione. Il processo per la mappatura di questi attributi è specifico per ciascun provider di identità SAML. Per informazioni sulla creazione di queste mappature degli attributi, fare riferimento alla documentazione del provider di identità o contattare l'amministratore.
  • Aggiungere utenti a SaltStack Config. Per impostazione predefinita, i nuovi utenti vengono registrati in SaltStack Config solo dopo il primo accesso riuscito con SAML. In alternativa, è possibile aggiungere utenti manualmente per preregistrarli in SaltStack Config. Per aggiungere manualmente utenti dall'area di lavoro Autenticazione, selezionare la configurazione SAML nell'elenco delle Configurazioni autenticazione e fare clic sulla scheda Utente nelle impostazioni di configurazione. Fare clic su Crea, immettere le credenziali dell'utente e selezionare Ruoli.
    Nota: Assicurarsi che il nome utente sia preciso. Dopo aver creato un utente, il suo nome utente non può essere né modificato né rinominato. Dopo essere stato creato manualmente, un utente può essere eliminato solo prima del primo accesso. Dopo che l'utente avrà eseguito l'accesso iniziale, il pulsante di eliminazione sarà ancora disponibile in questa area di lavoro, ma non funzionerà più.
  • Convalidare la configurazione SAML accedendo come utente tipico per assicurarsi che il processo di accesso funzioni come previsto e che i ruoli e le autorizzazioni siano corretti. È possibile risolvere i potenziali errori utilizzando lo strumento di analisi SAML, disponibile per i browser Web Firefox e Chrome, e visualizzando i messaggi dei registri /var/log/raas/raas.
    Nota: Gli utenti non possono essere eliminati tramite l'interfaccia utente di SaltStack Config o utilizzando l'API dopo il provisioning iniziale con un'autenticazione SAML riuscita.