Applicaties van SURF die via SURFconext ontsloten worden kunnen SAB-rollen en klantafkorting gebruiken via SURFconext attribuut-aggregatie.
Indien gebruikers op de applicatie inloggen via SURFconext zijn hiervoor geen extra API's, interfaces en credentials nodig. Bij de SURFconext-login krijg je in het attribuut urn:mace:surf.nl:attribute-def:surf-autorisaties de informatie van SAB, gefilterd voor de desbetreffende applicatie, van de ingelogde gebruiker mee.
In het attribuut surf-autorisaties, dat meerwaardig kan zijn, kun je de volgende waarden verwachten:
Specifieke SAB-rollen van de gebruiker
bijvoorbeeld:urn:mace:surfnet.nl:surfnet.nl:sab:role:SURFmedia-beheerder urn:mace:surfnet.nl:surfnet.nl:sab:role:SuperuserRO
Organisatiecode: CRM GUID
urn:mace:surfnet.nl:surfnet.nl:sab:organizationGUID:ad93daef-0911-e511-80d0-005056956c1a
Deprecated: organisatiecode uit SURF CRM "UNIHARDERWIJK"
Niet te gebruiken voor nieuwe gevallen - in plaats daarvan GUID gebruiken:urn:mace:surfnet.nl:surfnet.nl:sab:organizationCode:UNIHARDERWIJK
Let op! Binnen SAB is een rol altijd gekoppeld aan een instelling. Je moet dus de combinatie van de informatie die je van SAB krijgt ("SURFmedia-beheerder" voor instelling "ad93daef-0911-e511-80d0-005056956c1a" (=UNIHARDERWIJK)) gebruiken voor je autorisaties.
Hoe werkt het?
- Je vraagt deze functionaliteit aan voor je dienst bij het SURFconext supportteam (e-mail naar support@surfconext.nl). Daarbij geef je op welke rollen je specifiek in geïnteresseerd bent, en eventueel of je ook de klantafkoring of GUID wilt.
- Na verwerking krijg je een extra multi-valued attribuut 'surf-autorisaties' met bovengenoemde rol informatie. Heeft iemand helemaal geen SAB-rollen (die voor jouw dienst van toepassing zijn) dan wordt het attribuut niet doorgegeven.
Als je naast SAB-rollen ook een of enkele SURFconext Invite-rollen wilt gebruiken voor autorisatie, kun je ook die rollidmaatschappen via de SURFconext-AA toegestuurd krijgen in de SAML assertion van het SAML response.
<saml:AttributeStatement>
<saml:Attribute Name="urn:mace:surf.nl:attribute-def:surf-autorisaties" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri">
<saml:AttributeValue xsi:type="xs:string">urn:mace:surfnet.nl:surfnet.nl:sab:organizationCode:SURFNET</saml:AttributeValue>
<saml:AttributeValue xsi:type="xs:string">urn:mace:surfnet.nl:surfnet.nl:sab:organizationGUID:ad93daef-0911-e511-80d0-005056956c1a</saml:AttributeValue>
<saml:AttributeValue xsi:type="xs:string">urn:mace:surfnet.nl:surfnet.nl:sab:role:OperationeelBeheerder</saml:AttributeValue>
<saml:AttributeValue xsi:type="xs:string">urn:mace:surfnet.nl:surfnet.nl:sab:role:SURFconextbeheerder</saml:AttributeValue>
</saml:Attribute>
.
.
</saml:AttributeStatement>
- In geval van OpenID Connect zal deze informatie in de claim 'surf-autorisaties' worden geplaatst, die via het userinfo end-point opvraagbaar is.
- In het verleden werden rollen ook uitgedeeld via het attribuut eduPersonEntitlement, op verder dezelfde wijze. Dat werkt nog voor bestaande gevallen maar wordt niet meer toegepast voor nieuwe implementaties