• Blog
  • Info Support
  • Career
  • Training
  • International Group
  • Info Support
  • Blog
  • Career
  • Training
  • International Group
  • Search
logo InfoSupport
  • Latest blogs
  • Popular blogs
  • Experts
      • All
      • Bloggers
      • Speakers
  • Meet us
  • About us
    • nl
    • en
    • .NET
    • 3D printing
    • Advanced Analytics
    • Agile
    • Akka
    • Alexa
    • Algorithms
    • Api's
    • Architectuur
    • Artificial Intelligence
    • ATDD
    • Augmented Reality
    • AWS
    • Azure
    • Big Data
    • Blockchain
    • Business Intelligence
    • Chatbots
    • Cloud
    • Code Combat
    • Cognitive Services
    • Communicatie
    • Containers
    • Continuous Delivery
    • CQRS
    • Cyber Security
    • Dapr
    • Data
    • Data & Analystics
    • Data Science
    • Data Warehousing
    • Databricks
    • DataOps
    • Developers life
    • DevOps
    • Digital Days
    • Digital Twin
    • Docker
    • eHealth
    • Enterprise Architecture
    • Event Sourcing
    • Hacking
    • Infrastructure & Hosting
    • Innovatie
    • Integration
    • Internet of Things
    • Java
    • Machine Learning
    • Microservices
    • Microsoft
    • Microsoft Bot Framework
    • Microsoft Data Platform
    • Mobile Development
    • Mutation Testing
    • Open source
    • Pepper
    • Power BI
    • Privacy & Ethiek
    • Python
    • Quality Assistance & Test
    • Quality Assurance & Test
    • Requirements Management
    • Scala
    • Scratch
    • Security
    • SharePoint
    • Software Architecture
    • Software development
    • Software Factory
    • SQL Server
    • SSL
    • Start-up
    • Startup thinking
    • Stryker
    • Test Quality
    • Testing
    • TLS
    • TypeScript
    • Various
    • Web Development
    • Web-scale IT
    • Xamarin
    • All
    • Bloggers
    • Speakers
Home » Wat is een Claim
  • Wat is een Claim

    • By Erik Oppedijk
    • Cloud 10 years ago
    • Cloud 0 comments
    • Cloud Cloud
    Wat is een Claim

    Om goed de afweging te kunnen maken waarom we ineens naar een Claims based security model gaan, zullen we eerst even naar het verleden moeten kijken welke problemen en uitdagingen we hadden.

    Het verleden

    De eerste keuze bij Web applicaties op Windows platformen is altijd: Kies ik voor Windows (NTLM/kerberos) security, of voor Forms based Authentication. Deze keuze ligt voor de rest van de applicatie lifetime vast.

    Bij het maken van een applicatie op het Java platform is die keuze nog moeilijker, daar komen ook nog allerlei LDAP mogelijkheden om de hoek kijken. Ook is daar de Windows (NTLM/kerberos) security bijna nooit in gebruik, omdat de applicatie dan in een IIS gehangen zal moeten worden.

    Zijn we vervolgens aangelogd dan liepen we tegen het volgende probleem aan: welke rechten heeft een persoon. Bij de Windows (NTLM/kerberos) variant krijg ik de user inclusief alle groepen terug (uit de Active Directory). En bij Forms based moet ik zelf een database met alle rollen aanleggen. In beide gevallen ben ik beperkt tot groepen/rollen en kan ik geen extra informatie gemakkelijk toevoegen.

    De laatste beperking ligt bij een Single Sign On (SSO) ervaring. Op  het intranet is dit met de Windows varianten automatisch geregeld. Voor internet applicaties is dit bijna niet te doen.

    Het heden

    Microsoft heeft groot ingezet op SAML (Security Assertion Markup Language), dit is een XML gebaseerde open standaard. Omdat het een XML formaat is zijn we niet meer beperkt tot groepen/rollen. We kunnen nu ook bijvoorbeeld een personeelsnummer, leeftijd, of locatie toevoegen.

    Deze vorm van Claims based security vinden we zelfs standaard terug in SharePoint.

    De claim wordt uitgedeeld door een Security Token Service (STS) ook wel Identity Provider genoemd. Hier gaan we in een later artikel uitgebreid naar kijken. Belangrijkste is dat de STS een Claim voor ons aanmaakt en deze ook digitaal ondertekend zodat de afkomst bekend is.

    De applicatie hoeft niet meer zelf voor een login scherm te zorgen, en het hele gebruikersbeheer ligt buiten de applicatie. We controleren alleen de claim of deze van een verttrouwde partij afkomstig is.

    Wat staat er in een claim

    Dat is een afspraak tussen de STS (Identity Provider) en je applicatie. Iedere applicatie krijgt dus een claim op maat per gebruiker.

    We vinden hier in ieder geval de naam van de identity provider en vaak ook de unieke identifier van de user. Daarnaast mogen de volledige naam en alle rollen aanwezig zijn, echter deze zijn niet verplicht!

    Voor sommige applicaties kan het handig zijn om al een personeelsnummer, klantnummer, bedrijfsnaam of iets dergelijks in een claim mee te krijgen. De applicatie hoeft dan minder informatie op te zoeken.

    Waar moeten we op letten

    Te kleine claims zullen resulteren in applicaties die zelf weer databases met rollen en rechten gaan maken. Zorg er in ieder geval voor dat dit zoveel mogelijk gecentraliseerd opgeslagen wordt.

    Aan de andere kant bij te grote claims zal er vertraging optreden omdat het versturen en controleren te lang duurt. Ideale oplossing voor dit probleem is om niet alle detail rechten in de claim op te slaan. Denk aan de CRUD rechten voor 100 entiteiten, dat zouden dan 400 claims kunnen worden. Sla dit soort structuren niet op in een Claim, maar genereer ze in de applicatie en bewaar deze in een Sessie of een Cache object.

    Mogelijk ander alternatief zou een soort binaire claim kunnen zijn. Hier zul je zelf alle infrastructuur voor moeten schrijven. Qua transport is dit wel weer efficient, voor het debuggen weer niet.

    De toekomst

    Het zelf bouwen van loginschermen in iedere applicatie zullen we steeds minder tegen gaan komen. Onder andere Microsoft zet groot in op claims, omdat op deze manier een naadloze integratie tussen lokale gebruikers en diensten met de cloud mogelijk is.

    Verder hebben we niet te maken met een vendor lock-in qua claims, deze zijn open en kunnen ook uit een Oracle, IBM of OpenSAML pakket komen.

    Share this

Erik Oppedijk

View profile

Related IT training

Go to training website

Related Consultancy solutions

Go to infosupport.com

Related blogs

  • Interpreteerbare AI als oplossing voor het Black Box Pr…

    Interpreteerbare AI als oplossing voor het Black Box Pr… Emiel Stoelinga - 1 year ago

  • Interpreteerbare AI als oplossing voor het Black Box Pr…

    Interpreteerbare AI als oplossing voor het Black Box Pr… Emiel Stoelinga - 1 year ago

  • Hosting your own WinGet private repository

    Hosting your own WinGet private repository Léon Bouquiet - 1 year ago

Data Discovery Channel

  • Modern Data Platform

  • Gartner Data & Analytics Summit 2022

  • De Data Architecture ®Evolution

Nieuwsbrief

* verplichte velden

Contact

  • Head office NL
  • Kruisboog 42
  • 3905 TG Veenendaal
  • T +31 318 552020
  • Call
  • Mail
  • Directions
  • Head office BE
  • Generaal De Wittelaan 17
  • bus 30 2800 Mechelen
  • T +32 15 286370
  • Call
  • Mail
  • Directions

Follow us

  • Twitter
  • Facebook
  • Linkedin
  • Youtube

Newsletter

Sign in

Extra

  • Media Library
  • Disclaimer
  • Algemene voorwaarden
  • ISHBS Webmail
  • Extranet
Beheer cookie toestemming
Deze website maakt gebruik van Functionele en Analytische cookies voor website optimalisatie en statistieken.
Functioneel Always active
De technische opslag of toegang is strikt noodzakelijk voor het legitieme doel het gebruik mogelijk te maken van een specifieke dienst waarom de abonnee of gebruiker uitdrukkelijk heeft gevraagd, of met als enig doel de uitvoering van de transmissie van een communicatie over een elektronisch communicatienetwerk.
Voorkeuren
De technische opslag of toegang is noodzakelijk voor het legitieme doel voorkeuren op te slaan die niet door de abonnee of gebruiker zijn aangevraagd.
Statistieken
De technische opslag of toegang die uitsluitend voor statistische doeleinden wordt gebruikt. De technische opslag of toegang die uitsluitend wordt gebruikt voor anonieme statistische doeleinden. Zonder dagvaarding, vrijwillige naleving door uw Internet Service Provider, of aanvullende gegevens van een derde partij, kan informatie die alleen voor dit doel wordt opgeslagen of opgehaald gewoonlijk niet worden gebruikt om je te identificeren.
Marketing
De technische opslag of toegang is nodig om gebruikersprofielen op te stellen voor het verzenden van reclame, of om de gebruiker op een website of over verschillende websites te volgen voor soortgelijke marketingdoeleinden.
Manage options Manage services Manage vendors Read more about these purposes
Voorkeuren
{title} {title} {title}