Attributübermittlung vom IdP an den SP

Welche Attribute ein Service Provider letztlich erhält, wird immer durch die IdP-Konfiguration entschieden. Service Provider haben einige technische Möglichkeiten, die gewünschten oder erforderlichen Attribute zur Autorisierung anzusagen. Identity Provider sind gemäß der standardisierten SAML-Profile jedoch nicht dazu verpflichtet, darauf einzugehen.

  1. Laut Standard kann ein SP im Authentication Request bestimmte Attribute anfordern. („The <AuthnRequest> MAY contain an AttributeConsumingServiceIndex XML attribute referencing information about desired or required attributes in [SAMLMeta]. The identity provider MAY ignore this, or send other attributes at its discretion.“ Quelle: oben verlinktes PDF). Uns ist jedoch noch keine tatsächliche Implementierung dieses Features begegnet.
  2. In den SP-Metadaten sollten die gewünschten bzw. erforderlichen Attribute genannt werden. Eine IdP-Konfiguration kann in den Attribut-Filterregeln darauf eingehen, sie darf die Informationen aber auch ignorieren. Geht sie darauf ein, dann werden Attribute nur dann freigegeben, wenn sie in den SP-Metadaten stehen oder auch, wenn sie dort als erforderlich markiert sind. (Die Nutzer*innen können die Attributfreigabe natürlich immer noch ablehnen.)
  3. Werden vom IdP keine Attribute übermittelt, dann kann der SP versuchen, eine Attribute Query über die SOAP-Schnittstelle am IdP abzusetzen. Auch dabei werden die Attribut-Filterregeln einbezogen. Das bedeutet, dass bei fehlenden Freigaben auch eine Attribut Query keine Informationen holen kann. (Ab dem IdP 4.x wird die Erlaubnis für Attribute Queries nicht mehr standardmäßig erteilt, sondern muss im entsprechenden SAML-Profil (conf/relying-party.xml) angeschaltet werden.

IdP-Betreiber*innen haben verschiedene Möglichkeiten, die Attributfreigaben zu erteilen:

  • Konfiguration pro SP (also pro EntityID) → Beispiele
  • Konfiguration für ganze Entity Kategorien (also Sammelfreigaben für SP-Gruppen) → Beispiele
  • Konfiguration nach Angaben in SP-Metadaten → Beispiel

Eine vollständige Übersicht über die verfügbaren Filterregeln findet sich im Shibboleth Wiki.

  • Zuletzt geändert: vor 3 Jahren