Identitätsverwaltung

Erstellen eines einstufigen Bereitstellungsworkflows

Aung Oo

 

Kurz zusammengefasst:

  • Verwenden von MIISWorkflow
  • Implementierung und Konfiguration
  • Erweitern von MIISWorkflow

Wenn Sie eine webbasierte Schnittstelle zum Anfordern und Genehmigen von Konten suchen, und wenn Ihre Organisation Microsoft Identity Lifecycle Manager 2007 verwendet (ILM 2007, früher Microsoft Identity Integration Server 2003),

dann stellt die MIISWorkflow-Anwendung möglicherweise eine einfache und effektive Lösung bereit. MIISWorkflow gehört zum MIIS 2003 Resource Tool Kit 2.0 und ist seit Dezember 2004 verfügbar. Obwohl es sich hierbei nicht unbedingt um eine vollständige Lösung für jede Umgebung handelt, ist dies ein guter Ausgangspunkt für das Erstellen einer benutzerdefinierten Anwendung gemäß den Anforderungen Ihrer Organisation.

MIISWorkflow versieht ILM 2007 durch Integration einer Webanwendung mit Bereitstellungsfunktionen auf Grundlage von Genehmigungen. Es handelt sich um ein einstufiges workflowgesteuertes Bereitstellungssystem, das Anforderungen von Benutzern annimmt und sie an Genehmiger (in der Regel Manager) weiterleitet, die über ausreichende Befugnisse verfügen, um Entscheidungen über die Anforderungen zu treffen. Je nach Entscheidung des Genehmigers stellt ILM unter Anwendung der in ILM definierten Geschäftsregeln Benutzerkonten in verbundenen Verzeichnissen bereit.

Diese Anwendung ermöglicht nur einen einstufigen Workflow. Sie kann keine komplexen Workflowfunktionen wie einen mehrstufigen Genehmigungsprozess mit parallelen Pfaden oder einen Workflowprozess mit grafischer Benutzeroberfläche erstellen. Wenn Ihre Organisation keine solchen komplexen Workflowfunktionen benötigt, können Sie das vom MIIS Resource Tool Kit bereitgestellte MIISWorkflow-Beispiel zum Implementieren einer Lösung verwenden.

Dieser Artikel konzentriert sich auf die Personalabteilung eines fiktiven Unternehmens. Im Allgemeinen sind Personalverwaltungssysteme die autorisierende Quelle für alle Mitarbeiterinformationen innerhalb einer Organisation. Diese Systeme haben zwar gewöhnlich genaue Daten über ständige Mitarbeiter zur Verfügung, doch es fehlen oft Information über Zeitarbeitskräfte, z. B. Auftragnehmer und Studenten im Praktikum. Die Daten in einem Personalverwaltungssystem verfolgen möglicherweise nicht, auf welche Systeme einschließlich der Benutzerkontoinformationen Benutzer zugreifen können. Nachfolgend erfahren Sie, wie sich ein einfaches Verfolgungssystem für Zeitarbeitskräfte innerhalb einer Organisation erstellen lässt.

Aufbauen auf MIISWorkflow

Ein Beispiel dafür, wie Organisationen MIISWorkflow nutzen können, besteht in der Erstellung einer Anwendung, die in Verbindung mit vorhandenen Personalverwaltungssystemen funktioniert. Bei Einstellung eines neuen Mitarbeiters werden die Benutzerinformationen dem Personalverwaltungssystem hinzugefügt. Sie können ILM-Abläufe entwerfen, die die Informationen an die MIISWorkflow-Datenbank senden und dann die Workflowanwendung verwenden, um Benutzerinformationen zu Genehmigern weiterzuleiten, bevor ILM das Konto in verbundenen Verzeichnissen bereitstellt.

Wenn Ihre Organisation zur Verfolgung von Zeitarbeitskräften keine Personalverwaltungssysteme verwendet, kann die MIISWorkflow-Anwendung als autorisierende Datenquelle eingesetzt werden, um deren Konten in Unternehmensverzeichnissen zu verwalten. Da die Workflowanwendung die papiergebundene Verwaltungsarbeit bei der Einholung von Genehmigungen verringert, brauchen Benutzer nicht tagelang zu warten, um auf Konten in Verzeichnissen und Anwendungen zuzugreifen. Darüber hinaus können Sie über MIISWorkflow eine unmittelbare Zugriffssperre einrichten, was die Sicherheit in der Organisation erhöht.

MIISWorkflow kann auch als Überwachungstool verwendet werden, um die Anzahl der Systeme nachzuverfolgen, auf die ein Benutzer zugreifen kann, die Kalenderdaten der Anforderung und Schließung von Konten sowie die jeweiligen Anforderer und Genehmiger. Die Möglichkeit, Berichte mit ausführlichem Kontoverlauf zu generieren, kann es einer Organisation erleichtern, gesetzliche Bestimmungen wie Sarbanes-Oxley und HIPAA einzuhalten.

Die MIISWorkflow-Anwendung wird auf IIS ausgeführt und verwendet Verzeichnisintegrations- und Bereitstellungsfeatures von ILM 2007, um Konten in verbundenen Verzeichnissen bereitzustellen bzw. die Bereitstellung aufzuheben. Zu den Komponenten der Workflowanwendung gehören eine Sammlung von ASP.NET-Webseiten, eine SQL Server™-Datenbank, ein Verwaltungsagent und ein Autorisierungsrichtlinienspeicher (siehe Abbildung 1). Die Anwendung verwendet SQL Server zur Datenspeicherung, Active Directory® zur Authentifizierung und einen Richtlinienspeicher mit Windows® Authorization Manager (bekannt als AzMan) zur Autorisierung.

Abbildung 1 Anwendungsarchitektur von MIISWorkflow

Abbildung 1** Anwendungsarchitektur von MIISWorkflow **(Klicken Sie zum Vergrößern auf das Bild)

Die Anwendung kann mithilfe von C# und ASP.NET erweitert und angepasst werden. MIISWorkflow besteht aus folgenden fünf .aspx-Seiten: Auftragnehmergenehmigung (ContractorApproval), Auftragnehmerverlauf (ContractorHistory), Auftragnehmeranforderung (ContractorRequest), Auftragnehmerstatus (ContractorStatus) und Auftragnehmeraktualisierung (ContractorUpdate). Diese Seiten ermöglichen es Administratoren, den Status jedes Benutzerkontos im System anzufordern, zu aktualisieren, zu genehmigen und nachzuverfolgen. Beachten Sie, dass die MIISWorkflow-Anwendung standardmäßig so eingestellt ist, dass sie die integrierte Windows-Authentifizierung in IIS verwendet, um Kerberos zu nutzen.

Die Workflowanwendung löst aufgrund der Aktion des Genehmigers ILM aus, und ILM stellt in verbundenen Verzeichnissen mithilfe festgelegter Regeln Benutzerkonten bereit oder hebt die Bereitstellung auf. Unmittelbar nachdem auf die Anforderung hin eine Aktion erfolgt ist, löst die Anwendung ILM aus. Anforderungen müssen dann nicht bis zur nächsten ILM-Synchronisierung warten, damit das Bereitstellen bzw. Aufheben der Bereitstellung in verbundenen Verzeichnissen stattfinden kann.

Für die Workflowanwendung ist es erforderlich, dass die MIISWorkflow-Datenbank die Kontoinformationen der Benutzer speichert. Die Speicherung erfolgt außerhalb der Datenbank, in der ILM die Metaverseinformationen speichert, sie wird aber auf der gleichen SQL Server-Instanz konfiguriert. Wenn autorisierte Benutzer über die Workflowanwendung ein Konto anfordern, werden die Informationen durch MIISWorkflow gespeichert. Die Informationen werden dann durch eine ASP.NET-Webseite gerendert, wenn ein Genehmiger auf die Seite zugreift. MIISWorkflow speichert auch Verläufe von Aktionen und andere Informationen über das Konto in der Datenbank. ILM importiert mithilfe eines SQL Server-Verwaltungsagents, der in die Anwendung integriert ist, die Informationen aus der MIISWorkflow-Datenbank und stellt je nach Bedarf das Konto bereit oder hebt die Bereitstellung auf.

MIISWorkflow verwendet AzMan zur Autorisierung. Hierdurch wird eine rollenbasierte Zugriffssteuerung (role-based access control, RBAC) zur Verwaltung von Aufgaben bereitgestellt, zu deren Durchführung die Benutzer in der Anwendung je nach den ihnen zugewiesenen Rollen berechtigt sind. (Weitere Informationen zu RBAC finden Sie unter go.microsoft.com/fwlink/?LinkId=85825.) Nach Authentifizierung eines Benutzers in Active Directory wird der Zugriff erlaubt, und die Workflowanwendung prüft die im AzMan-Autorisierungsspeicher definierten Rollen, um die Vorgänge zu autorisieren, die ein Benutzer durchführen darf. Es gibt zwei für die Anwendung vordefinierte Rollen: Auftragnehmeranforderer und Auftragnehmergenehmiger. Benutzer oder Gruppen mit der Rolle des Auftragnehmeranforderers können über die Anwendung lediglich eine Anforderung eingeben. Benutzer oder Gruppen mit der Rolle des Auftragnehmergenehmigers haben die Möglichkeit, Anforderungen zu erstellen, zu genehmigen oder zu verweigern.

Die MIISWorkflow-Anwendungsautorisierungsrichtlinie ist in einer XML-Datei gespeichert. Sowohl Windows-Benutzer als auch Gruppen oder Anwendungsgruppen können definierten Rollen zugewiesen werden. Anwendungsgruppen ermöglichen eine LDAP-Abfrage, um anhand des Attributwerts nach der Laufzeit des Active Directory-Kontoobjekts oder des Active Directory Application Mode (ADAM)-Kontoobjekts eines Benutzers zu suchen. Der Benutzer befindet sich in derjenigen Gruppe, bei der zum Beispiel (department=‘marketing’) als wahr angegeben wird.

Exemplarische Vorgehensweise für die Anwendung

Anwendungsadministratoren steuern den Zugriff auf die Anwendung mithilfe von AzMan. Je nachdem, wie die Anwendung in Ihrer Organisation verwendet wird, können Sie die Rolle des Auftragnehmeranforderers allen Domänenbenutzern oder nur ausgewählten Gruppen gewähren. Die Rolle des Auftragnehmergenehmigers darf nur Benutzern und Gruppen gewährt werden, die befugt sind, Anforderungen zu genehmigen oder zu verweigern. Normalerweise verfügen ausgewählte Personaladministratoren sowie System- und Gruppenadministratoren über diese Rolle. Standardmäßig verwendet die MIISWorkflow-Anwendung die IIS Integrierte Windows-Authentifizierung als Authentifizierungsmethode. Deshalb authentifiziert die Anwendung Benutzer durch ihre Windows-Desktopanmeldeinformationen. Der Benutzer wird demzufolge nicht erneut nach Anmeldeinformationen gefragt, um die Authentifizierung mit der Anwendung vorzunehmen.

Ein Benutzer in der Rolle des Auftragnehmeranforderers kann über den Browser zur Auftragnehmeranforderungsseite in der Anwendung wechseln und Informationen über den Auftragnehmer angeben, um für diesen Auftragnehmer ein Konto anzufordern. Abbildung 2 zeigt die Auftragnehmeranforderungsseite.

Abbildung 2 Neue Auftragnehmeranforderungsseite

Abbildung 2** Neue Auftragnehmeranforderungsseite **(Klicken Sie zum Vergrößern auf das Bild)

Die Person in der Anfordererrolle fügt die entsprechenden Auftragnehmerinformationen hinzu und reicht die Anforderung ein. Es gibt einen Link zum Genehmigen von Anforderungen und einen Link zur Überprüfung des Status auf der Seite. Anforderer können allerdings nicht auf die Genehmigerseite zugreifen, wenn sie nicht auch die Rolle des Auftragnehmergenehmigers besitzen. Ein Anforderer kann auf den Auftragnehmerstatuslink klicken, um seine eigenen Anforderungen anzuzeigen, aber er kann nicht den Status von Anforderungen anzeigen, die von anderen eingereicht wurden.

Nur ein Auftragnehmergenehmiger hat Zugriff auf die Auftragnehmergenehmigungsseite in der Anwendung, auf der er nach Überprüfung der Informationen die Anforderung genehmigen oder verweigern kann. Abbildung 3 zeigt die Schnittstelle der Auftragnehmergenehmigungs-Webseite.

Abbildung 3 Auftragnehmergenehmigungsseite

Abbildung 3** Auftragnehmergenehmigungsseite **(Klicken Sie zum Vergrößern auf das Bild)

Ein Auftragnehmergenehmiger kann die von allen Anforderern eingereichten Anforderungen sehen. Ein beliebiger Auftragnehmergenehmiger kann die Anforderung genehmigen, und es bedarf nur einer Genehmigung oder Ablehnung, um die Anforderung zum nächsten Bearbeitungsschritt weiterzuleiten. Die Anforderung wird von der Auftragnehmergenehmigungsseite entfernt, sobald der Genehmiger die entsprechende Aktion vorgenommen hat. So werden überflüssige Aktionen von Genehmigern minimiert.

Um neue Anforderungen zu überprüfen und auf ausstehende Anforderungen gemäß den Unternehmensanforderungen zu reagieren, muss ein Genehmiger regelmäßig auf die Auftragnehmergenehmigungsseite zugreifen, da es keinen Benachrichtigungsmechanismus in der Anwendung gibt, der den Genehmiger über neue Anforderungen oder einen Rückstand informiert. Sobald der Genehmiger die Anforderung von der Seite aus genehmigt oder verweigert hat, löst die Anwendung ILM aus, und es werden gemäß der Aktion des Genehmigers Konten in verbundenen Verzeichnissen bereitgestellt bzw. die Bereitstellung aufgehoben.

Abbildung 4 Auftragnehmerstatusseite

Abbildung 4** Auftragnehmerstatusseite **(Klicken Sie zum Vergrößern auf das Bild)

Der Status ausstehender Anforderungen und Datensätze abgeschlossener Anforderungen können von der Auftragnehmerstatusseite aus (siehe Abbildung 4) nachverfolgt werden. Ein Anforderer kann von dieser Seite aus mehrere Aktionen vornehmen. Es können eigene Anforderungen angezeigt werden, einschließlich Informationen wie Mitarbeiter-ID, Vorname, Nachname, Abteilung, Status und Datum der letzten Änderung. Weiterhin können vorhandene Informationen bearbeitet, der Verlauf angezeigt und das Konto eines Auftragnehmers geschlossen werden. Vor- und Nachnamen sowie Abteilungsinformationen können geändert und die Informationen zur Genehmigung erneut eingereicht werden. Schließlich ist es möglich, von der Auftragnehmerverlaufsseite unter Angabe von Datum und Uhrzeit ein Protokoll aller Aktionen anzuzeigen, die auf die Anforderung hin vorgenommenen wurden (siehe Abbildung 5).

Abbildung 5 Auftragnehmerverlaufsseite

Abbildung 5** Auftragnehmerverlaufsseite **(Klicken Sie zum Vergrößern auf das Bild)

Die MIISWorkflow-Anwendung ermöglicht ein nahtloses Schließen von Konten, da ein Anforderer die Möglichkeit hat, Auftragnehmerkonten von der Auftragnehmerstatusseite aus zu schließen. Der Anforderer kann auf den Link zum Schließen eines Kontos klicken, um Auftragnehmerkonten in verbundenen Verzeichnissen sofort zu deaktivieren oder zu löschen. Der Vorteil dieser Möglichkeit, Auftragnehmerkonten von der Workflowanwendung aus zu schließen, besteht darin, dass Systemadministratoren das Auftragnehmerkonto nicht in jedem Verzeichnis suchen und die Konten manuell löschen müssen. Da die MIISWorkflow-Anwendung ILM sofort veranlasst, die Bereitstellung von Konten in verbundenen Verzeichnissen aufzuheben, gibt es beim Löschen dieser Konten keine Verzögerungszeit.

Konfigurieren der Anwendung

Zum Konfigurieren der MIISWorkflow-Anwendung gehört das Einrichten eines Dienstkontos, das Einrichten der Datenbank für die Anwendung, das Konfigurieren von ILM für die Zusammenarbeit mit der Workflowanwendung, das Konfigurieren von IIS und das Konfigurieren des Richtlinienspeichers. Die Anwendung enthält vorgefertigte Skripts und Konfigurationsdateien, um diesen Prozess zu vereinfachen.

Zur MIISWorkflow-Anwendung gibt es eine T-SQL-Abfragedatei, um das Erstellen einer MIISWorkflow-Datenbank zu erleichtern. Sie können die Abfragedatei in Query Analyzer laden und die Abfrage automatisch ausführen, um die Datenbank zu erstellen.

Zum Konfigurieren von IIS gehören das Erstellen eines neuen IIS-Anwendungspools und eines virtuellen Verzeichnisses sowie das Einstellen von Authentifizierung und Zugriffsteuerung zum Hosten von ASP.NET-Seiten. In die Anwendung ist ebenfalls eine XML-Datei mit vordefinierten Rollen integriert, um den Autorisierungsrichtlinienspeicher zu konfigurieren. Sie können vorhandenen Rollen mithilfe der AzMan-MMC Benutzer und Gruppen zuweisen sowie neue Rollen erstellen.

Der letzte Schritt ist die Konfiguration des Verwaltungsagents in ILM, um Daten aus der MIIS­Workflowdatenbank in ILM zu importieren. Dies wird durch Importieren der in der XML-Datei enthaltenen Konfiguration des Verwaltungsagents und Kopieren einer vorgefertigten Erweiterungsdatei für den SQL Server-Verwaltungsagent erzielt. Die XML-Datei und die Erweiterungsdatei für den Verwaltungsagent werden mit der Anwendung bereitgestellt. Dazu gibt es eine Infodatei mit ausführlichen Anweisungen, wie jeder dieser Schritte zu konfigurieren ist.

Erweitern der Anwendung

Die MIISWorkflow-Anwendung bietet einen Ausgangspunkt zum Entwickeln einer einfachen Workflowintegration mit MIIS. Wenn Sie die Anwendung erweitern wollen, müssen Sie möglicherweise ein paar Anpassungen vornehmen. Neben einfachen Änderungen wie Änderungen an den Webseiten gibt es noch viele andere Möglichkeiten, diese Anwendung zu erweitern.

So könnten Sie ein Benachrichtigungsfeature hinzufügen, damit ein Genehmiger eine E-Mail-Nachricht empfängt, wenn eine ausstehende Anforderung vorliegt. Dieses Feature könnte dem Genehmiger auch innerhalb einer vorgegebenen Anzahl von Tagen eine Erinnerungsnachricht senden, wenn auf die Anforderung hin keine Aktion erfolgt ist. Wenn Sie mehr Informationen über Benutzer benötigen, als die Standardseite bereitstellt, können Sie sowohl der Auftragnehmeranforderungsseite als auch der Auftragnehmeraktualisierungsseite Felder hinzufügen. Sie können der Anwendung weitere Rollen hinzufügen, z. B. eine Prüferrolle, die es einem Benutzer ermöglicht, den Verlauf jeder Anforderung anzuzeigen, nicht nur der selbst eingereichten.

Komplexere Workflowfeatures wie ein mehrstufiger Workflow oder die Möglichkeit, mithilfe des grafischen Designers einen Workflow zu entwerfen, sind im Rahmen dieser Anwendung nicht möglich. Sie können jedoch Windows Workflow Foundation verwenden, um eine stabilere Anwendung mit komplexen Workflowfeatures zu entwickeln.

Das MIIS Ressource Tool Kit finden Sie unter go.microsoft.com/fwlink/?Link­Id=85829. Laden Sie es noch heute herunter, und beginnen Sie mit der Erstellung Ihrer eigenen Identitätsworkflowlösungen.

Aung Oo ist Fachgebietexperte für Identitätsverwaltung bei Microsoft Consulting Services (MCS). Seit der ersten Version von Microsoft Identity Management beschäftigt sich Aung mit Entwurf, Entwicklung und Bereitstellung von Unternehmensverzeichnis- und Identitätsverwaltungslösungen für gewerbliche Kunden und Behörden.

© 2008 Microsoft Corporation und CMP Media, LLC. Alle Rechte vorbehalten. Die nicht genehmigte teilweise oder vollständige Vervielfältigung ist nicht zulässig.