Konzept Sicherheit
Diese Seite ist ein Teil der IsyFact-Standards. Alle Inhalte der Seite, insbesondere Texte und Grafiken, sind urheberrechtlich geschützt. Alle urheberrechtlichen Nutzungs- und Verwertungsrechte liegen beim Bundesverwaltungsamt.
Die Nutzung ist unter den Lizenzbedingungen der Creative Commons Namensnennung 4.0 International gestattet.
Java Bibliothek / IT-System
Name | Art | Version |
---|---|---|
|
Bibliothek |
v3.3.x |
|
Bibliothek |
v3.3.x |
1. Einleitung
Sicherheit ist ein zentrales Thema einer jeder Geschäftsanwendung. Bei der Umsetzung von Geschäftsanwendungen in IT-Systeme werden ein Gutteil der Anforderungen an die Sicherheit durch Maßnahmen der IT-Sicherheit abgedeckt. Die IsyFact richtet sich beim Thema Sicherheit nach behördlichen Standards sowie De-Facto-Standards aus der Industrie:
Dieses Dokument konzentriert sich auf die konzeptionellen Aspekte der Authentifizierung und Autorisierung. Es sorgt dafür, dass Authentifizierung und Autorisierung in allen IT-Systemen gleichartig umgesetzt wird und grundlegende Anforderungen an die IT-Sicherheit eingehalten werden. Es richtet sich vor allem an Software-Architekten, die eine Geschäftsanwendung gemäß den Vorgaben der IsyFact absichern müssen und beschreibt, wie und in welchen Teilen eines IT-Systems die Authentifizierung und Autorisierung stattfindet.
Dazu erläutert das Kapitel Prinzipien der Sicherheitsarchitektur zunächst, wie sich die Sicherheitsarchitektur auf Ebene der Systemlandschaft und auf Ebene eines einzelnen IT-Systems darstellt.
Danach beleuchtet das Kapitel Sicherheitsarchitektur eines IT Systems die Einbettung des Bausteins Sicherheit in ein konkretes IT-System. Zentrale Schnittstellen beschreibt das Kapitel Aussensicht der Komponente Sicherheit.
Das Kapitel Rollen und Rechte beschreibt dann, wie Rollen und Rechte für eine neue Geschäftsanwendung spezifiziert werden.
2. Prinzipien der Sicherheitsarchitektur
Die IsyFact-Referenzarchitektur beinhaltet auf der technischen Ebene Vorgaben für die Sicherheitsarchitektur und für die Prinzipien, nach denen sie aufgebaut ist.
Die konkrete Sicherheitsarchitektur einer Systemlandschaft muss nach folgenden Prinzipien gestaltet sein:
-
IsyFact-konforme IT-Systeme sind gegen nicht autorisierte Nutzung zu schützen.
-
Die Authentifizierung und grobgranulare Autorisierung erfolgt an den Außenschnittstellen der Systemlandschaft (Portal, Service-Gateway).
-
Liegt kein Aufruf über eine Außenschnittstelle vor (z.B. bei einem Batch-Aufruf), so geschieht die Authentifizierung und grobgranulare Autorisierung innerhalb der Nutzungsschicht (Batch) des konkreten IT-Systems.
-
Die feingranulare Autorisierung geschieht in der Nutzungsschicht und im Anwendungskern der IT-Systeme über den IsyFact-Baustein Sicherheit.
Existiert keine Systemlandschaft (d.h. IT-Systeme stehen für sich allein), gilt grundsätzlich, dass die Authentifizierung und grobgranulare Autorisierung in der Nutzungsschicht (GUI, Service oder Batch) des IT-Systems geschehen muss.
Darüber hinaus finden Authentifizierung und Autorisierung nach den Vorgaben des Berechtigungskonzepts statt. Dieses Dokument beschreibt wesentliche Aspekte der Sicherheitsarchitektur für eine konkrete Anwendungslandschaft. Da das Berechtigungskonzept individuell für jede Anwendungslandschaft erstellt wird und sich im einzelnen stark von Inhalt und Umfang her unterscheidet, ist es kein Bestandteil des Bausteins Sicherheit oder der IsyFact.
2.1. Authentifizierung
In der Regel erfolgt die Authentifizierung von Anwendern über eine zentrale Komponente der Systemlandschaft, in welche das IT-System eingebettet ist. Die Authentifizierung darf auch lokal, d.h. vom IT-System selbst, durchgeführt werden, falls es beispielsweise nicht in eine Systemlandschaft eingebettet ist.
Für die zentrale Authentifizierung wird üblicherweise ein IAM-System verwendet.
IAM steht für Identity and Access Management. |
Das IAM-System verwaltet Anwender und ihre Rollen.
Die Authentifizierung und grobgranulare Autorisierung erfolgt, gemäß der siehe Prinzipien der Sicherheitsarchitektur, an den Außenschnittstellen der Systemlandschaft. Hierbei wird eine Session aufgebaut und das IAM-System ermittelt nach erfolgreicher Authentifizierung die Rollen des Anwenders. Die Rollen allein sind jedoch noch nicht ausreichend, um Anwender vollständig zu autorisieren.
2.2. Autorisierung
Die Autorisierung geschieht in jedem Fall im jeweiligen IT-System. Nach der erfolgreichen Authentifizierung eines Anwenders leitet das IAM-System die Anfrage an das IT-System weiter. Hier wird die Anfrage – je nach Schutzbedarf und Funktionalität – autorisiert. Dazu weist das IT-System einem Anwender anhand seiner Rollen Rechte zu und prüft diese gegen die für die Anfrage benötigten Rechte. Wie genau Rollen und Rechte spezifiziert werden, beschreibt das Kapitel Rollen und Rechte.
3. Sicherheitsarchitektur eines IT-Systems
Der Baustein Sicherheit bildet eine Komponente des Querschnitts der IsyFact Referenzarchitektur IT-Systeme.
Er ist von jedem IT-System zur Autorisierung von Zugriffen und Vorgängen zu verwenden.
Für ein korrektes Funktionieren benötigt der Baustein die Komponente AufrufKontextVerwalter
, deren Verwendung ebenfalls in diesem Kapitel erläutert wird.
Die Mechanismen zur Absicherung IsyFact-konformer IT-Systeme haben zum Ziel, die Autorisierung von Zugriffen systematisch, einheitlich und einfach umzusetzen.
Die Systematik und Vollständigkeit der Berechtigungsprüfungen wird dadurch erreicht, dass Berechtigungsprüfungen in den IT-Systemen andefinierten Stellen und auf identische Weise stattfinden.
Die Einheitlichkeit wird durch Bereitstellung der Bibliothek isy-sicherheit
und Nutzungsvorgaben gewährleistet, die von allen IT-Systemen zu verwenden sind.
Berechtigungsprüfungen erfolgen innerhalb eines IT-Systems immer über die Bibliothek isy-sicherheit
.
Die Einfachheit der Nutzung der Bibliothek isy-sicherheit
wird durch weitgehende Transparenz bei der Initialisierung, kompakte Schnittstellen und deklarative (z.B. per Annotation) statt programmatischer Implementierung erreicht.
3.1. Prämissen
Aus den Prinzipien der Sicherheitsarchitektur leiten sich die folgenden Randbedingungen für die Umsetzung der Berechtigungsprüfung innerhalb eines IT-Systems ab:
-
Anfragen, die am Dialog eines IT-Systems eingehen, sind immer bereits durch das IAM-System bzw. die lokale Authentifizierung erfolgreich authentifiziert. Sorgt ein IAM-System für die Authentifizierung, enthält der HTTP-Header der Anfrage die Identifikation des Anwenders und dessen Rollen. Die Informationen aus dem HTTP-Header werden als
AufrufKontext
in das IT-System übernommen. -
Anfragen, die an einer Service-Schnittstelle eines IT-Systems eingehen, sind ebenso bereits authentifiziert. Das mit der Anfrage an das IT-System als Parameter übergebene Transportobjekt
AufrufKontextTo
enthält die Identifikation des Anwenders und dessen Rollen und wird alsAufrufKontext
in das IT-System übernommen. -
Prozesse, die unabhängig von eingehenden Anfragen (über Dialog und Service) durch ein IT-System gestartet werden, müssen zunächst einen (meist technischen) Anwender gegen das IAM-System bzw. die lokale Authentifizierung erfolgreich authentifizieren, dessen Rollen ermitteln und diese Informationen als
AufrufKontext
im IT-System hinterlegen. -
Ein innerhalb der Logik- und Verarbeitungszone eines IT-Systems übergebener
AufrufKontext
ist vertrauenswürdig. Er kann ohne erneute Rückfrage an das IAM-System bzw. die lokale Authentifizierung verwendet werden.
3.2. Software-Architektur
Die folgende Abbildung zeigt den logischen Aufbau für die Authentifizierung und für die Bereitstellung von Berechtigungsinformationen an die Komponenten eines IT-Systems.
Im Folgenden werden die Aufgaben und grobe Funktionsweise der Komponenten für die Autorisierung von Anfragen in einer Geschäftsanwendung erläutert.
Die Komponente AufrufKontextVerwalter
stellt für eine laufende Anfrage Kontextinformationen zur Anfrage bereit, die in einem AufrufKontext
hinterlegt werden.
Das sind insbesondere die mit der Anfrage über die Außenschnittstelle eingehenden Informationen zum Anwender und dessen Rollen, die Korrelations-ID und anwendungsspezifisch ggf. weitere Informationen.
Die Komponente bringt Hilfsmittel zur transparenten Nutzung des AufrufKontextVerwalter
mit.
So wird der AufrufKontext
bei Serviceaufrufen transparent über Interceptoren via Spring AOP gesetzt.
Weiterhin wird der Aufrufkontext im Rahmen der Authentifizierung automatisch befüllt.
Nach Initialisierung des AufrufKontextVerwalter
für eine laufende Anfrage kann das IT-System fortan transparent mit den im AufrufKontextVerwalter
hinterlegten Anwenderinformationen arbeiten (ohne deren Herkunft zu kennen) und damit auch weitere Nachbarsysteme aufrufen.
Der Baustein Sicherheit bietet folgende Funktionen:
-
Für Service-Aufrufe werden Interceptoren angeboten, welche über Spring AOP eine deklarative Berechtigungsprüfung ermöglichen.
-
Für den Kontext der Anfrage stellt der Baustein einen Berechtigungsmanager zur Verfügung, der die Rollen des anfragenden Anwenders kennt. Die Informationen zum anfragenden Anwender werden – falls vorhanden – aus dem
AufrufKontextVerwalter
entnommen. Die Fachkomponenten eines IT-Systems nutzen den Berechtigungsmanager für spezielle Berechtigungsprüfungen, die nicht deklarativ über Annotationen erfolgen können. -
Anwender können anhand der übergebenen Benutzerkennung (und Passwort) authentifiziert werden. Dazu wird das IAM-System bzw. die lokale Authentifizierung angesprochen. Die gewonnenen Informationen werden im
AufrufKontextVerwalter
hinterlegt. -
Das Interface
AccessManager
bietet eine Abstraktion für verschiedene Berechtigungsquellen an, indem derAccessManager
von einemSicherheit-Adapter
implementiert wird. Für denSicherheit-Adapter
wird ein eigenes Modul/Artefakt empfohlen. DieserSicherheit-Adapter
bildet anschließend die Verbindung zu dem IAM-System (Authentifizierungssystem in obiger Abbildung).
Die Authentifizierung und Autorisierung von Web-Zugriffen wird über Spring Security durchgeführt. Die Integration von Spring Security und des Bausteins Sicherheit wird im Detailkonzept Komponente WebGUI beschrieben.
3.3. Schnittstelle des Bausteins Sicherheit
Im Folgenden wird die Schnittstelle des Bausteins Sicherheit beschrieben.
Die zentrale Schnittstelle für den Zugriff auf Rollen und Rechte eines Anwenders ist Berechtigungsmanager
.
Instanzen des Berechtigungsmanagers zur Autorisierung einer Anfrage werden über die Schnittstelle Sicherheit
erzeugt.
Der Berechtigungsmanager verwendet die Schnittstellen Rolle
und Recht
.
Rollen werden über die Benutzeradministration Anwendern zugewiesen.
Rechte sind anwendungsspezifisch und an Rollen gebunden.
3.4. Aufruf von Nachbarsystemen
So wie ein IT-System bei einem Aufruf erwartet, einen gültigen, vollständigen Aufrufkontext vorzufinden, erwartet dies auch ein Nachbarsystem, welches vom eigenen IT-System aufgerufen wird. Das aufrufende System muss daher einen Aufrufkontext mitliefern. Im Regelfall soll dabei der Aufrufkontext der originären Anfrage verwendet und unverändert weitergeleitet werden.
Zum Aufruf von Nachbarsystemen sollen, falls vorhanden, dedizierte Client-Bibliotheken verwendet werden. Diese enthalten bereits die Logik zur Weiterleitung des Aufrufkontextes.
Gibt es diese nicht, muss das Nachbarsystem direkt aufgerufen werden.
Hierbei muss das aufrufende IT-System stets ein entsprechendes Transportobjekt befüllen und mit dem Aufruf an das Nachbarsystem übergeben.
Für die Technologie Spring HTTP Invoker stellt die IsyFact passende Transportobjekte in der Bibliothek isy-serviceapi-sst
bereit.
4. Rollen & Rechte
Die Vergabe von Rollen ist das Mittel der Benutzeradministration, um Anwender der Anwendungslandschaft mit Berechtigungen auszustatten. Die Vergabe von Rollen an einen Anwender (menschlicher und technischer) erfolgt im Querschnitt: in der Querschnittsanwendung Benutzerverzeichnis.
Es ist konzeptionell beabsichtigt, dass die Administration per Rollen recht grobgranular erfolgt. Eine administrative Vergabe feingranularer Rechte ist konzeptionell nicht erwünscht. Die individuelle Zuordnung von Rechten zu Anwendern ist daher prinzipiell nicht möglich. Rechte werden Anwendern ausschließlich indirekt über Rollen zugeordnet. Welche Rechte einer Rolle zugeordnet sind, wird innerhalb der statischen Konfiguration eines IT-Systems definiert und ist damit Teil der Software.
Die Geschäftsanwendung X bietet zwei Dialoge zur Administration von Anwendungseigenschaften.
Die Dialoge sind über die Rolle AnwendungX_Administrator
abgesichert.
Innerhalb der Anwendung ist Dialog 1 mit dem Recht AdministrierenDialog1
und Dialog 2 mit dem Recht AdministrierenDialog2
abgesichert.
Grobgranular wird die Rolle AnwendungX_Administrator
einem Anwender zugeordnet.
Innerhalb der Konfiguration des IT-Systems X sind beide Rechte konfiguriert und der Rolle AnwendungX_Administrator
zugeordnet.
Alle Anwender mit der Rolle AnwendungX_Administrator
sind somit innerhalb der Anwendung autorisiert, die beiden Admin-Dialoge zu verwenden.
Der Vorteil an diesem Vorgehen ist, dass Änderungen an der Zuordnung von Anwendern zu Rollen oder von Rollen zu Rechten nur zu lokalen Änderungen führen. Soll eine Rolle andere Rechte in einer Geschäftsanwendung bekommen (z.B. durch das Hinzufügen neuer Dialoge), so kann dies für die Benutzeradministration transparent geschehen. Ebenso sind Änderungen an Anwendern oder ihren zugehörigen Rollen transparent für einzelne Geschäftsanwendungen.
4.1. Spezifikation der Rollen
Rollen werden bereits auf fachlicher Ebene als Teil der Systemspezifikation einer Geschäftsanwendung spezifiziert. Dazu werden zunächst in geeigneter Granularität Rechte definiert, die zur Benutzung bestimmter Funktionalität der Geschäftsanwendung berechtigen. Diese Rechte werden fachlichen Rollen zugeordnet, die dann wiederum den Anwendern der Anwendung zugeordnet werden können. Die fachlichen Rollen ermöglichen in der Regel pauschal den Zugriff auf die Geschäftsanwendung oder, im Sinne der Rolle eines fachlichen Sachbearbeiters, die Nutzung ausgewählter Anwendungsfälle.
4.2. Struktur einer Rolle
Alle Rollen besitzen die folgende Struktur:
Name: Interner Name der Rolle, wie er für die Autorisierung und innerhalb von Anwendungen zur Überprüfung bereitgestellt wird.
Label: Name der Rolle, wie sie in der Oberfläche der Benutzeradministration angezeigt wird. In der Regel ist dieser Name identisch mit dem technischen Namen der Rolle. Eine Abweichung ist nur dann sinnvoll, wenn die Vergabe der Rollen durch den Administrator dadurch intuitiver wird.
Beschreibung: Eine kurze Beschreibung der Rolle in einer fachlichen Sprache, die für die Benutzeradministration verständlich ist.
Typ: Eine Rolle kann fachlich oder technisch sein. Nur fachliche Rollen können über die Benutzeradministration verwaltet werden. Technische Rollen können fachlichen Rollen allerdings untergeordnet werden (siehe weiter unten: Untergeordnete Rollen).
Enthaltene Rechte: Die Ausstattung einer fachlichen Rolle mit Rechten beschreibt den Funktionsumfang, den diese Rolle bei Nutzung der Geschäftsanwendung ermöglicht.
Untergeordnete Rollen: Optional können fachliche Rollen untergeordnete technische Rollen besitzen. Dies ist z.B. immer dann notwendig, wenn ein Anwendungsfall die Services eines Nachbarsystems verwendet. Somit muss im Rahmen des Anwendungsfalls die Service-Schnittstelle des Nachbarsystems aufgerufen werden. Die dazu benötigte, technische Rolle muss der fachlichen Rolle untergeordnet werden, damit dies funktioniert.
Sichtbarkeit der Rolle: Die Sichtbarkeit der Rollen bei der Zuordnung an Anwender, externe Systeme und interne Systeme kann eingeschränkt werden, um die Administration zu vereinfachen.
Die meisten Rollen sind fachlicher Natur. Technische Rollen treten oft im Rahmen von Service-Schnittstellen auf. Bietet eine Geschäftsanwendung Funktionalität über Service-Schnittstellen an, so ist die Nutzung jeder Service-Schnittstelle zumindest durch eine technische Rolle abzusichern. Diese Rollen werden nicht direkt an Anwender vergeben, sondern fachlichen Rollen anderer Geschäftsanwendungen untergeordnet.
Wenn die Anwendung fachliche oder technische Batches enthält, dann müssen für diese Batches in der Spezifikation entsprechende „interne Systeme“ definiert werden.
Die Systemnamen sollten dem folgenden Schema entsprechen: <Anwendungskürzel>_BAT_<Batchname>
.
Für jedes dieser internen System müssen eigene fachliche Rollen definiert werden.
4.3. Richtlinien zum Schnitt der Rollen
Zum Schnitt von fachlichen und technischen Rollen gibt es Erfahrungswerte, welche das restliche Kapitel detailliert. Wichtig ist vor allem die Beziehung zwischen fachlichen und technischen Rollen. Des weiteren sollte die Menge der Rollen so klein wie möglich gehalten werden.
Die Abbildung Abbildung 3 verdeutlicht den Inhalt der folgenden Abschnitte grafisch.
4.3.1. Technische Rollen
Technische Rollen sichern die Kommunikationswege innerhalb der Anwendungslandschaft ab. Sie werden für die Schnittstellen von Geschäftsanwendungen verwendet, welche nur von anderen Geschäftsanwendungen aufgerufen werden. Die einzelnen Schnittstellen werden durch Rechte abgesichert (siehe Dokument Sicherheit - Nutzungsvorgaben ).
Technische Rollen berechtigen zur Ausführung der entsprechenden Services der Geschäftsanwendung selbst, sowie aller dadurch mittelbar ausgelösten Aktionen in nachgelagerten Anwendungen. Daher werden diesen technischen Rollen im Regelfall weitere technische Rollen untergeordnet sein, welche die nachgelagerten Anwendungen absichern.
4.3.2. Technische Zugangsrollen
Anwender gelangen in der Regel entweder über das Portal oder den Service-Gateway in eine Anwendungslandschaft.
Um den Zugriff über diese Schnittstellen zentral und einfach zu verwalten, können dafür entsprechende technische Rollen definiert werden (z.B. Zugang_Portal
und Zugang_Service_Gateway
).
Diese Rollen können dann einfach fachlichen Rollen untergeordnet werden, um den jeweiligen Zugriff zu erlauben.
4.3.3. Technische Querschnitts-Rolle
Für Services des Querschnitts, die nahezu alle Aufrufe benötigen und die keine sicherheitskritischen Operationen anbieten, kann eine zentrale Rolle (z.B. Querschnitt_Nutzer
) angelegt werden.
Diese Rolle berechtigt zur Durchführung von unkritischen Operationen im Querschnitt, wie beispielsweise dem Auslesen von Schlüsselwerten.
Wenn die Querschnitts-Rolle den Zugangsrollen untergeordnet ist, darf jeder Anwender mit Zugriff automatisch auch auf den Querschnitt zugreifen. Dies reduziert die Anzahl der Rollen, die einem Nutzer zugewiesen sind, in der Regel deutlich.
4.3.4. Fachliche Rollen
Fachliche Rollen werden für Schnittstellen von Geschäftsanwendungen vergeben, welche Zugänge zur Anwendungslandschaft geben. Dies beinhaltet neben den Dialogen (der grafischen Oberfläche) und Zugängen über den Service-Gateway auch interne Systeme wie beispielsweise Systemtasks oder Batches. Die einzelnen angebotenen Services werden über Rechte abgesichert (siehe Dokument Sicherheit - Nutzungsvorgaben).
Fachliche Rollen berechtigen zur Ausführung der entsprechenden Aktion über den entsprechenden Zugangsweg, sowie aller dadurch mittelbar ausgelösten Aktionen in nachgelagerten Anwendungen. Daher werden diesen fachlichen Rollen im Regelfall weitere technische Rollen untergeordnet sein, welche die nachgelagerten Anwendungen absichern.
Fachliche Rollen können über die Benutzeradministration verwaltet und Anwendern bzw. Systemen zugeordnet werden. Hierbei ist darauf zu achten, dass die Labels der Rollen sinnvoll genutzt werden.
4.4. Richtlinien zur Benennung der Rollen
Die Benennung von Rollen muss fachlich getrieben sein. Das bedeutet vor allem, dass Rollen für eine fachliche Operation, d.h. den Akteur, angelegt werden. Grundsätzlich gilt, dass die Namen der Rollen ausgeschrieben werden, sofern sie nicht zu lang werden. Ist dies der Fall, sollte der Namen abgekürzt und ein sprechendes Label für die Administration der Rollen vergeben werden.
4.4.1. Fachliche Rollen
Das Schema zur Benennung einer fachlichen Rolle für Anwender kann folgendermaßen aussehen:
<Fachlicher Systemname>_<Funktion>
Der fachliche Systemname beschreibt die Geschäftsanwendung, bzw. die Anwendungsdomäne, in welcher die entsprechende Funktionalität bereitgestellt wird.
Er entspricht prinzipiell dem Systemnamen der Systemspezifikation, abzüglich technischer Kürzel.
Die Rolle zur Verwendung der Schnittstelle Auskunft der Geschäftsanwendung MeineAnwendung lautet nach diesem Schema: MeineAnwendung_Auskunft
.
Da die Rollen für fachliche Operationen angelegt werden, sollten sie unabhängig von technischen Aspekten gelten.
So kann beispielsweise die Rolle MeineAnwendung_Auskunft
unabhängig davon gelten, ob die Auskunft über ein Service Gateway oder das Portal durchgeführt wird.
Dies kann durch die Verwendung spezieller technischer Rollen (s. Technische Zugangsrollen) erreicht werden.
IT-Systeme werden intern in Form von Batches oder Timer-Tasks aktiv. Auch hier findet ein Zugang zur Anwendungslandschaft statt. Das Schema zur Benennung einer fachlichen Rolle für IT-Systeme kann folgendermaßen aussehen:
<Fachlicher Systemname>_SYSTEM_<Suffix>
Im Regelfall gibt es nur eine fachliche Rolle pro IT-System, die alle Batches und Tasks absichert (Beispiel analog zu oben: MeineAnwendung_SYSTEM
).
Gibt es beispielsweise mehrere Batches in einer Anwendung, so sollten die einzelnen Batches mit verschiedenen Rechten abgesichert werden, die alle derselben Rolle zugeordnet sind. Falls mehrere differenzierte Rollen fachlich erforderlich sind, werden die Rollen um ein entsprechendes Suffix ergänzt. Dies kann der Fall sein, wenn es fachlich unterschiedliche Nutzer von Tasks und Batches gibt. Zusätzlich dazu kann es erforderlich sein, einen (technischen) Anwender anzulegen, welchem die entsprechenden Rollen zugeordnet werden.
4.4.2. Technische Rollen
Das Schema zur Benennung einer technischen Rolle kann folgendermaßen aussehen:
<Technischer Systemname>_<Servicename>
Die Namen technischer Rollen enthalten keine festen Bestandteile wie z.B. SYSTEM
, da es sich immer um Services handelt.
Der Servicename muss eindeutig und sprechend sein; vor allem, wenn mehrere Services mit derselben Rolle gemeinsam abgesichert werden.
Da die Rollen nur innerhalb der Anwendungslandschaft zum Einsatz kommen und nicht administriert werden müssen, wird der technische Systemname verwendet.
Die Rolle zur Verwendung der Schnittstelle "Eintragen der Informationen" der Geschäftsanwendung MeineAnwendung lautet nach diesem Schema: MeineAnwendung_InformationenEintragen
.
Auch hier sollte auf die Länge des Namens geachtet werden und im entsprechenden Fall, wie bei fachlichen Rollen, eine Abkürzung des Namens mit sprechendem Label vorgenommen werden.
4.5. Entwurf von Rollen
Wird ein neues IT-System entwickelt, sind die oben genannten Richtlinien zum Schnitt und zur Benennung der Rollen stärkstens empfohlen. Hierfür ist eine enge Abstimmung mit der Benutzeradministration und den jeweiligen fachlichen Ansprechpartnern erforderlich. Alle Parteien verfügen über unterschiedliches, sich ergänzendes Fachwissen, das essenziell für die Erstellung von Rollen ist.
Prinzipiell sollten so wenig Rollen wie möglich und so viele wie nötig vergeben werden. Der folgende Prozess bietet eine grobe Richtlinie:
-
Jede Schnittstelle wird mit einem Recht abgesichert.
-
In Abstimmung mit den fachlichen Ansprechpartnern und der Benutzeradministration werden diese Rechte zu technischen bzw. fachlichen Rollen zusammengefasst.
-
In Abstimmung mit den fachlichen Ansprechpartnern und der Benutzeradministration wird ermittelt, ob und welche zusätzlichen technischen Anwender benötigt werden.
-
Vorbereitung der Einspielung der neuen, fachlichen Rollen in die Benutzeradministration. Über das jeweilige Format bestimmt der IsyFact-Baustein, der zur Benutzeradministration eingesetzt wird.
-
Konfiguration des IT-Systems mit den erstellten technischen Rollen und Rechten (siehe Dokument Sicherheit - Nutzungsvorgaben).
Die Rollen und Rechte sollten bereits während der Erstellung des Systementwurfs entworfen werden, soweit dies möglich ist. Sobald die angebotenen Schnittstellen bekannt sind, können die entsprechenden Rollen nach obigen Richtlinien erstellt werden. Die zugehörigen untergeordneten Rollen lassen sich durch die aufgerufenen Nachbarsystemschnittstellen ermitteln.
4.6. Tests und Inbetriebnahmen
Eine wesentliche Einschränkung der bisherigen Modellierung findet sich bei Tests und Inbetriebnahmen. Es gestaltet sich bislang schwer, dass vor der eigentlichen Inbetriebnahme nur eine kleine Menge von Anwendern auf eine neue Geschäftsanwendung zugreifen kann. So werden oft, auch bei der Ablösung einer Geschäftsanwendung durch eine neue Umsetzung, komplett neue Rollen für die neue Geschäftsanwendung vergeben, um die Absicherung beider Geschäftsanwendungen zu gewährleisten. Dies führt oft zu aufwendigen Migrationen und zu einer stark ansteigenden Menge von Rollen.
Um dies zu vermeiden, kann eine neue fachliche Rolle für eine Art Testmodus eingeführt:
Tester_<Vorhaben>
Geschäftsanwendungen, die bestehende Geschäftsanwendungen ablösen oder vor der offiziellen Inbetriebnahme einer kleinen Menge von Anwendern zur Verfügung stehen, müssen in ihrer betrieblichen Konfiguration einen Schalter besitzen, der einen Testmodus aktiviert. Ist der Schalter (und damit der Testmodus) aktiv, wird zusätzlich zur üblichen Autorisierung auf die zusätzliche, fachliche Rolle geprüft. Somit ist sichergestellt, dass beim Ablösen von alten Geschäftsanwendungen auch die neue Geschäftsanwendung mit denselben Rollen abgesichert und (falls nötig) parallel betrieben werden kann. Genauso funktioniert auch das Freischalten einer neuen Geschäftsanwendung für einen zunächst kleinen Kreis von Anwendern. In beiden Fällen muss zur eigentlichen Inbetriebnahme, anstatt einer aufwändigen Migration, nur ein Schalter in der betrieblichen Konfiguration umgelegt werden.