U kunt de werkplek Verificatie gebruiken om SSO in SaltStack Config te configureren voor gebruik met een verificatiesysteem dat compatibel is met het SAML-protocol (Security Assertion Markup Language).

SAML Single Sign-On (SSO) is een functionaliteit die door veel organisaties wordt geconfigureerd tijdens de implementatie van SaltStack Config met als doel:

  • De tijd verminderen die gebruikers voor dezelfde identiteit besteden aan het aanmelden bij services. Nadat gebruikers zich bij een van de services in een organisatie hebben aangemeld, worden ze automatisch geverifieerd bij andere services die SSO gebruiken.
  • Wachtwoordmoeheid tegengaan. De gebruiker hoeft slechts één set verificatiegegevens te onthouden in plaats van meerdere.

Veel services bieden implementaties van het SAML SSO-protocol, waaronder ADFS, OneLogin, Okta, Singenboleth, SimpleSAMLPHP, Google Suite en meer.

Opmerking: U kunt meer dan één systeem tegelijk gebruiken om zo nodig gebruikers in SaltStack Config verifiëren. U kunt bijvoorbeeld zowel een op SAML gebaseerde IdP als een op LDAP gebaseerde IdP gebruiken en tegelijkertijd bepaalde verificatiegegevens van gebruikers standaard opslaan op de RaaS-server. SaltStack Config staat echter niet toe dat er meer dan twee SAML-providers of twee LDAP-providers tegelijkertijd worden geconfigureerd.

Hoe SAML SSO met SaltStack Config werkt

Wanneer SaltStack Config een geslaagde identiteitsbevestiging ontvangt van een van de ondersteunde verificatie-integraties, wordt er gezocht naar een gebruikersaanmelding die overeenkomt met de waarde van de bevestigde identiteit. Als de gebruiker een overeenkomende aanmelding vindt, wordt het bijbehorende gebruikersaccount aangemeld.

Als SaltStack Config bijvoorbeeld een ADFS-bevestiging voor een gebruiker ontvangt en 'fred' de waarde is voor het geconfigureerde identiteitskenmerk, dan zoekt SSE naar een aanmelding met de gebruikersnaam 'fred'. Als deze wordt gevonden, wordt de bijbehorende gebruiker aangemeld. Anders mislukt de aanmelding.

SAML-verificatieterminologie

Acroniem Definitie
SAML

Security Assertion Markup Language (SAML, uitgesproken SAM-el)

SAML is een open protocol (ook wel standaard genoemd) voor het uitwisselen van verificatie- en autorisatiegegevens tussen partijen. In het bijzonder wordt dit gebruikt om gegevens uit te wisselen tussen een identiteitsprovider en een serviceprovider.

SAML is een Single Sign-On (SSO) via een browser. Alle communicatie gaat via de gebruikersagent (de browser). Er is geen communicatie tussen een serviceprovider (zoals SaltStack Config) en een identiteitsprovider (zoals Azure AD). Door deze scheiding is het mogelijk om verificatie uit te voeren in meerdere beveiligingsdomeinen waarbij een serviceprovider zich in één (mogelijk openbaar) domein bevindt en de identiteitsprovider in een afzonderlijk, beveiligd netwerksegment.

IdP

Identiteitsprovider

De opdracht van de IdP is om gebruikers te identificeren op basis van verificatiegegevens. Een identiteitsprovider is software die een service levert die voldoet aan het gedeelte over de identiteitsprovider in de SAML-specificaties. De IdP biedt doorgaans de interface voor het aanmeldingsscherm en levert informatie over de geverifieerde gebruiker aan serviceproviders na een succesvolle verificatie.

Voorbeelden van identiteitsproviders:

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

* Zie aanvullende gegevens onder deze tabel.

SP

Serviceprovider of relying party

Een SP (serviceprovider) is gewoonlijk een website die informatie, tools, rapporten, enz. levert aan de eindgebruiker. Een serviceprovider is software die een service levert die voldoet aan het gedeelte over de serviceprovider in de SAML-specificaties van SaltStack Config. In Microsoft-producten (zoals Azure AD en ADFS) wordt de SP een relying party genoemd.

In dit scenario is SaltStack Config de serviceprovider. SaltStack Config accepteert verificatiebevestigingen van de IdP en geeft gebruikers de mogelijkheid om aan te melden.

Een SP kan niet verifiëren met een IdP, tenzij deze wordt vermeld in de lijst met goedgekeurde services. Het configureren van een SP met een lijst met goedgekeurde IdP's is onderdeel van het configuratieproces.

SSO

Single Sign-On

Single Sign-On is een verificatiesysteem waarmee een gebruiker niet bij een tweede service hoeft aan te melden omdat informatie over de geverifieerde gebruiker is doorgegeven aan de service.

SLO

Eenmalig afmelden

Wanneer een gebruiker zich afmeldt bij een service, kunnen sommige IdP's de gebruiker vervolgens afmelden bij alle andere services waarbij de gebruiker zich heeft geverifieerd.

SaltStack Config biedt momenteel geen ondersteuning voor SLO.

RBAC

Op rollen gebaseerde toegangscontrole

Op rollen gebaseerde toegangscontrole, ook wel op rollen gebaseerde beveiliging genoemd, is een geavanceerde toegangscontrole die netwerktoegang beperkt op basis van de rol van een persoon binnen een organisatie. De rollen in RBAC verwijzen naar de niveaus waarop werknemers toegang tot het netwerk hebben.

Werknemers hebben alleen toegang tot de netwerkresources of voeren taken uit die nodig zijn om hun functie effectief uit te voeren. Werknemers op een lager niveau hebben doorgaans geen toegang tot gevoelige gegevens of netwerkresources als zij deze niet nodig hebben om aan hun verantwoordelijkheden te voldoen.

SaltStack Config kan RBAC met SAML-configuraties ondersteunen met behulp van de werkplek Rollen (Roles). De gebruiker moet zich echter eerst aanmelden bij SaltStack Config om als gebruiker in de lokale gebruikersdatabase te worden toegevoegd en te worden beheerd door de werkplek Rollen (Roles).

Okta-vereisten

Er zijn enkele kanttekeningen en feiten om te weten wanneer u Okta voor SSO configureert:
  • Het veld URL voor Single Sign-On tijdens de installatie vereist de URL van de SAML Assertion Customer Service (ACS). Dit is de URL voor SSC met /autho/complete/saml aan het einde. Bijvoorbeeld: http://xxx.x.x.x:8080/auth/complete/saml.
  • Voor SAML-integratie moet de gebruikersinterface worden bediend door SSC. De integratie mislukt omdat de gebruikersinterface wordt bediend door een CDN of een andere website dan SSC.
  • Alle SAML-antwoorden moeten worden ondertekend. In Okta kunt u deze instelling inschakelen onder Geavanceerde instellingen.
  • Elk SAML-kenmerk dat in SSC is geconfigureerd, moet bestaan en worden doorgegeven in het SAML-antwoord.

Vereisten

Voordat u SAML in SaltStack Config configureert:

  • Installeer de SAML-identiteitsprovider (IdP) en zorg ervoor dat deze wordt uitgevoerd.
  • Ervoor zorgen dat u toegang heeft tot de verificatiegegevens en configuratiegegevens die door de IdP worden verstrekt.
  • Een certificaat genereren om SaltStack Config als goedgekeurde serviceprovider met uw IdP toe te voegen. Uw SaltStack Config-serviceprovider heeft een RSA-sleutelpaar nodig. U kunt de waarden voor persoonlijke en openbare sleutels op verschillende plaatsen invoeren wanneer u SAML voor SaltStack Config configureert.
    Opmerking: Dit sleutelpaar kan op elk systeem worden gegenereerd. Het hoeft niet te worden gemaakt op de SSE-server. Deze commando's worden uitgevoerd op elk systeem waarop openssl-hulpprogramma's zijn geïnstalleerd. U kunt ook Salt gebruiken om het zelfondertekende certificaat te genereren. Zie zelfondertekende certificaten met de TLS Salt-module voor meer informatie.
    Als u het certificaat wilt maken, genereert u een persoonlijke sleutel met de naam cert.perm met behulp van openssl genrsa -out cert.pem 2048. Maak vervolgens de openbare sleutel die aan de persoonlijke sleutel is gekoppeld met het commando openssl req -new -x509 -key cert.pem -out cert.pub -days 1825 en door de prompts te volgen. Leg deze openbare en persoonlijke sleutelparen vast voor eenvoudige toegang wanneer u de rest van het configuratieproces doorloopt.

Een SAML-configuratie instellen

  1. Klik Beheer > Verificatie (Administration > Authentication) in het zijmenu.
  2. Klik op Maken.
  3. Selecteer de optie SAML in het menu Configuratietype (Configuration Type).

    De werkplek bevat de ondersteunde instellingen voor het SAML-configuratietype.

  4. Op het tabblad Instellingen configureert u de volgende velden met de informatie over uw SaltStack Config-installatie:
    • Naam
    • Basis-URI (Base URI)
    • Entiteits-id
    • Bedrijfsnaam
    • Schermnaam
    • Website
  5. Kopieer in het veld Persoonlijke sleutel de persoonlijke sleutel die u heeft gegenereerd toen u het certificaat van de serviceprovider heeft gemaakt voor SaltStack Config.
  6. Kopieer in het veld Openbare sleutel de openbare sleutel die u heeft gegenereerd toen u het certificaat van de serviceprovider heeft gemaakt voor SaltStack Config.
  7. Vul de velden in met de relevante contactgegevens voor uw:
    • Technische contactpersoon
    • Contactpersoon voor ondersteuning
  8. In het gedeelte Informatie over provider configureert u de volgende velden met de metagegevens over uw identiteitsprovider (IdP):
    • Entiteits-id
    • Gebruikers-id: de naam van het kenmerk dat de SAML ontvangt van de IDP die de gebruikersidentificatie uitvoert die wordt gebruikt in SSC.
    • E-mail: de naam van het kenmerk dat de SAML ontvangt van de IDP die het e-mailadres van de gebruiker vertegenwoordigt. SSC vereist een geldig e-mailadres voor de gebruiker.
    • Gebruikersnaam: de naam van het kenmerk dat de SAML ontvangt van de IDP die de gebruikersnaam van de gebruiker vertegenwoordigt. Deze mag niet dezelfde zijn als de gebruikers-id, zodat u altijd gemakkelijk de gebruiker kunt herkennen die hiermee overeenkomt.
    • URL
    • x509-certificaat
    Opmerking: ADFS, Azure AD en Google SAML zijn voorbeelden van veelvoorkomende identiteitsproviders. Deze informatie wordt verstrekt door uw IdP.
  9. (Optioneel) Schakel het selectievakje Controle van kenmerkbevestiging in als u wilt dat SaltStack Config de SAML-kenmerkbevestigingen controleert op gebruikersprofielen. Deze optie is standaard ingeschakeld.
  10. Klik op Opslaan.

Wat moet u nu doen

Nadat u SAML Single Sign-On heeft geconfigureerd, kunt u:
  • De URL van de assertionCustomerService in (bijvoorbeeld: https://<your-sse-hostname>/auth/complete/saml), en ook het openbare certificaat (x509) en de sleutel die u voor SaltStack Config heeft gegenereerd, aan uw IdP verstrekken.
  • Kenmerktoewijzingen voor gebruikers, in het bijzonder voor de gebruikers-ID, het e-mailadres en de gebruikersnaam, maken. Veel organisaties zullen deze drie waarden aan het e-mailadres van de gebruiker toewijzen als één kenmerk, omdat het doorgaans uniek is in een organisatie. Het proces voor het toewijzen van deze kenmerken is specifiek voor elke SAML-identiteitsprovider. Voor hulp bij het maken van deze kenmerktoewijzingen raadpleegt u de documentatie van uw IdP of neemt u contact op met uw beheerder.
  • Voeg gebruikers toe aan SaltStack Config. Standaard worden nieuwe gebruikers alleen in SaltStack Config geregistreerd nadat een gebruiker zich voor het eerst heeft aangemeld met SAML. U kunt gebruikers ook handmatig toevoegen om deze gebruikers vooraf in SaltStack Config te registreren. Om gebruikers handmatig toe te voegen vanuit de werkplek Verificatie, selecteert u uw SAML-configuratie in de lijst Verificatieconfiguratie en klikt u op het tabblad Gebruiker in de configuratie-instellingen. Klik op Maken, voer de verificatiegegevens van de gebruiker in en selecteer Rollen.
    Opmerking: Zorg ervoor dat deze gebruikersnaam nauwkeurig is. Nadat een gebruiker is gemaakt, kan de gebruikersnaam niet worden gewijzigd. Nadat een gebruiker handmatig is gemaakt, kan deze alleen worden verwijderd voordat deze zich voor het eerst aanmeldt. Nadat de gebruiker zich voor het eerst heeft aangemeld, is de verwijderknop nog steeds beschikbaar in deze werkplek, maar deze werkt niet meer.
  • Valideer uw SAML-configuratie door u aan te melden als typische gebruiker om er zeker van te zijn dat het aanmeldproces werkt zoals verwacht en dat de rollen en rechten correct zijn. Los potentiële fouten op door de SAML-tracertool te gebruiken, die beschikbaar is voor Firefox- en Chrome-webbrowsers, en de logboekberichten /var/log/raas/raas te bekijken.
    Opmerking: Gebruikers kunnen niet worden verwijderd via de gebruikersinterface van SaltStack Config of met de API na de eerste inrichting met een succesvolle SAML-verificatie.