Kontrollierter Zugang zu WWW-Dokumenten über das Web-Trust-Center
Zur Steuerung des Zugriffs auf WWW-Dokumente bietet das Web-Trust-Center der TU Chemnitz neue Möglichkeiten, die hier für WWW-Autoren beschrieben werden.
WWW-Autoren möchten im Allgemeinen, dass ihre Dokumente auch gelesen werden.
Deswegen lautet die Standard-Zugriffsregel:
"WWW-Dokumente sind von überall und durch jedermann lesbar".
Nun gibt es aber auch Inhalte, die nur einer bestimmten Leserschaft zugänglich
sein sollen.
Dazu muss sich ein Leser
authentisieren (Nachweis der Identität, momentan häufig durch
Abfrage einer Kennung und des dazugehörigen Passwortes).
Der WWW-Server prüft die Eingaben (
Authentifizierung).
Nach der Feststellung der Identität legt der WWW-Server die Rechte dieses Benutzers nach Ihren Vorgaben
fest (
Autorisierung): Zugriff erlauben oder abweisen.
Dieses Vorgehen kann ein WWW-Autor bestimmen.
Dazu schreibt er Anweisungen in eine Datei
.htaccess.
Diese Anweisungen gelten üblicherweise für alle Dateien in diesem Verzeichnis und allen Unterverzeichnissen.
Mit der Einrichtung des
Web-Trust-Centers
auf der Basis von Shibboleth
haben Sie als WWW-Autor neue Möglichkeiten, die im folgenden beschrieben werden.
Zugriffssteuerung mit Abfrage von Kennung und Passwort über das Web-Trust-Center
Dazu 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
Autorisierung
user - einzelne Benutzer, durch Leerzeichen getrennt
- Loginkennzeichen für Angehörige der TU Chemnitz
- Loginkennzeichen@Domain für externe Identitäten
- Die Angabe
Reqire valid-user ist auch gültig. Hier ist aber zu beachten, dass damit alle vom Trust-Center authentifizierten Benutzer zugelassen werden, auch Benutzer anderer Identity-Provider (z.B. anderer Hochschulen).
alias - Formulierung von Gruppen an Hand von Eigenschaften
-
affiliation - Zugehörigkeit mit @Domain: Mitarbeiter@..., Student@..., Extern@...
- z.B.
require affiliation Mitarbeiter@tu-chemnitz.de
-
unscoped-affiliation - Zugehörigkeit ohne @Domain: Mitarbeiter, Student, Extern
- z.B.
require unscoped-affiliation Student
-
orgUnitNumber - Strukturnummer
- z.B.
require orgUnitNumber 024200
-
afsgroup - Zugehörigkeit zu einer AFS-Gruppe
- z.B.
require afsgroup urz:phil_mitarbeiter - Mitarbeiter der Phil. Fak.
- Reguläre Ausdrücke (wie in Perl) sind möglich:
- z.B.
require affiliation ~ ^Student@.+\.de$
Mit mehreren
Require -Angaben sind Kombinationen möglich:
-
ShibRequireAll on bestimmt, dass alle "requires" erfüllt sein müssen (UND-Verknüpfung)
-
ShibRequireAll off das Zutreffen mindestens eines "require"-Statements erlaubt den Zugriff (ODER-Verknüpfung)
 |
Beispiel:
Ein Verzeichnis soll nur für Mitarbeiter der TU Chemnitz einsehbar sein, welche im URZ arbeiten.
So sieht das .htaccess aus:
AuthType shibboleth
ShibRequireSession On
ShibRequireAll on
require affiliation Mitarbeiter@tu-chemnitz.de
require orgUnitNumber ~ 024[0-9]{3}
|
Attribute
Nach erfolgreicher Authentifizierung 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 Sie als WWW-Autor benutzen können, z.B. in CGI-Programmen oder PHP-Skripts:
| Attribut | Umgebungsvariable | .htaccess Alias | Beispiel |
| Loginkennzeichen | 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 |
| Nutzer-Name | HTTP_SHIB_PERSON_COMMONNAME | (nicht verfügbar) | Alfons Bitmeister |
| Nachname | HTTP_SHIB_PERSON_SURNAME | (nicht verfügbar) | Bitmeister |
| Vorname | HTTP_SHIB_INETPERSON_GIVENNAME | (nicht verfügbar) | Alfons |
| Struktureinheit | HTTP_SHIB_ORGPERSON_ORGUNIT | (nicht verfügbar) | Zentrale Einrichtungen der Universität |
| Strukturnummer | HTTP_SHIB_ORGPERSON_ORGUNITNUMBER | orgUnitNumber | 024400 |
| Email-Adresse | HTTP_SHIB_ORGPERSON_EMAILADDRESS | (nicht verfügbar) | alf.bitmeister@hrz.tu-chemnitz.de |
In einem PHP-Skript können Sie auf diese Umgebungsvariablen so zugreifen:
 |
<?php $name = $_SERVER['HTTP_SHIB_PERSON_COMMONNAME'];
echo 'Hallo ' . htmlspecialchars($name);
?>
|
Neben dieser empfohlenen Variante der Zugriffssteuerung stehen Ihnen auch noch
einige andere Methoden zur Verfügung.
Sie können die Kennung(en) und Passwort(e) frei einstellen und den entprechenden
Lesern übermitteln.
Die Methode der Autorisierung anhand des Rechners (DNS-Namen, IP-Adresse) ist aus mehreren Gründen nicht empfehlenswert:
- Die Prüfung von Domain-Namen beruht auf dem Domain Name System und ist nicht 100% sicher.
- Mglw. können auch Personen Zugang zu einem Rechner bekommen, die die Dokumente nicht lesen sollen (z.B. externe Bibliotheksnutzer, die an Rechnern der UB arbeiten).
- Umgekehrt können Berechtigte an externen Rechnern im Internet arbeiten, die man ausschließt (z.B. TU-Angehörige zu Hause oder unterwegs).
Bisher eingesetzte Verfahren, bei der das URZ-Loginkennzeichen und Passwort über andere Mechanismen ausgewertet wurden (
AuthUserFile usw.), stehen nur noch für eine Übergangszeit zur Verfügung.
Weitere Hinweise, auch zum Dateischutz, finden Sie unter
https://www.tu-chemnitz.de/urz/www/auth/