SSO - Single Sign On

Single Sign-On (SSO)

Denna artikel innehåller tekniska förutsättningar och uppsättningsguide för Single Sign-On (SSO) som inloggningsmetod i Stratsys.

Single Sign-On (SSO) innebär att användarna automatiskt loggas in i systemet utan att behöva använda ett separat användarnamn och lösenord.

Fördelarna med SSO är att användarna får en bättre upplevelse med automatisk inloggning samt att de slipper memorera inloggningsinformation. Autentisering sker mot kundens IdP vilket innebär att kunden har full kontroll över vilka som kan logga in i Stratsys. Det finns även fördelar för hela organisationen i form av att:

  • Lösenord hanteras centralt (ej i 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 till Stratsys 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.

Artikeln består av följande delar:

Tekniska förutsättningar

Innan vi startar

Konfigurera SSO 

SAML2

O365

Open Id Connect

Flera databaser

Valbara inställningar

SSO som Standardinloggning

Single Log-out (SAML2)

Kräv SSO vid inloggning

Användarprovisionering (SAML2, O365, OIDC) 

Felsökning

Q&A

Uppdatering av certifikat för SSO med SAML2

Kan vi sätta upp SSO med Google Workspace


Tekniska förutsättningar

För implementering av SSO använder Stratsys sig av metodik för federerad identitet mot kundens IdP (Identity Provider). Användaren autentiseras mot Stratsys via sin egen IdP och exakt hur användaren upplever inloggningsförfarandet beror på kundens infrastruktur. För att kunna sätta upp SSO måste kunden uppfylla följande förutsättningar:

  • Kunden har en Identity Provider (IdP) som har stöd för federering via SAML 2.0 (endast HTTP POST Binding), Office 365 eller OpenID Connect
  • Alla användare som ska kunna logga in med SSO i Stratsys behöver finnas i kundens katalogtjänst. 
    • En Stratsys-databas kan endast hantera en IdP per SSO-teknik. Vill ni sätta upp SSO från fler än 1 IdP är det möjligt att konfigurera exempelvis en SSO med SAML2 och en med O365. 
  • Mappning behöver kunna sättas upp mellan användarnamn i Stratsys och motsvarande attribut i er SAML-respons (gäller ej för SSO O365 - då sker mappningen automatiskt med 
    claim "email")
    • Ni väljer vilket attribut ni vill använda för användarnamn
    • När SSO aktiveras behöver användarnas användarnamn stämma överens med valt attribut som ni ska mappar mot användarnamn
  • För att SLO ska fungera krävs det att NameId skickas med som claim vid inloggningen

Efter att SSO är aktiverat rekommenderar vi att:

  • Aktivera inloggning SSO som Standardinloggning
  • Aktivera inställningen Kräv SSO vid inloggning
    • Vid aktivering av krav på inloggning med SSO finns det möjlighet att definiera ett specifikt urval av användare som via en direktlänk ska kunna logga in med användarnamn och lösenord

Innan vi startar

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 

Checklista inför implementation

  • Ni uppfyller de tekniska förutsättningarna
  • Användaren som ska konfigurera SSO måste vara superadministratör i Stratsys Platform Center 
  • Ni har uppdaterat användarnas användarnamn om de inte redan stämde överens med det attribut från SAML-responsen som ni ska mappa mot användarnamn (gäller ej SSO med O365)

Konfigurera SSO 

Nedan hittar ni konfigurationsguider för samtliga SSO-tekniker.

SSO med SAML2

  1. Klicka på Inloggningsinställningar i Plattformsadministrationen
  2. Expandera SAML2 
  3. Aktivera inloggningsalternativet genom att klicka på toggeln
  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 visningsnamn om du vill (t.ex. SSO)
  6. Ändra Metadata version till den senaste namngivna versionen (v4 i skärmbilden nedan). 
  7. Single log-out, går bra att slå av om så önskas.
    2023-04-28_11-15-23
  8. 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.

  9. IdP-metadatat från er ”Extern IdP” lägg in under "Extern IdP" --> "Metadata url". 
  10. Skrolla ner till Mappning av attribut.
  11. 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).  

För att komma åt Claim inställningar i er IdP, gå till Add Transform Claim Rule Wizard. Där kan ni ställa in namnet på claimet, vilket LDAP attribut som är valt samt Outgoing Claim Type.

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

Väl här redirectas ni vidare mot er IdP och autentisering kommer ske och logga in behörig användare. 

SSO med SAML2 (Entra ID)

Önskar ni att sätta upp SSO med SAML2 mot ert Entra ID så gäller samma konfiguration i Stratsys Platform Center som ovan. Här nedan hittar ni vägledning för konfigurationen i Entra ID och vilken information ni ska använda i Stratsys plattform.

1. Gå till Entra ID och skapa en Enterprise-applikation, non-gallery applikation

2. Gå till Single-Sign-on och välj SAML

3. Lägg till metadata från Stratsys Platform Center genom att ladda upp metadata som en fil

4. Lägg till adressen till er Stratsysinstans i Sign on URL

5. Hämta metadata från Enterprise-applikationen, hittas intill "App Federation Metadata Url"

6. Lägg till den länken i Stratsys Platform Center under SAML2 -->Extern IdP -->Metadata url.

      7. Är inställningen "user assignment required" aktiverad i Enterpriseapplikationen i Entra ID behöver ni tilldela användare och/eller grupper behörighet att kunna logga in i Stratsys, det gör ni genom att gå till Users and groups i vänstermenyn.

      8. Mappningen av attribut för användare går per automatik mot e-post. Säkerställ därför att användarna i Stratsys har e-postadress som användarnamn. Vill ni använda något annat attribut eller styra namnsättningen av attributen går det att göra i Enterpriseapplikationen i Entra ID genom att gå till Single sign-on --> User Attributes & Claims --> Edit.

      Claim name är det som ska användas i mappningen i Stratsys Platform Center

      I inloggningsinställningar i Statsys Platform Center lägger ni in namnet på claimet på användarnamn. Övriga attribut ska endast mappas om ni använder er av SSO-provisionering (automatisk uppskapande av användare).

      Testa därefter att logga in genom att gå till https://www.stratsys.se/[kundnamn] eller https://[kundnamn].app.stratsys.com och klicka på Single sign-on (SAML) (visningsnamnet för inloggningsalternativet) för att testa inloggningen. 

      För SSO med SAML2 gäller att Stratsys i dagsläget endast signerar Logout requests, i dagsläget signerar vi inte Authorization requests

      SSO med Office 365 (Entra ID)

      1. Klicka på Inloggningsinställningar i Plattformsadministrationen
      2. Expandera Microsoft Office 365
      3. Aktivera inloggningsalternativet genom att klicka på toggeln
      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 visningsnamn om du vill
      6. Kopiera er Tenant ID från o365. Er Tenant ID återfinns under Entra ID > Properties > Tenant ID
      7. Lägg in TenantId i fältet Azure AD Tenant Id i Stratsys Platform Center.

        Testa därefter att logga in genom att gå till https://[kundnamn].app.stratsys.com och klicka på Microsoft Office 365 (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. 

         

        Nyhet! Det är nu även möjligt att ha SSO-inloggning mot fler än ett Azure AD TenantIds. För att konfigurera SSO mot fler Azure AD TenantIds, använd fältet som visas nedan.

        SSO med OpenID Connect

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

        1. Klicka på Inloggningsinställningar i Plattformsadministrationen
        2. Expandera OIDC

        Följande delar behöver fyllas i: 

        Flera databaser

        Om er organisation har flera databaser kan ni använda olika länkar för att komma direkt in i rätt databas.

        I plattformen hittar hittar vi de olika inloggningsmetoderna samt direktlänkar för att komma in i er huvuddatabas.

        För att komma in direkt i en specifik databas kopierar ni länken i ovanstående exempel och lägger till &companyCode=, samt namnet på databsen i ett. Likt nedanstående exempel från vår testdatabas.

        https://app.stratsys.com?acr_values=idp%3Asaml2&tenantId=4c274565-9d75-4c4c-bfaa-08db726630ec&companyCode=namnet-på-databasen

         

        Steg för steg

        1. Gå till https://portal.azure.com
          ../_images/saml2AzureAdNewAppRegistration.png
        2. Skapa 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
        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

         


        Valbara SSO-inställningar

        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. Sedan kan man höja säkerheten ytterligare genom att också stänga av möjligheten till formulärinloggning - se Kräv SSO vid inloggning nedan.  

        Standardinloggningen finner ni i plattformsadministrationen under Inloggningsinställningar > för migrerade kunder. För icke-migrerade kunder finner ni Standardinloggningen i administrationen under Inloggningsalternativ >

        Plattformsadministrationen

          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 logga ut användaren från andra tjänster som användare samma IdP. 

          Kräv SSO vid inloggning

          Aktivering av "kräv SSO vid inloggning" ökar säkerheten avsevärt för er som kund. 

          Då gäller era regler SSO-regler för lösenord, och försvårar phising och andra inloggningsattacker.

          När funktionen är aktiverad innebär det att det är tvingande för alla användare att logga in med single sign-on, med två undantag:

          • Användare med användartyp "Användare" behöver inte logga in med SSO om de är manuellt exkluderade från regeln.
          • Användare av användartyp "Gäst" som har en e-postdomän som inte finns i listan över e-postdomäner behöver inte logga in med SSO (ingen manuell exkludering behövs här).

          Stratsysanställda kan inte exkluderas. Exkluderade användare måste använda en specifik inloggningslänk för att kunna logga in med användarnamn och lösenord.

          Aktivera "Kräv SSO vid inloggning"

          1. Gå till plattformsadministrationen och "Inloggningsinställningar"
          2. Expandera Avancerade inloggningsinställningar
          3. Aktivera inställningen.

          Exkludera användare

          1) Gå till plattformsadministrationen och Användare 

          2) Klicka på användaren du vill exkludera från SSO-kravet.

          3) Kryssa i Tillåter användaren att logga in med användarnamn och lösenord  och spara.

          4) Meddela användaren att hen skall använda angiven länk vid inloggning i Stratsys.



          Hitta exkluderade användare

          Du kan filtrera fram samtliga användare som är exkluderade från SSO-inloggningskravet via följande filter: 

           

          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 och inloggningsinställningar
          2. Expandera Avancerade inloggningsinställingar
          3.  Aktivera toggeln för automatiskt skapande av användare vid inloggning med single sign-on
          4. Mappa därefter attributen enligt instruktion längre ner i denna artikel.

          5. 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:
          6. 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. Där rekommenderar vi att så låg behörighet (ex. läsbehörighet) som möjligt sätts.
          7. Ni behöver även välja en Huvudenhet som användarna hamnar på vid inslussning. Där rekommenderar vi, om ni har känslig information, att skapa en ny enhet utan information på för att säkerställa att de inte når information de inte ska.
          8. 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:
          9. Det går inte att få någon påminnelse eller notis när en ny användare skapats upp.
          10. Om användarprovisionering är påslagen, men inställningen inte är aktiverad i Stratsys får man följande felmeddelande: 
          11. 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. 

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

          För er som kör Entra ID med SAML2 så går det bra att ha samma användarnamn som e-postadress.


          Felsökning

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

          SAML2 Entra ID 

          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 Entra ID-tenant behöver aktiveras av en användare med administrationsbehörighet i Entra ID. Ni återfinner applikationen under Enterprise Applications i Entra ID. 

          O365 Entra ID

          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 Entra ID-administratör med support@stratsys.se på CC. Troligtvis behöver konfigurationen ändras i er ände så att Stratsys tillåts i er Entra ID-uppsättning. Se tips här: http://blog.schertz.name/2020/04/enterprise-application-consent-requests-in-azure/ 

           

          Q&A

          Uppdatering av signeringscertifikat (IdP-metadata) för SSO med SAML2

          Om ett certifikat i er IdP ska uppdateras så behöver vi i normalfallet inte vara involverade. Nästan samtliga våra kunders IdP-metadata har vi tillgängligt via URL. Det går att verifiera att så är fallet genom att se om det finns något ifyllt i fältet Extern IdP, Metadata URL under sektionen SAML2 i plattformsadministrationens vy för inloggningsinställningar. För exempel, se skärmdump nedan:

          Om fältet för IdP-metadata-URL är ifyllt så räcker det med att ni så snart som möjligt efter ni bytt certifikatet klickar på länken för att tömma cache för att SSO:n till Stratsys ska använda det nya certifikatet.

          Om vissa användare upplever att de inte kommer in så kan det bero på att de har en befintlig session där inloggningen använder det gamla certifikatet. Detta kommer att lösa sig per automatik senast nästa arbetsdag, men om de behöver komma in under samma dag så kan de antingen rensa cookies, alternativt logga in i ett InPrivate/Incognito-fönster så ska inloggningen fungera.

          Om ni har ert metadata uppladdat via fil så behöver ni läsa in metadatat igen i samband med certifikatsbytet. Detta gör ni på samma sätt som då det lästes in första gången, det vill säga under sektionen Manuell konfiguration i Plattformsadministrationen, under menyalternativet Inloggningsinställningar och vyn för SAML2-inställningar.

          Kan vi sätta upp SSO med Google Workspace?

          Ja, vi har satt upp SSO med SAML2 mot Google Workspace för flera av våra kunder. Det är dock några punkter som behöver hanteras, dessa besvaras här nedan:

          • Google Workspace exponerar inte metadata via URL, utan IdP-metadatat behöver laddas upp via fil och läggas in under avsnittet Manuell konfiguration.
          • Vi kräver en SingleLogoutService-URL i filen som vi läser in. Detta finns dock inte i Googles metadata, så den behöver läggas in manuellt i filen via Notepad++ eller motsvarande för att den ska accepteras av oss. Länken ska läggas under elementet för SingleSignOnService i sektionen IDPSSODescriptor. Det går bra att lägga in exempelvis följande XML-element:

            <md:SingleLogoutService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect" Location="https://fake.address.com" ResponseLocation="https://this.is.not.used"/>

           

          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 Entra ID sänder UPN beroende på vilket typ av O365-konto som användaren. Ni hittar mer info om detta här.