Vad är SAML och hur fungerar det?

Security Assertion Markup Language (SAML) är en öppen standard som gör det möjligt för identitetsleverantörer (IdP) att skicka auktorisationsuppgifter till tjänsteleverantörer (SP). Vad den jargongen innebär är att du kan använda en uppsättning autentiseringsuppgifter för att logga in på många olika webbplatser. Det är mycket enklare att hantera en inloggning per användare än att hantera separata inloggningar till e-post, programvara för hantering av kundrelationer (CRM), Active Directory etc.

SAML-transaktioner använder Extensible Markup Language (XML) för standardiserad kommunikation mellan identitetsleverantören och tjänsteleverantörerna. SAML är länken mellan autentiseringen av en användares identitet och auktoriseringen att använda en tjänst.

Hämta den kostnadsfria Pen Testing Active Directory Environments EBook

”Det här har verkligen öppnat mina ögon för AD-säkerhet på ett sätt som defensivt arbete aldrig gjorde.”

OASIS-konsortiet godkände SAML 2.0 2005. Standarden ändrades avsevärt från 1.1, så mycket att versionerna är inkompatibla. SAML gör det möjligt för IT-butiker att använda SaaS-lösningar (Software as a Service) och samtidigt upprätthålla ett säkert federerat identitetshanteringssystem.

SAML möjliggör Single-Sign On (SSO), ett begrepp som innebär att användarna kan logga in en gång och att samma autentiseringsuppgifter kan återanvändas för att logga in hos andra tjänsteleverantörer.

Vad används SAML till?

SAML förenklar federerade autentiserings- och auktoriseringsprocesser för användare, identitetsleverantörer och tjänsteleverantörer. SAML tillhandahåller en lösning som gör det möjligt för din identitetsleverantör och tjänsteleverantörer att existera separat från varandra, vilket centraliserar användarhanteringen och ger tillgång till SaaS-lösningar.

SAML implementerar en säker metod för att överföra användarautentiseringar och auktoriseringar mellan identitetsleverantören och tjänsteleverantörerna. När en användare loggar in i en SAML-aktiverad applikation begär tjänsteleverantören auktorisation från lämplig identitetsleverantör. Identitetsleverantören autentiserar användarens autentiseringsuppgifter och returnerar sedan auktorisationen för användaren till tjänsteleverantören, och användaren kan nu använda applikationen.

SAML-autentisering är processen för att verifiera användarens identitet och autentiseringsuppgifter (lösenord, tvåfaktorsautentisering, etc.). SAML-auktorisation talar om för tjänsteleverantören vilken åtkomst den ska ge den autentiserade användaren.

Vad är en SAML-leverantör?

Två typer av SAML-leverantörer
En SAML-leverantör är ett system som hjälper en användare att få åtkomst till en tjänst de behöver. Det finns två primära typer av SAML-leverantörer, tjänsteleverantör och identitetsleverantör.

En tjänsteleverantör behöver autentiseringen från identitetsleverantören för att bevilja användaren behörighet.

En identitetsleverantör utför autentiseringen av att slutanvändaren är den han eller hon utger sig för att vara, och skickar dessa uppgifter till tjänsteleverantören tillsammans med användarens åtkomsträttigheter för tjänsten.

Microsoft Active Directory eller Azure är vanliga identitetsleverantörer. Salesforce och andra CRM-lösningar är vanligtvis tjänsteleverantörer, eftersom de är beroende av en identitetsleverantör för användarautentisering.

Vad är en SAML Assertion?

En SAML Assertion är det XML-dokument som identitetsleverantören skickar till tjänsteleverantören och som innehåller användarens behörighet. Det finns tre olika typer av SAML Assertions – autentiserings-, attribut- och auktoriseringsbeslut.

  • Autentiseringsassertions bevisar identifiering av användaren och ger uppgift om när användaren loggade in och vilken autentiseringsmetod de använde (dvs, Kerberos, 2-faktor, etc.)
  • Attributionsförsäkran skickar SAML-attributen till tjänsteleverantören – SAML-attribut är specifika data som ger information om användaren.
  • En auktoriseringsbeslutsförsäkran säger om användaren är auktoriserad att använda tjänsten eller om identitetsleverantören nekade deras begäran på grund av ett misslyckat lösenord eller bristande rättigheter till tjänsten.

Hur fungerar SAML?

SAML fungerar genom att överföra information om användare, inloggningar och attribut mellan identitetsleverantören och tjänsteleverantörerna. Varje användare loggar in en gång för Single Sign On hos identitetsleverantören, och sedan kan identitetsleverantören vidarebefordra SAML-attribut till tjänsteleverantören när användaren försöker få tillgång till dessa tjänster. Tjänsteleverantören begär auktorisering och autentisering från identitetsleverantören. Eftersom båda dessa system talar samma språk – SAML – behöver användaren bara logga in en gång.

Varje identitetsleverantör och tjänsteleverantör måste komma överens om konfigurationen för SAML. Båda ändarna måste ha den exakta konfigurationen för att SAML-autentiseringen ska fungera.

SAML-exempelsteg

SAML-exempel

  1. Frodo (användaren) loggar in på SSO först på morgonen.
  2. Frodo försöker sedan öppna webbsidan till sitt CRM.
  3. CRM – tjänsteleverantören – kontrollerar Frodos autentiseringsuppgifter med identitetsleverantören.
  4. Identitetsleverantören skickar auktoriserings- och autentiseringsmeddelanden tillbaka till tjänsteleverantören, vilket gör det möjligt för Frodo att logga in i CRM.
  5. Frodo kan använda CRM och få arbete utfört.
    ”Behöver 8 frivilliga till ett svårt projekt…”

SAML vs. OAuth

OAuth är en något nyare standard som utvecklades gemensamt av Google och Twitter för att möjliggöra effektiviserade inloggningar på internet. OAuth använder en liknande metodik som SAML för att dela inloggningsinformation. SAML ger företag mer kontroll för att hålla sina SSO-inloggningar säkrare, medan OAuth är bättre på mobiler och använder JSON.

Facebook och Google är två OAuth-leverantörer som du kan använda för att logga in på andra internetsidor.

SAML-handledning

För att undersöka exakt hur man implementerar SAML finns några resurser:

  • Konfigurera SAML för Salesforce
  • Konfigurera OKTA som SAML IDP
  • OneLogin har exempel på 5 olika programmeringsspråk

SAML och SSO är viktiga för varje företags cybersäkerhetsstrategi. Bästa praxis för identitetshantering kräver att användarkonton både begränsas till endast de resurser som användaren behöver för att utföra sitt arbete och att de granskas och hanteras centralt. Genom att använda en SSO-lösning kan du inaktivera konton från ett system och ta bort tillgången till alla tillgängliga resurser på en gång, vilket skyddar dina data från stöld.