Over deze problematiek verscheen in maart 2017 ook een blog.

Hoewel veel diensten die een instelling via SURFconext afneemt voor alle gebruikers van een IdP beschikbaar moeten zijn, kunnen er ook diensten worden gekoppeld die slechts voor een beperkte set gebruikers zijn bedoeld.  Er kunnen verschillende redenen zijn om dit te doen, bijvoorbeeld:

Op deze pagina beschrijven we hoe een dienst die via SURFconext is gekoppeld, is af te schermen zodat gebruik van de dienst is beperkt tot een beperkte groep gebruikers van een instelling (bijvoorbeeld alleen studenten, of alleen medewerkers van een specifieke faculteit).

Er zijn verschillende mogelijkheden om een dergelijke afscherming te bereiken. Hieronder beschrijven we de drie meest gebruikte methodes.

Op basis van provisioning

Veel diensten hebben eigen voorzieningen voor het bepalen van toegang tot en rechten binnen de dienst. Typisch betekent dat dat de dienst, hoewel die via SURFconext is ontsloten, alleen gebruikers toelaat die vooraf in de dienst zijn aangemaakt (geprovisiond).

Het aanmaken van gebruikers in de dienst kan op diverse manieren gebeuren:

Uiteraard kan het zijn dat niet al deze mogelijkheden door de dienstverlener worden ondersteund.

 

Een complicerende factor bij deze methode is dat bij het inloggen de identiteit van de gebruiker moet worden vastgesteld. Minimaal één van de attributen die de dienst bij logins via SURFconext binnenkrijgt, zal dus overeen moeten komen met de identiteit die de instelling in de dienst heeft aangemaakt. De gebruikelijke manieren van identificeren van SURFconextgebruikers vindt echter plaats met de NameId of met het eduPersonPrincipleName-attribuut; deze komen in dit geval typisch niet in aanmerking voor identificatie, omdat dit afgeleide attributen zijn die (meestal) niet aanwezig zijn in de IdM-systemen van de instelling. We raden daarom aan om voor dit scenario een medewerker- of studentnummer door te geven via het schacPersonalUniqueCode-attribuut. Identificatie op basis van het uid-attribuut raden wij af voor diensten van externe leveranciers, omdat dit attribuut bij de meeste instellingen de loginnaam van de gebruiker bevat, en het uit veiligheidsoverwegingen geen goed idee is om deze buiten de instelling te gebruiken

Op basis van attributen

Een andere veelgebruikte mogelijkheid is om vanuit de IdP van de instelling extra attributen mee te geven op basis waarvan toegang kan worden geregeld. 

 De volgende attributen komen in aanmerking:

De bovenstaande attributen worden van de instellings-IdP aan SURFconext doorgegeven.  De daadwerkelijke afscherming kan op twee plaatsen worden uitgevoerd: in SURFconext, of in de dienst zelf.

Als SURFconext de afscherming regelt, kan deze workflow worden gebruikt zonder dat ondersteuning van de dienst nodig is. De afscherming vindt dan plaats via Autorisatieregels. Op het SURFconext Dashboard kunnen de SURFconext-contactpersonen van de instelling onder het tabblad "autorisatieregels" een filter toevoegen op basis van een (of meerdere) van de bovenstaande attributen. Daarmee kunnen de geselecteerde groepen worden toegelaten of juist worden geweigerd.

Als de dienst zelf de afscherming regelt, zal SURFconext de benodigde attributen, zoals hierboven beschreven, doorgeven aan de dienst. Alle gebruikers worden dus naar de dienst doorgelaten, en de dienst kan op basis van deze attributen toegang toestaan of weigeren. Uiteraard is het ook mogelijk dat de dienst op basis van deze attributen verschillende rechten toekent (bijvoorbeeld iedereen leesrechten, maar alleen medewerkers schrijfrechten). Dit is echter geheel afhankelijk van de ondersteuning en de mogelijkheden van de dienst.

Op basis van groepen

In plaats van in de IdP een attribuut toe te voegen voor bepaalde gebruikers, is het ook mogelijk om toegang te verlenen aan gebruikers in een specifieke groep. Daarvoor zijn twee mogelijkheden:

Ook in dit geval zijn er twee mogelijkheden om de daadwerkelijke afscherming te regelen: binnen SURFconext op basis van Autorisatieregels, of binnen de dienst:

  1. Als wordt gekozen voor afscherming door SURFconext, kan dit worden geregeld via Autorisatieregels.  Deze kunnen op het SURFconext Dashboard worden aangepast. Daar kan dan worden gekozen voor een afscherming op basis van groepslidmaatschap. Deze workflow kan worden gebruikt zonder dat ondersteuning van de dienst nodig is.
  2. Als de afscherming in de dienst moet worden geregeld, zal de dienst na elke login van een gebruiker in een aparte call ook diens groepen moeten opvragen bij SURFconext. Hoe dit in zijn werk gaat, wordt op een andere plek op deze wiki beschreven.

Overzicht

In onderstaande tabel worden de belangrijkste eigenschappen van de verschillende manieren van afscherming nogmaals met elkaar vergeleken.


typebeheerafscherming ondersteuning SP
Provisioningafhankelijk van SP
instelling of decentraal 
SPvereist
Attributen

instelling: IAM-beheer

SURFconextniet nodig
SPvereist
Groepeninstellingsgroepeninstelling:
IAM-beheer of decentaal
SURFconextniet nodig
SPvereist
SURFconext TeamsdecentraalSURFconextniet nodig
SPvereist

Schematisch

 

Neem voor opmerkingen of vragen gerust contact op met het SURFconext Supportteam (support@surfconext.nl)