KNF:Korte uitleg SAML protocol

Uit Kennisnet Developers Documentatie
Versie door Oostmeijer01 (overleg | bijdragen) op 11 dec 2016 om 09:46 (Metadata)
Ga naar: navigatie, zoeken

Entree Federatie-symbol.png Entree Federatie: Korte uitleg SAML protocol

Nl.gif Nederlands En.gif English


Entree Federatie functioneert op basis van het Single Sign On (SSO) principe. Een gebruiker logt slechts één keer in op zijn schoolomgeving (Identity Provider) en heeft vervolgens automatisch toegang tot de vele aangesloten diensten (Service Providers).

Binnen Entree Federatie verloopt de communicatie tussen Service Providers en Identity Providers via de centrale hub van Kennisnet. Het voordeel hiervan is dat iedere Service Provider (SP) en iedere Identity Provider (IdP) slechts één enkele koppeling met de centrale hub hoeft te onderhouden. De applicatie van Kennisnet vervult hierdoor de rol van Identity Provider voor alle aangesloten Service Providers en tegelijkertijd de rol van Service Provider richting alle Identity Providers.

Single Sign On is mogelijk doordat de verschillende applicaties volgens het SAML 2.0 protocol met elkaar communiceren. SAML staat voor Security Assertion Markup Language en is een open standaard voor het uitwisselen van authenticatie- en autorisatiegegevens. De standaard is ontwikkeld door het non-profit consortium OASIS.

Metadata

De verschillende partijen binnen Entree Federatie communiceren met elkaar op basis van vertrouwensrelatie. Hiervoor worden een aantal afspraken gemaakt over onder andere:

  • De unieke identifier van de partij
  • De rol van de partij
  • Endpoints
  • Certificaten

Iedere partij legt dit vast in een metadata bestand in XML formaat. Een vereenvoudigd voorbeeld van een metadata bestand voor een Service Provider ziet er als volgt uit:

<EntityDescriptor entityID="https://unieke-identifier.nl">
   <SPSSODescriptor>
      <KeyDescriptor>
      </KeyDescriptor>
      <AssertionConsumerService>
      </AssertionConsumerService>
   </SPSSODescriptor>
</EntityDescriptor>
  • Het verplichte attribuut entityID bevat de unieke identifier van de applicatie, bij voorkeur in de vorm van een URL.
  • Het element <SPSSODescriptor> beschrijft de rol van de Service Provider. Voor een Identity Provider is dit <IDPSSODescriptor>.

Web Browser SSO profiel

In de SAML specificatie zijn profielen gedefinieerd voor verschillende use cases, in de context van Entree Federatie richten we ons op het Web browser SSO profiel. Hierin wil een gebruiker via zijn browser de afgeschermde website van de Service Provider bezoeken. Om te bepalen of de gebruiker toegang krijgt tot de website wil de Service Provider de identiteit van de gebruiker vaststellen. De Service Provider vraagt hiervoor de Identity Provider om een verklaring (assertion) over de identiteit van de gebruiker af te leggen. Op basis van het antwoord van de Identity Provider bepaalt de Service Provider of de gebruiker toegang krijgt.