Navigation

Springe zum Hauptinhalt
Universitäts­rechen­zentrum
WTC / Shibboleth

Zugangssteuerung über das Web-Trust-Center mit Shibboleth

  1. Authentifizierung
  2. Autorisierung
  3. Eigene Autorisierung
  4. Attribute
  5. Wie macht man ...?

Authentifizierung

Wenn Sie eine Authentifizierung über das Web-Trust-Center der TU Chemnitz (WTC) verlangen wollen, schreiben Sie in die .htaccess -Datei:

   AuthType shibboleth
   ShibRequireSession On
  • AuthType shibboleth aktiviert Shibboleth als AuthType
  • ShibRequireSession On erlaubt das Betreten des geschützten Bereichs nur nach gültiger Authentifizierung

Soll nur eine einzelne Datei geschützt werden, kann dieser Codeblock bspw. in einen <Files>-Block geschrieben werden.

Autorisierung

   Require user …   

user – einzelne Benutzer, durch Leerzeichen getrennt

  • Nutzerkennzeichen für Angehörige der TU Chemnitz
  • Nutzerkennzeichen@Domain für externe Identitäten, z. B. login@tu-dresden.de oder log@hs-mittweida.de (derzeit nur für www.tu-chemnitz.de möglich)
  • Die Angabe Require shib-session ist auch gültig (früher: valid-user). Hier ist aber zu beachten, dass damit alle vom Web-Trust-Center authentifizierten Benutzer zugelassen werden, auch Benutzer anderer Identity-Provider (z.B. anderer Hochschulen).

 

   Require shib-attr affiliation …

affiliation - Zugehörigkeit mit @Domain: Definiert sind z. Z.:

  • Mitarbeiter@tu-chemnitz.de – Mitarbeiter/innen der TU Chemnitz (mit Arbeitsvertrag) ohne An-Institute usw.
  • Student@tu-chemnitz.de – eingeschriebene Studierende der TU Chemnitz
  • member@tu-chemnitz.de – Mitarbeiter/innen und eingeschriebene Studierende der TU Chemnitz
  • Extern@tu-chemnitz.de – alle anderen authentisierbaren Personen (An-Institute, Externe)
     
  • z. B. Require shib-attr affiliation Mitarbeiter@tu-chemnitz.de
   Require shib-attr unscoped-affiliation …

unscoped-affiliation – Zugehörigkeit ohne @Domain: Mitarbeiter, Student, member, Extern, alum

  • z. B. shib-attr unscoped-affiliation Student – Studierende beliebiger Einrichtungen
   Require shib-attr orgUnitNumber …

orgUnitNumber – Strukturnummer der TU Chemnitz

  • z. B. Require shib-attr orgUnitNumber 134200
   Require shib-attr afsgroup …

afsgroup – TU-Angehörige mit gültigem Nutzerkennzeichen, die zu einer AFS-Gruppe gehören. Mehrere AFS-Gruppen durch Leerzeichen trennen = ODER-Verknüpfung. Verschachtelte AFS-Gruppen (Gruppen, deren Mitglieder wieder AFS-Gruppen sind) sind z. Z. nicht möglich.

  • z. B. Require shib-attr afsgroup urz:phil_mitarbeiter – Mitarbeiter der Philosophischen Fakultät
  • z. B. Require shib-attr afsgroup urz:wiwi_studenten urz:wiwi_mitarbeiter – sowohl Studierende als auch Mitarbeiter der Fakultät für Wirtschaftswissenschaften
  • Definierte AFS-Gruppen:
urz:nawi_studenten urz:nawi_mitarbeiter Studierende bzw. Mitarbeiter der Fakultät für Naturwissenschaften
urz:chemie_studenten urz:chemie_mitarbeiter Studierende bzw. Mitarbeiter des Institutes für Chemie
urz:physik_studenten urz:physik_mitarbeiter Studierende bzw. Mitarbeiter des Institutes für Physik
urz:etit_studenten urz:etit_mitarbeiter Studierende bzw. Mitarbeiter der Fakultät für Elektrotechnik und Informationstechnik
urz:hsw_studenten urz:hsw_mitarbeiter Studierende bzw. Mitarbeiter der Fakultät für Human- und Sozialwissenschaften
urz:informatik_studenten urz:informatik_mitarbeiter Studierende bzw. Mitarbeiter der Fakultät für Informatik
urz:maschinenbau_studenten urz:maschinenbau_mitarbeiter Studierende bzw. Mitarbeiter der Fakultät für Maschinenbau
urz:mathematik_studenten urz:mathematik_mitarbeiter Studierende bzw. Mitarbeiter der Fakultät für Mathematik
urz:phil_studenten urz:phil_mitarbeiter Studierende bzw. Mitarbeiter der Philosophischen Fakultät
urz:wiwi_studenten urz:wiwi_mitarbeiter Studierende bzw. Mitarbeiter der Fakultät für Wirtschaftswissenschaften
urz:dezernate_mitarbeiter Mitarbeiter der Zentralen Universitätsverwaltung
urz:ub_mitarbeiter Mitarbeiter der Universitätsbibliothek
urz:mitarbeiter Mitarbeiter des Universitätsrechenzentrums

Reguläre Ausdrücke (wie in Perl) sind möglich:

  • z. B. alle, die in der TU Chemnitz ein gültiges Login haben: Require shib-attr affiliation ~ ^.+@tu-chemnitz\.de$
  • z. B. alle, die irgendwo in .de Studenten sind: Require shib-attr affiliation ~ ^Student@.+\.de$

Mit mehreren Require -Angaben sind Kombinationen möglich:

  • ShibRequireAll on bestimmt, dass alle "Require" erfüllt sein müssen (UND-Verknüpfung), Standard ist die ODER-Verknüpfung, d. h. eine Bedingung muss erfüllt sein.
Beispiel: Verzeichnis dir22 soll nur für Mitarbeiter der TU Chemnitz einsehbar sein, welche im URZ arbeiten. So sieht das .htaccess aus:
AuthType shibboleth
ShibRequireSession On
<RequireAll>
Require shib-attr affiliation Mitarbeiter@tu-chemnitz.de
Require shib-attr orgUnitNumber ~ 134[0-9]{3}
</RequireAll>
Ergebnis: .../dir22/

Eigene Autorisierung

Wenn man die Nutzer-Authentisierung über das Web-Trust-Center abwickeln, den Zugang aber selbst regeln möchte (z.B. bei Webanwendungen, die Berechtigungen in einer Datenbank speichern, oder wenn die oben aufgeführten Autorisierungsmechanismen nicht ausreichen), kann man die Autorisierung auch selbst programmieren. .htaccess -Datei:

   AuthType shibboleth
   ShibRequireSession Off
   Require shibboleth

Dazu muss man eine Login-Seite erstellen, die die Autorisierung vornimmt. Diese wird angesprochen via <a href="/Shibboleth.sso/Login?target=https://www.tu-chemnitz.de/pfad/zur/loginseite.html"> ...

Ein Beispiel erläutert dies: .../dir24/index.html darf von allen angesehen werden. Bei Klick auf Login muss man sich via Web-Trust-Center authentisieren, den Zugang regelt dann das PHP-Skript - So wird's programmiert.

Attribute

Nach erfolgreicher Athentifizierung beim Web-Trust-Center und "bestandener" Autorisierung stellt das WTC dem WWW-Server einige Attribute der angemeldeten Person zur Verfügung. Diese Attribute sind Umgebungsvariablen, die der Web-Autor benutzen kann, z.B. in CGI-Programmen oder PHP-Skripts:

Attribut Umgebungsvariable .htaccess hinter Require Beispiel
Nutzerkennzeichen REMOTE_USER user alf
bei externem Identity-Provider wird die Domain angehangen: alf@htwm.de
Zugehörigkeit HTTP_SHIB_EP_AFFILIATION affiliation Mitarbeiter@tu-chemnitz.de
Zugehörigkeit (ohne Scope) HTTP_SHIB_EP_UNSCOPEDAFFILIATION unscoped-affiliation Student
Vorname Name HTTP_SHIB_PERSON_COMMONNAME (nicht verfügbar) Alfons Bitmeister
Nachname HTTP_SHIB_PERSON_SURNAME (nicht verfügbar) Bitmeister
Vorname HTTP_SHIB_INETORGPERSON_GIVENNAME (nicht verfügbar) Alfons
Struktureinheit HTTP_SHIB_ORGPERSON_ORGUNIT (nicht verfügbar) Zentrale Einrichtungen der Universität
mehrere durch ; getrennt
Hierarchie durch | getrennt
Strukturnummer HTTP_SHIB_ORGPERSON_ORGUNITNUMBER orgUnitNumber 024400
mehrere durch ; getrennt
E-Mail-Adresse HTTP_SHIB_ORGPERSON_EMAILADDRESS (nicht verfügbar) alf.bitmeister@hrz.tu-chemnitz.de
Beispiel: Verzeichnis dir23 soll nur für alle Mitarbeiter und Studenten der TU Chemnitz einsehbar sein. So sieht das .htaccess aus:
AuthType shibboleth
ShibRequireSession On
Require shib-attr affiliation Mitarbeiter@tu-chemnitz.de Student@tu-chemnitz.de
In .../dir23/index.php werden einige Attribute der authentifizierten Person angezeigt - So wird's programmiert.

Wie macht man ...?

  • Nur Benutzer/innen mit Login an der TU Chemnitz (Studierende, Mitarbeiter, Externe):
  AuthType shibboleth
  ShibRequireSession On
  Require shib-attr affiliation ~ ^.+@tu-chemnitz\.de$
  • Externe Abfragen mit Login über Web-Trust-Center, intern ohne:
  AuthType shibboleth
  ShibRequireSession On
  Require shib-attr affiliation ~ ^.+@tu-chemnitz\.de$
  Require host tu-chemnitz.de
  • Zugriff nur von Rechnern in der TU Chemnitz mit Login über Web-Trust-Center, nur Mitarbeiter:
  AuthType shibboleth
  ShibRequireSession On
  <RequireAll>
      Require shib-attr affiliation Mitarbeiter@tu-chemnitz.de
      Require host tu-chemnitz.de
  </RequireAll>
  • Zugriff für Mitarbeiter außer einigen:
  AuthType shibboleth
  ShibRequireSession On
  <RequireAll>
    Require shib-attr affiliation Mitarbeiter@tu-chemnitz.de
    <RequireNone>
        Require user login1 login2
    </RequireNone>
  </RequireAll>

Presseartikel