ADFS 4.0 und SWITCH edu-ID

SWITCH edu-ID IdP als zusätzliche Identity Provider im ADFS 4.0

Wie in einer der vorherigen Blogeintrag erwähnt, wird SWITCH edu-ID zu einer lebenslangen digitale Identität in das Hochschuleumfeld.

Sicherlich kennt Ihr das Problem, das in vielen Organisationen die Webanwendungen mit unterschiedlichen Sign-In Page daher kommen, das hat teils auch damit zu tun, dass die Identitätsattribute über verschiedene Identity Provider zur Verfügung gestellt werden.

Das ADFS (Active Directory Federation Service) von der Microsoft ermöglicht in einer Active Directory Umgebung die Nutzung von SAML Sign-In Protokoll, dazu auch noch die Möglichkeit den Benutzer eine einheitliche und nach Organisations Bedürfnissen angepasste Sign-In Page für Webanwendungen anzubieten und gleichzeitig den Identitätsattributen von verschiedenen Identity Provider an Applikationen über mehrere Protokolle und Token typen weiterzugeben.

Mehr zu ADFS 4.0 (Windows Server 2016):
https://docs.microsoft.com/en-us/windows-server/identity/ad-fs/overview/whats-new-active-directory-federation-services-windows-server

Da der aktuelle Hochschulenweite Identity Federation mit SWITCHaai für die aktiven Hochschul angehörige eingeschränkt bleibt, bietet die SWITCH edu-ID die Möglichkeit ohne einen aktiven Mitgliedschaft an einer Hochschule, die von der Hochschulen freigegebene Ressourcen zu nutzen. Um den Zugang auf die Ressourcen über einen einheitliche Sign-In Page zu ermöglichen wäre eine möglichkeit die SWITCH edu-ID über das ADFS anzubieten. So können z. B. die interne Geschäftsapplikationen über das ADFS angebunden werden und als Sign-In Protokoll WS-FED und als Authentisierungstyp Kerberos oder NTLM nutzen, die Applikationen welche ohne eine aktive Mitgliedschaft angeboten werden, können über die SWITCH edu-ID mit SAML als Sign-In Protokoll und als Authentisierungstyp Form-Based angebunden werden.

Beispiellayout:

SWITCHaai/edu-ID IdP Konfiguration:

ADFS als SWITCHaai Ressource auf der Resource Registry Seite (https:/rr.aai.switch.ch/) einrichten

Ein Hinweis noch um SWITCH edu-ID zuzulassen:

ADFS 4.0 Konfiguration:

Neu mit ADFS 4.0 können auch Metadata Files mit mehreren Entity Einträge in einem File eingelesen werden, dafür wird der folgende Befehl verwendet:

Add-AdfsClaimsProviderTrust -Name “SWITCH edu-ID” -MetadataUrl https://metadata.aai.switch.ch/entities/eduid -AcceptanceTransformRulesFile .\DefaultAcceptanceRules.txt -AutoUpdateEnabled $true -MonitoringEnabled $true

Mit diesem Befehl wird der IDP von SWITCH edu-ID aus der Metadata File im ADFS als ClaimsProviderTrust erstellt.

ClaimTrustProvider auslesen:

Get-AdfsClaimsProviderTrust | ft Name, Identifier

Beispiel für eine AcceptanceRules.txt File:

@RuleTemplate = "PassThroughClaims"

@RuleName = "Pass trough Name ID"
c:[Type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier", Properties["http://schemas.xmlsoap.org/ws/2005/05/identity/claimproperties/format"] == "urn:oasis:names:tc:SAML:2.0:nameid-format:persistent"] => issue(claim = c);
@RuleName = "principalName to UPN"
c:[Type == "urn:oid:2.16.756.1.2.5.1.1.1"] => issue(Type = "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn", Issuer = c.Issuer, OriginalIssuer = c.OriginalIssuer, Value = c.Value, ValueType = c.ValueType);
@RuleName = "givenname to Given Name"
c:[Type == "urn:oid:2.5.4.42"] => issue(Type = "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname", Issuer = c.Issuer, OriginalIssuer = c.OriginalIssuer, Value = c.Value, ValueType = c.ValueType);
@RuleName = "sn to Surname"
c:[Type == "urn:oid:2.5.4.4"] => issue(Type = "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname", Issuer = c.Issuer, OriginalIssuer = c.OriginalIssuer, Value = c.Value, ValueType = c.ValueType);
@RuleName = "displayName to Display Name"
c:[Type == "urn:oid:2.16.840.1.113730.3.1.241"] => issue(Type = "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/displayname", Issuer = c.Issuer, OriginalIssuer = c.OriginalIssuer, Value = c.Value, ValueType = c.ValueType);
@RuleName = "mail to E-Mail Address"
c:[Type == "urn:oid:0.9.2342.19200300.100.1.3"] => issue(Type = "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress", Issuer = c.Issuer, OriginalIssuer = c.OriginalIssuer, Value = c.Value, ValueType = c.ValueType);

ADFS 4.0 Test:

Auf der ADFS Home Realm Discovery (HRD) Page wird zusätzlich zu Active Directory der SWITCH edu-ID IdP angeboten.

HRD: https://adfs.domain.ch/adfs/ls/idpinitiatedsignon

Um die Display Name der IdP auf der ADFS HRD Page anzupassen, muss die Display name der Claims Provider Trust auf der ADFS Server angepasst werden.

SWITCH edu-ID – die neue Authentisierungslösung für Schweizer Hochschulen

Die Vision: Eine digitale Identität, welche das gesamte Leben gilt und an allen Hochschulen – als Mitarbeitende, Studierende und Weiterbildungsteilnehme – genutzt werden kann.

Die bekannt und aktuell verwendete digitale Identität «SWITCHaai» steht nur bei einer Anstellung oder Immatrikulation an einer Hochschule zu Verfügung und wird beim Austritt oder Exmatrikulation aufgelöst. Die neue digitale Identität «SWITCH edu-ID» hat keinen Ablauf. Sie wird nicht mehr dezentral in den einzelnen Hochschulen erzeugt, sondern die einzelnen Hochschulen können die von der SWITCH zur Verfügung gestellten Identität mit Hochschul-Attributen ergänzen.

Die Vorteile liegen auf der Hand: Bspw. bei einem Studiengang welche in Zusammenarbeit von mehreren Hochschulen angeboten (z.B. «Kooperationsmaster»), kann sich der Studierende mit einer Identität an den IT-Infrastrukturen beider Hochschulen authentisieren und diese nutzen. SWITCH edu-ID steht in einer Basis-Variante für jeden (auch ausserhalb der Hochschulen) kostenlos zu Verfügung.

Willkommen auf meiner Blog Seite

Gerne möchte ich mit euch meine Erfahrungen in Identity Management und Cloud Themen mit euch austauschen.

Ich arbeite schon über 10 Jahren in der IT, angefangen als System Engineer für Windows Server Systeme und VMware Virtualisierung, jetzt als Senior Consultant und Cloud Solution Architekt für Microsoft Azure Plattform. Schon mehr als 3 Jahren beschäftige ich mich vertieft mit Identity Management Lösungen und Cloud Architektur.

Weitere Informationen zu meinem Werdegang und über mich findest du auf der About Me Seite.

Viele Grüsse
Nisanth Rajah