DFN-AAI SAML-Anbindung an git.nrw
Auf dieser Seite
git.nrw Service Provider
Die EntityID des git.nrw Service Providers (SP) lautet https://login.git.nrw/saml2sp/saml2_backend.xml.
Um am Dienst teilzunehmen, muss der Identity Provider (IdP) der teilnehmenden Hochschule bestimmte Attribute an den SP übermitteln. Diese Attribute werden intern von GitLab hauptsächlich zur Erstellung von Konten und zur Aktualisierung von Kontodaten verwendet.
Anforderungen zur Anbindung der teilnehmenden Hochschule
Vor der Anbindung an den SP ist es zwingend erforderlich, dass die teilnehmende Hochschule ihre Rahmenparameter bereitstellt, damit sie für den Dienst freigeschaltet werden kann. Diese sind:
EntityIDdes Produktiv-IdP- Falls gewünscht: Benutzergruppen (Affiliation), die von der Teilnahme an gitlab.git.nrw ausgeschlossen werden sollen.
- Standardmäßig sind folgende erlaubt: ‘member’, ‘staff’, ’employee’, ‘faculty’ und ‘student’.
Der SNS-SP lehnt alle EntityIDs und Affiliations ab, die nicht explizit erlaubt sind, um unbefugten Institutionen den Zugang zum Dienst zu verwehren. Wir fügen gültige EntityID-Strings erst hinzu, nachdem sie von Ihnen bereitgestellt wurden.
Ähnliche Einschränkungen gelten für gültige Benutzergruppen oder Affiliations. Wenn Ihre Einrichtung bestimmte Benutzergruppen von der Teilnahme ausschließen möchte, können wir diese zusätzlich auf der git.nrw-Seite herausfiltern.
Erforderliche Attribute für Registrierung und Login
Folgende Attribute sind für die Registrierung und Anmeldung bei gitlab.git.nrw zwingend erforderlich:
| Attribut | Pflicht | Referenz |
|---|---|---|
Eindeutige, persistente, persönliche ID: persistentID, oder pairwiseID, oder eduPersonTargetedID |
ja | DFN Docs |
mail |
ja | DFN Docs |
displayName |
ja | DFN Docs |
eduPersonScopedAffiliation |
ja | DFN Docs |
schacHomeOrganization |
ja | DFN Docs |
eduPersonEntitlement |
optional | DFN Docs |
givenName |
optional | DFN Docs |
sn |
optional | DFN Docs |
Diese Attribute müssen vom IdP der teilnehmenden Hochschule an den git.nrw-SP übermittelt werden. Ohne diese Parameter ist eine Anmeldung bei gitlab.git.nrw nicht möglich.
Die Teilnahme des IdP der Hochschule an IDM.nrw und die daraus resultierende DFN-AAI Entity Category ist in der Regel ausreichend, da die oben genannten Attribute normalerweise standardmäßig übermittelt werden.
Verwendung der Attribute auf git.nrw-Seite
Die oben aufgeführten Attribute werden wie folgt verarbeitet:
ID (‘pairwiseID’ oder ‘subjectID’ oder ‘persistentID’ oder ’eduPersonTargetedID’)
Wird verwendet, um den authentifizierenden Benutzer dem GitLab-Konto zuzuordnen.
E-Mail-Adresse (‘mail’)
mail wird verwendet, um Kontoinhaber — vom GitLab-Dienst aus — für verschiedene Zwecke zu kontaktieren (Benachrichtigungen, allgemeine Informationen, Statusaktualisierungen, Sicherheitswarnungen usw.).
Die E-Mail-Adresse kann zur Identifizierung des entsprechenden GitLab-Kontos verwendet werden, wenn kein vorheriger SAML-Login mit dieser E-Mail (+ID) stattgefunden hat.
Intern in GitLab kann die dem GitLab-Konto zugeordnete E-Mail-Adresse später vom Benutzer beliebig geändert werden.
Anzeigename (‘displayName’)
Der displayName wird als „Full Name" innerhalb von GitLab für das entsprechende Konto angezeigt und kann vom Benutzer nicht geändert werden.
Zugehörigkeit (’eduPersonScopedAffiliation’)
Die Zugehörigkeit dient der Überprüfung der grundsätzlichen Teilnahmeberechtigung und damit des Zugangs zu GitLab (mindestens ‘member’ erforderlich) sowie der optionalen Zuordnung zu bestimmten GitLab-internen Gruppen basierend auf Zugehörigkeiten (member/employee/staff/faculty/student) und/oder damit verbundenen Berechtigungen.
Heimatorganisation (‘schacHomeOrganization’)
Wird verwendet, um die Herkunft eines Benutzerkontos zu bestimmen sowie zur optionalen Zuordnung zu organisationsspezifischen internen Gruppen und internen Zugriffsrechten.
Berechtigungen (’eduPersonEntitlement’)
Wird verwendet, um Rechte und Rollen basierend auf definierten Entitlements zuzuweisen, sowohl für die administrative Verwaltung durch Hochschulen als auch zur Ableitung von GitLab-internen Gruppenmitgliedschaften oder erweiterten Berechtigungen.
Die genauen zu übermittelnden und zu verwendenden Entitlement-Werte sind noch zu definieren.
Mindestens die von idm.nrw definierten Entitlements sollen zur Anwendung kommen.
Rechtemanagement mit eduPersonEntitlement
Wenn vordefinierte eduPersonEntitlement-Strings von den lokalen IdPs beim SAML-Login übermittelt werden, können daraus bestimmte Berechtigungen in GitLab oder in einem angebundenen Verwaltungstool abgeleitet werden.
Das Rechtemanagement mit Entitlements und einem Remote-Verwaltungstool befindet sich derzeit noch in der Planung oder Entwicklung. Daher wurden noch keine konkreten Entitlement-Strings festgelegt.