SSO - Single Sign On

Single Sign-On (SSO)

Denna artikel syftar till att ge grundläggande förutsättningar för att sätta upp en SSO-lösning till Stratsys.

 

Använder ni inte SSO idag? Vänligen kontakta er konsult eller kundansvarig på Stratsys för vidare dialog då det är en tilläggstjänst.

Tekniska förutsättningar

Innan vi startar

Konfigurera SSO 

Användarprovisionering (SAML2, O365, OIDC) 

Single Log-out (SAML2)

Avancerade inställningar

Felsökning

Q&A

Många Stratsyskunder vill idag ha en integrerad användarhantering på så sätt att användarna loggas in automatiskt i systemet utan att behöva använda ett separat användarnamn och lösenord.

Fördelarna med denna lösning är att användarna får en bättre upplevelse då de slipper memorera inloggningsinformation och dessutom suddas gränserna ut mot integrerade system (förutsatt att även dessa har implementerat en Single Sign-On-lösning). Användaruppgifter hanteras i kundens system och kunden har full kontroll över vem som kan logga in i Stratsys. Det finns även fördelar för hela organisationen i form av att:

  • Lösenord hanteras centralt (ej stratsys). Om användaren glömmer bort sitt lösenord behöver det endast ändras på ett ställe (i organisationens katalogtjänst, vanligtvis Active Directory). På så sätt minskar supporthanteringen.
  • Direktåtkomst från kundens Intranät. Om tex Årshjul är länkat till kundens Intranät, så kan användaren klicka på åtgärderna i Årshjulet och komma direkt in i Stratsys och göra uppföljning i systemet utan att behöva logga in varje gång.

Tekniska förutsättningar

För implementering av SSO använder Stratsys sig av metodik för federerad identitet mot kundens IdP (Identity Provider). För att kunna implementera denna funktionalitet måste kunden ha en IdP som stödjer federering via SAML 2.0, OpenID Connect eller Office365 (Azure). Användaren autentiseras mot Stratsys via sin egen IdP. Exakt hur användaren upplever inloggningsförfarandet beror på kundens infrastruktur.

Det kan vara ett projekt att sätta upp en IdP arkitekturmässigt, men när man har den på plats är det oftast enkelt med guidning av en teknisk projektledare från Stratsys att sätta upp själva federeringen.

  • Kunden har en Identity Provider (IdP) som har stöd för SAML 2.0-federering. Vi stödjer SAML 2.0 och endast HTTP POST Binding. Alternativt OpenID Connect eller Office 365.
  • En Stratsys-databas kan bara hantera en IdP.
  • Alla användare i Stratsys behöver finnas i kundens katalogtjänst. Inga gruppkonton för användare kan användas. Om gruppkonton finns behöver det skapas personliga konton i Stratsys.
  • Alla användare måste finnas i kundens katalogtjänst. Om externa användare behöver komma åt Stratsys kan en separat URL användas och man kommer då runt IdP lösningen.
  • Mappning i federationen görs mellan användarnamn i Stratsys och användarnamn som skickas med från Kundens IdP. Om användarnamn i Stratsys är upplagda på annat sätt än användarnamn i AD så behöver dessa uppdateras i Stratsys.
  •  SAML-responsen tas användarnamnet först och främst från följande Assertion attribut:
    • urn:oid:1.3.6.1.4.1.5923.1.1.1.6 (eduPersonPrincipalName),
    • Om ovanstående inte existerar tas användarnamnet från Subject.NameId
  • Beroende på hur IdP:n är uppsatt kan man få olika beteende på en SSO-lösning. Vissa kunder vill i nuläget ha tvåstegsautentisering via sin IdP, det betyder att man kanske måste använda en PIN/smart card/lösenord i kombination med den automatiska inloggningen. Detta betyder dock ändå att man får ett gemensamt inloggningsförfarande med samma användarnamn och lösenord som man har i den centraliserade lösningen
  • Efter att SSO är aktiverat är det rekommenderat att aktivera inloggning SSO som det enda inloggningssättet. Det går att fortsatt möjliggöra inloggning med användarnamn och lösenord men detta rekommenderas inte.
    • Vid aktivering av krav på inloggning med SSO finns det möjlighet att definiera ett specifikt urval av användare som ska kunna, via en direktlänk kunna logga in med användarnamn och lösenord.
  • För att SLO ska fungera krävs det att NameId skickas med som claim vid inloggningen.

Innan vi startar

Visar det sig att uppsättningen är mer komplex/speciell än det som framgår nedan, skicka gärna in din fråga till support@stratsys.se så hjälper vi givetvis till! 😊 

Ordlista 

SSO – Single Sign-on, Inloggning som upplevs automatisk för användaren. 

SLO - Single Log out, Utloggning som upplevs automatisk för användaren. 

SP – Service Provider (“tjänsteleverantör”), i detta fall är det Stratsys som agerar SP, det är tjänsten Stratsys som användaren vill komma åt. 

IdP – Identity Provider (“identitets-/federeringstjänst”), detta är den tjänst som auktoriserar användaren, som ger användaren åtkomst. Det finns ett flertal IdP:er som våra kunder använder och som de kan använda för att få åtkomst till Stratsys, den vanligaste är: 

  • ADFS– Active Directory Federation Services, Microsofts federeringstjänst för de som kör en lokal installation av Active Directory, 

AD – Active Directory, den vanligaste katalogtjänsten hos våra kunder. Det är den som håller koll på en organisations användare. 

Provisionering – Uppskapande av användare.  

Claim – Information om ett givet attribut för en användare 

Attribut – Informationsbärare vid SSO-inloggning. Har ett namn och ett värde, t.ex. OrganizationName => Stratsys 

Uppstart – allmän information och frågor vi behöver svar på 

Det finns några grundförutsättningar som gäller för samtliga SSO-lösningar och det är följande: 

  • Användaren behöver ha samma användarnamn i Stratsys som i deras katalogtjänst (vanligtvis AD).  
  • Stratsys stödjer endast 1 IdP där samtliga användare som ska använda SSO-inloggningen behöver finnas.  
  • Om det är en kund som haft Stratsys tidigare där nu SSO ska läggas upp så kan alla användarnamn behöva uppdateras. 
  • För kunder som sätter upp SSO mot Azure Active Directory kan vi med fördel använda deras e-postadress som användarnamn i Stratsys. 
  • Vi erbjuder tre typer av SSO-lösningar, välj vilken typ som ni önskar att konfigurera och följ instruktionerna nedan:
    • SSO SAML2 (SAML2) - Den absoluta majoriteten av våra uppsättningar är denna 
      • Office 365 (O365) - Absolut enklast att konfigurera, kan gärna rekommendera den om de har sina användare i Office 365 
        • OpenId Connect (OIDC) - Ovanligt att någon använder denna men har blivit allt vanligare.

      Standardinloggning

      Om någon av SSO-lösningarna är satt som standardinloggning så kommer den att väljas då kunden navigerar till https://[kundnamn].app.stratsys.com. Om inget av SSO-alternativen är satt som standard kommer inloggningssidan att visas.  

      Vi rekommenderar alltid att man så snart som möjligt efter verifiering att det fungerar sätter sitt SSO-alternativ som standardinloggning, då vi helst ser att kunden stänger av möjligheten till formulärinloggning om det är möjligt. 

      Standardinloggningen finner ni i plattformsadministrationen under Single Sign-on > för migrerade kunder. För icke-migrerade kunder finner ni Standardinloggningen i administrationen under Inloggningsalternativ >

      Plattformsadministrationen

         

        Konfigurera SSO 

        Vissa delar nedan är desamma oberoende av vald lösning, medan andra endast fungerar för någon eller några av lösningarna. 

        SSO SAML2 (SAML2)

        1. Klicka på Single sign-on i Plattformsadministrationen
        2. Klicka på pennan för Saml2 under Inloggningsmetoder.
        3. Aktivera inloggningsalternativet under Generella > Aktiverad
        4. Välj gärna SSO som standardinloggning, detta är ett valfritt alternativ, läs mer om det under Innan vi startar - Standardinloggning
        5. Ändra visningnamn om du vill (t.ex. SSO)
        6. Ändra Metadata version till den senaste namngivna versionen (v4 i skärmbilden nedan). 
        7. VIKTIGT: Klicka på Spara en gång nu.
        8. Single log-out, går bra att slå av om så önskas.
        9. Kopiera Stratsys SP-metadata och för konfigurering i er miljö. Vi behöver även ert IdP-metadata för att uppsättningen ska fungera.
        10. IdP-metadatat från er läggs in i fliken ”Extern IdP” under SAML-inställningar. Om Stratsys kan tolka deras metadata så visas en ”tumme-upp-symbol” ute till höger.1 
        11. Gå till fliken Mappning av attribut.
        12. Lägg in motsvarande claim som finns i ert AD för användarnamn. Använd gärna förslaget på attribut för användarnamn (urn:oid:1.3.6.1.4.1.5923.1.1.1.6).  
        13. Klicka på Spara. Nu är vi redo att testa! 

        Testa först själv att gå till  https://[kundnamn].app.stratsys.com och klicka på Single Sign-on eller motsvarande namn som ni valt. Om ni redan valt SSO som standard så behövs inte detta klick, eftersom ni då kommer komma direkt till SSO-inloggningssidan.

        Nu borde ni komma er interna inloggningssida. Här kan ni testa att logga in med ert egna konto eller be en användare att testa inloggningen. Då användaren klickar på Single Sign-on (eller går direkt mot sidan) så borde användaren nu slussas in direkt till Stratsys. Grattis, nu är det klart! 😊 

        Får du eller någon användare något fel här, läs felmeddelande och se om det står något som du kan bistå med, ta annars skärmdumpar och ta kontakt med support@stratsys.se så hjälper vi er vidare. 

            Office 365 (genom Azure AD)

            1. Klicka på Single sign-on i Plattformsadministrationen
            2. Klicka på pennan för Azuread under Inloggningsmetoder.
            3. Aktivera inloggningsalternativet under Generella > Aktiverad
            4. Välj gärna SSO som standardinloggning, detta är ett valfritt alternativ, läs mer om det under Innan vi startar - Standardinloggning
            5. Ändra visningnamn om du vill (t.ex. O365)
            6. Kopiera er Tenant ID från o365. Er Tenant ID återfinns under Azure Active directory > Properties > Tenant ID
            7. Lägg in TenantId i fältet Azure AD Tenant Id i Stratsys Platform Center, aktivera inloggningsmetoden och Klicka på ”Spara”. 

              Testa därefter, eller be en användare att testa att logga in genom att gå till https://www.stratsys.se/[kundnamn] eller https://[kundnamn].app.stratsys.com och klicka på O365 (visningsnamnet för inloggningsalternativet) för att testa inloggningen.  

              Här behöver användarna godkänna Stratsys som tjänst första gången. Ibland kan det även krävas att en administratör för deras O365 godkänner Stratsys som tjänst. Se mer om detta i felsökningsavsnittet nedan. 

              OIDC

              Dessa steg visar hur du sätter upp OIDC i Azure, men det går att använda vilken IdP ni vill. Stegen är ändå desamma.

              Följande delar behöver fyllas i vid OIDC: 

              Steg för steg

              1. Gå till https://portal.azure.com
                ../_images/saml2AzureAdNewAppRegistration.png
              2. Registrera en applikation - Redirect URI bör vara inställd på "callback path" (det är den väg användaren returneras till efter lyckad inloggning mot IDPn). Redirect URI hämtas från plattformsadministrationen i Stratsys.

                ../_images/oidcAzureAdRegisterApp.png
              3. Kopiera Applikationens ClientID och lägg in det i ClientID fältet i plattformsadministrationen i Stratsys.

                ../_images/oidcAzureAdCopyAppId.png../_images/oidcAzureAdPasteAppId.png
              4. Du behöver även slå tillåtelse för ID tokens att bli utfärdade av auktoriseringsslutpunkten.
                ../_images/oidcAzureAdIdTokens.png
              5. Ange claim-mappings dessa behöver heta följande för att fungera. (Observera att dem är case-sensitive så det behöver vara sub, email. given_name och family_name som mappas):
                IdP Stratsys Plattform
                UserName sub
                Email email
                First Name given_name
                Last Name family_name

              Användarprovisionering (SAML2, O365, OIDC) 

               

              OBS! Användarprovisionering får aldrig användas i kombination med AD-synk, då dessa inställningar inte är kompatibla med varandra

               

              Användarprovisionering innebär att användare som inte tidigare lagts till i Stratsys kommer att läggas till automatiskt om de går till https://[kundnamn].app.stratsys.com

              För att användarprovisioneringen ska fungera behöver attribut mappas.

              1. Gå till Plattformsadministrationen > Single sign-on
              2. Välj pennikonen för Användarprovisionering > Aktivera automatiskt skapande av användare vid inloggning med single sign-on
              3. Mappa därefter attributen enligt instruktionerna nedan
              4. För att användaren ska skapas i Stratsys behöver även inställningen Standardbehörighet för nya användare i Stratsys vara aktiverad, se nedan:
              5. Här behöver ni välja vilken behörighetsgrupps som användare som skapas upp ska få som huvudbehörighet vid inslussning. Vanligtvis brukar en ny grupp skapas upp för provisoneringens syfte och kallas något i still med Inslussningsbehörighet eller SSO-inslussning
              6. Ni behöver även välja en Huvudenhet som användarna hamnar på vid inslussning.
              7. Behörigheterna för användarna ändras därefter manuellt för vardera användare. Det går då att exempelvis sortera på den specifika behörigheten för att hitta användarna, se nedan bild:
              8. Det går inte att få någon påminnelse eller notis när en ny användare skapats upp.
              9. Om användarprovisionering är påslagen, men inställningen inte är aktiverad i Stratsys får man följande felmeddelande: 
              10. Användaren blir dock tillagd i Plattformsadministrationen, men den kommer inte att skickas till Stratsysdatabasen per automatik, utan får i så fall läggas till manuellt där. Notera att även om ovan steg löses i efterhand behöver användaren som testat provisioneringen och inte lyckats läggas till manuellt i databasen.

              Mappning av attribut i O365 och OIDC 

              För O365 och OIDC kommer användarnas namn, efternamn, epostadress och användarnamn konfigureras automatiskt. Detta behöver därför inte ställas in.

              Mappning av attribut i SAML2 

              För SAML2 behöver man själv ställa in vilka Claims i IdP:n som ska hamna på vilket fält i Stratsys. Det finns ett förslag under fliken Mappning av attribut i Stratsys Platform Center på vilka attribut ni kan använda. De motsvarande textsträngarna som lagts upp i ert AD behöver sedan läggas in i respektive textruta för att de ska mappas

              De motsvarande textsträngar som lagts upp i ert AD behöver sedan läggas in i respektive textruta för att de ska mappas, se bilder nedan för exempelvis Azure AD.  

              Notera att de nedan endast är exempel, kunden kan skicka andra claims än dessa 

              För er som kör Azure AD med SAML2 så går det bra att ha samma användarnamn som e-postadress, exempel på mappning visas nedan

              Single Log-out (SAML2)

              Denna funktionalitet gäller endast för SAML2. Funktionaliteten innebär att en användare som loggar ut från Stratsys även kommer att loggas ut från kundens IdP och ombes logga in igen om denne vill komma åt resurser som ligger inuti kundens domän. För att SLO ska fungera krävs att ett claim för NameID skickas med till Stratsys vid inloggningsförfarandet.

              Single Log Out innebär att Stratsys skickar en utloggningssignal till kundens IdP om att försöka logga ut användaren från andra tjänster som användare samma IdP. De flesta kunder vill inte ha det såhär, så standardrekommendationen är att denna är avstängd som default. 

              Om ni vill ha inställningen aktiverad så återfinns den på följande ställe i SAML2-konfigurationen: 

              Avancerade inställningar

              Kräv SSO vid inloggning

              Om funktionaliteten är aktiverad innebär att det är tvingande för alla användare att logga in med single sign-on . För att tillåta vissa användare att fortsatt logga in med användarnamn och lösenord behöver de specifikt exkluderas. Stratsysanställda kan inte exkluderas. Exkluderade användare måste använda direktlänken (5) för att kunna logga in med användarnamn och lösenord, byt ut [stratsysDatabase] i länken mot aktuellt databasnamn. 

              Aktivera "Kräv SSO vid inloggning"

              1. Gå till plattformsadministrationen och "Singel sign-on"
              2. Klicka på pennan bredvid "Avancerade inställningar" (1)
              3. Aktivera toggeln (2)

              Exkludera användare

              1. Gå till plattformsadministrationen och "Singel sign-on"
              2. Klicka på pennan bredvid "Avancerade inställningar" (1)
              3. Klicka på "Lägg till"
              4. Skriv in mailadressen på användaren som skall exkluderas (3). Observera att det måste vara email-adressen som användaren är tillagd med i Stratsys.
              5. Klicka på "Exkludera" (4)
              6. Be användaren att använda direktlänken (5) för inloggning i Stratsys

              Felsökning

              Nedan följer lite vanliga fel som kan uppstå samt hur det kan åtgärdas. 

              SAML2 Azure AD 

              AADSTS50105 The signed in user xxx is not assigned to a role for the application… 

              Lösning: Användaren behöver ges rättighet till Stratsys. 

              AADSTS7000112 Application ’XXXXXXX’ is disabled 

              Lösning: Stratsys-applikationen i er Azure AD behöver aktiveras av en användare med administrationsbehörighet i ert Azure AD. Ni återfinner applikationen under Enterprise Applications i Azure AD. 

              O365 Azure AD

              Användare tillåts inte logga in. Felsida från Office365 visas med ett felmeddelande. Be användare ta skärmdump av felet och skicka till sin Azure-administratör med support@stratsys.se på CC. Troligtvis behöver konfigurationen ändras i er ände så att Stratsys tillåts i er Azure-uppsättning. Se tips här: http://blog.schertz.name/2020/04/enterprise-application-consent-requests-in-azure/ 

              Felsökning allmänt 

              Får ni något fel vid uppsättning som inte förklaras ovan, så ta gärna kontakt med oss på support@stratsys.se så bistår vi med felsökning så att uppsättningen kan tas i mål så snabbt och enkelt som möjligt. 😊 

              Q&A

              Vi har SSO med O365 och undrar varför inte våra användare med O365-gästkonton kan logga in med SSO i Stratsys?

              Svar: För gästkonton i O365 skickas det med #EXT i email-adressen för UPN vilket gör att användarnamnet i Stratsys inte kan matcha mot email-adressen i SAML-biljetten. Detta löser ni genom att justera så att Azure sänder UPN beroende på vilket typ av O365-konto som användaren. Ni hittar mer info om detta här.