Partnerstyrd SAML SSO-tjänst (enkel inloggning)

SAML (Security Assertion Markup Language) gör att säkra webbdomäner kan utbyta användarautentisering och data för användarauktorisering. Med SAML kan en webbtjänstleverantör kontakta en separat webbidentitetsleverantör för att autentisera användare som försöker komma åt säkert innehåll.

Google erbjuder en SAML-baserad tjänst för enkel inloggning ger full kontroll över auktoriseringen och autentiseringen av användarkonton med åtkomst till webbaserade applikationer som Gmail eller Kalender. Med hjälp av SAML-modellen fungerar Google som tjänsteleverantör och tillhandahåller tjänster som Gmail och startsidor. Googles partner fungerar som identitetsleverantörer och kontrollerar användarnamn, lösenord och annan information som används för att identifiera, autentisera och auktorisera användare för webbapplikationer som Google är värd för. Det finns ett antal befintliga identitetsleverantörslösningar via öppen källkod och kommersiella alternativ som kan hjälpa dig att implementera SSO med Google Apps.

Det är viktigt att notera att SSO-lösningen enbart gäller webbapplikationer. Om du vill ge användarna tillgång till Googles tjänster med skrivbordsklienter som Outlook, exempelvis POP-åtkomst till Gmail med Outlook, måste du fortfarande tillhandahålla fungerande lösenord till användarna och synkronisera dessa lösenord med din interna databas med hjälp av Admin SDK:s Directory API. Vid synkronisering av lösenord är det bra att förstå hur användarna autentiseras med inloggningswebbadressen för administratörskontrollpanelen.

Googles SSO-tjänst är baserad på SAML v2.0-specifikationerna. SAML v2.0 stöds av flera välkända leverantörer.

Så här fungerar partnerdriven SAML-baserad SSO

Följande process beskriver hur en användare loggar in på en applikation som Google är värd för via en partnerdriven SAML-baserad SSO-tjänst.

Figur 1, som visas nedan, illustrerar hur en användare loggar in på en Google-app, som Gmail, via en SAML-baserad SSO-tjänst. Den numrerade listan som följer bilden förklarar varje steg mer detaljerat.

Obs! Innan detta görs måste partnern tillhandahålla Google webbadressen till sin SSO-tjänst samt den offentliga nyckel som Google ska använda för att verifiera SAML-svar.

Bild 1: Inloggning på på Google med en partnerdriven SAML-baserad SSO-tjänst

Den här bilden illustrerar stegen nedan.

  1. Användaren försöker att nå en applikation som Google är värd för, exempelvis Gmail, startsidor eller en annan Google-tjänst.
  2. Google skapar en begäran om SAML-autentisering. SAML-begäran kodas och bäddas in i webbadressen för partnerns SSO-tjänst. Den RelayState-parameter som innehåller den kodade webbadressen till Google-applikationen som användaren försöker nå är också inbäddad i SSO-webbadressen. RelayState-parametern ska vara en ogenomskinlig identifierare som skickas tillbaka utan ändringar eller inspektion.
  3. Google skickar en omdirigering till användarens webbläsare. Webbadressen för omdirigering inkluderar den kodade begäran om SAML-autentisering som ska skickas till partnerns SSO-tjänst.
  4. Partnern avkodar SAML-begäran och extraherar webbadressen för både Googles ACS (Assertion Consumer Service) och användarens måladress (RelayState-parameter). Partnern autentiserar sedan användaren. Partner kan autentisera användare genom att antingen be om giltiga inloggningsuppgifter eller genom att söka efter giltiga sessionscookies.
  5. Partnern genererar ett SAML-svar som innehåller den autentiserade användarens användarnamn. I enlighet med SAML 2.0-specifikationen signeras detta svar digitalt med partnerns offentliga och privata DSA/RSA-nycklar.
  6. Partnern kodar SAML-svaret och RelayState-parametern och returnerar denna information till användarens webbläsare. Partnern tillhandahåller en mekanism så att webbläsaren kan vidarebefordra denna information till Googles ACS. Till exempel kan partnern bädda in SAML-svar och målwebbadress i ett formulär och tillhandahålla en knapp som användaren kan klicka på för att skicka formuläret till Google. Partnern kan också inkludera JavaScript på sidan som automatiskt skickar formuläret till Google.
  7. Googles ACS verifierar SAML-svaret med hjälp av partnerns offentliga nyckel. Om svaret verifieras omdirigerar ACS användaren till måladressen.
  8. Användaren har omdirigerats till målwebbadressen och loggas in på Google.
Var det här till hjälp?
Hur kan vi förbättra den?