Einrichten der Windows Authentication im Active Directory auf Windows 2000 Server und MS SQL Server 2005 Express für opus i Die nachfolgende Dokumentation setzt ein Windows 2000 Server Betriebssystem oder höher mit Active Directory und eine Installation des MS SQL Server 2005 (Express) oder höher auf einem Rechner innerhalb der Domäne voraus. Zur vertrauenswürdigen Anmeldung wird der Anmeldename an der Arbeitsplatzmaschine mit vorangestelltem Domainnamen und einem nur dem System bekannten und so genannten Hashcode an das Active Directory gesendet. Ist die Kombination Name/Hashcode im Active Directory hinterlegt, so wird er als vertrauenswürdige Person in der Domäne eingestuft. Bei entsprechender Konfiguration des SQL Servers hat dieser Benutzer Zugriff auf die ihm zugewiesene Datenbank. Zwei Arbeitsvorgänge sind dazu nötig: 1. Anlegen einer Benutzergruppe im Active Directory. In unserem Beispiel wird dies die Gruppe SQL-ZUGRIFF sein 2. Einbinden der Gruppe SQL-ZUGRIFF in das Login des SQL Servers 1. Anlegen einer Benutzergruppe im Active Directory Öffnen sie über Start\Programme\Verwaltung\ das Programm Active Directory - Benutzer und -Gruppen Erstellen sie eine neue Gruppe mit Namen SQL-ZUGRIFF mit Rechtsklick auf User und Auswahl von Neu\Gruppe\ (Bild 1) Bild 1: Erstellen einer neuen Gruppe
In das Eingabefeld Gruppennamen geben Sie SQL-ZUGRIFF ein. Weitere Einstellungen bzw. Änderungen sind nicht nötig (Bild 2) Bild 2: Gruppe erstellen Mit Betätigung der Taste [OK] wird das Fenster geschlossen und die Gruppe im Ordner User erstellt. Ein Rechtsklick auf die neu erstellte Gruppe SQL-ZUGRIFF und Auswahl von Eigenschaften öffnet das Fenster Eigenschaften von SQL-ZUGRIFF (Bild 3) Bild 3: Gruppenmitglieder
Mit Klick auf die Registerkarte Mitglieder und auf den Knopf Hinzufügen können Sie nun die Benutzer zu der Gruppe hinzufügen die Zugriff auf den SQL Server erhalten sollen. Im Bild 3 ist dies bereits mit dem Benutzer Testus Benutzer aus dem Ordner User der Domain domain.lokal geschehen. Mit Klick auf [OK] wird das Fenster geschlossen und die Benutzer sind der Gruppe hinzugefügt. Zur Überprüfung der Gruppenzugehörigkeit öffnen sie mit Rechtsklick auf den Benutzernamen und Auswahl von Eigenschaften das Fenster Eigenschaften von <Benutzernamen>. Auf der Registerkarte Mitglied von sollte die neu erstellte Gruppe SQL-ZUGRIFF aufgelistet sein (Bild 4) Bild 4: Gruppenzugehörigkeit Nun kann mit Klick auf die Taste [OK] dieser Arbeitsgang abgeschlossen werden.
2. Einbinden der Gruppe in das Login des SQL Servers Öffnen Sie nun das Programm SQL Server Management Studio Express und stellen Sie eine Verbindung zu dem SQL Server mit der opus i-datenbank als Benutzer mit Administrationsrechten her. Wie in Bild 5 sichtbar erweitern Sie den Baum Security mit Klick auf das [+] links daneben. Rechtsklick auf Login und mit Auswahl von New Login öffnen sie das Fenster Login - New (Bild 6) Bild 5: Login New öffnen Bild 6: Neuer Login erstellen Im Fenster links im Bereich Select a page wählen Sie, wenn nicht schon geschehen, General aus. In der Eingabezeile Login name geben sie die vorher erstellte Gruppe in der Form <IhreDomaine>\<Gruppenname> ein. Im Beispiel ist dies die Gruppe domain\sql-zugriff. Hier ist die Domain domain.local mit ihrem NetBIOS- Name domain angegeben. Des Weiteren wählen Sie Windows authentication aus. Anschließend klicken sie im linken Bereich des Fensters Select a page auf User Mapping. In diesem Fenster wird der Gruppe die Datenbank zugewiesen und die nötigen Zugriffsrechte vergeben. (Bild 7) Im rechten Teil des Fensters im Bereich Users mapped to this login verbinden Sie die Opus i Datenbank, im Bild 7 ist dies TestDB, mit der neu erstellten Benutzergruppe domain\sql-zugriff in dem Sie in das kleine Quadrat klicken und dort sogleich ein Häkchen erscheint.
Klicken Sie auf den <Datenbanknamen> um die Zeile zu markieren. Nun können Sie darunter im Bereich Database role membership for <Datenbankname> die Rechte für die mit der Datenbank verbundene Benutzergruppe domain\sql-zugriff vergeben. Das Recht public muss vergeben sein um überhaupt mit der Datenbank arbeiten zu können. Dies wurde bereits vom System durchgeführt. Um Daten zu lesen und zu schreiben sind die Rechte db_datareader und db_datawriter zu vergeben. Im Bild 7 bereits erfolgt. Mit Klick auf [OK] wird auch dieser Arbeitsgang beendet. Nun sollten die Mitglieder der Benutzergruppe SQL-ZUGRIFF in der Domäne <IhreDomäne> mit der Datenbank arbeiten können. Bild 7: Verbinden mit der Datenbank und Vergabe der Rechte
Abschließend der Connect String zur Verbindung der MS SQL Express Datenbank über Windows-Authentication wie im Beispiel SQLServer= SQLConn;TestDB;<Servername>\SQLEXPRESS;;;1069; oder zur MS SQL Datenbank SQLServer=SQLConn;TestDB;<Servername>\<Servername>;;;1069; Die einzelnen Werte, getrennt durch Semikolon, bedeuten: SQLConn = Ein Verbindungsname TestDB = Der Datenbankname <Servername> = Der Computername auf dem der SQL Server läuft ;;; = KEINEN Benutzername und KEIN Kennwort 1069 = Die Portnummer für Zugang Die Kennungen des lokal angemeldeten Benutzers werden an das Active Directory gesendet und dort zwecks Zugriffs geprüft 3. Änderungen direkt an und in opus i Standardmäßig ist der Systemadministrator von opus i auf admin gesetzt und ist nicht änderbar. Da bei Windows-Authentication nicht zu vermuten ist, dass sich der Windows- User mit admin in Windows anmeldet, muss opus i manuell darauf eingestellt werden. Wir gehen in unserem Beispiel davon aus, dass der Systemadministrator von opus i der User Hans Meyer werden soll, der sich mit hmeyer in Windows anmeldet (nicht in opus i). 3.1 Änderung innerhalb der opusi.ini Öffnen Sie die Datei opusi.ini im Installationsverzeichnis von opus i. Ändern Sie die Sektion [DatabaseType] wie folgt: [DatabaseType] Multiuser=No ClientServer=No MySQL=No PostGreSQL=No ORACLE=No SQLServer=Yes SYBASE=No DB2=No INFORMIX=No PROGRESS=No
Ändern Sie die Sektion [DatabaseTypeSQLServer] wie folgt: [DatabaseTypeSQLServer] WindowsAuthentication=Yes opusiadmin=hmeyer Ändern Sie die Sektion [DatabasePath] wie folgt (das ist der Connectstring): [DatabasePath] Multiuser= ClientServer=- MySQL=- PostGreSQL=- ORACLE=- SQLServer=SQLConn;TestDB;<Servername oder IP>\SQLEXPRESS;;;1069; SYBASE=- DB2=- INFORMIX=- PROGRESS=- 3.2 Änderung innerhalb der opus i MS-SQL-Datenbank In der SQL-Datenbank muss jetzt noch der User admin gegen den User hmeyer ausgetauscht werden. Öffnen Sie die Datei DBALLUser über das SQL-Verwaltungsprogramm. Ändern Sie den User 1000000002 (Spalte OID) wie im Bild 8 gezeigt: Bild 8: Änderung des Users admin in hmeyer.
3.3 Erfassung der opus i User im Multiuserbetrieb Auch bei Windows-Authentication müssen in opus i alle zugriffsberechtigten User erfasst werden. Bei der Erfassung dieser User in opus i ist darauf zu achten, dass diese mit ihrem Windows- Anmeldenamen korrekt erfasst werden. Der normalerweise in opus i wahlfrei vergebbare Anmeldename ist unter Windows- Authentication keineswegs mehr wahlfrei, sondern muss exakt so eingetragen werden, wie sich der User in Windows anmeldet. Der User Robert Scherer meldet sich mit rscherer in Windows an. In opus i wäre dieser Zugriffsberechtigte so zu erfassen: Bild 9: Erfassung weiterer User in opus i. Ende der Installationsanleitung.