Zu unterscheiden sind der Anwender- und der Servicekontext. Der Anwender nutzt aktiv die Oberflächen des Produkts, pflegt Daten und ruft diese ab. Der Servicekontext übernimmt Hintergrundaufgaben die automatisiert ausgeführt werden.
Anwenderkontext
Ein Anwender arbeitet aus dem Browser heraus mit der Oberfläche von d.velop contracts for Microsoft 365. Zu Beginn einer Session wird der Anwender zur Anmeldeseite des Azure AD des Kunden geleitet und dort im Kontext der Azure AD-App angemeldet. Es wird hier ein Zugriffstoken ausgestellt, mit dem der Benutzer im weiteren Verlauf seiner Session über die Oberfläche des Produkts mit den Schnittstellen in SharePoint arbeitet.
Benötigte Berechtigungen für den Anwenderkontext (Azure AD App "d.velop contract")
Servicekontext
Für Hintergrundaufgaben wird ein Servicekontext genutzt. Dabei handelt es sich ebenso um einen Benutzerkontext, wobei der Benutzer speziell als Servicebenutzer genutzt wird. Der Servicebenutzer muss mit einer entsprechenden Lizenz ausgestattet sein, um mit SharePoint zu arbeiten. Ebenso muss dieser Benutzer auf die benötigten Ressourcen berechtigt werden. Der Zugriff auf SharePoint findet hier im Kontext einer gesonderten Azure AD App "d.velop contracts Admin" statt. Diese App erfordert einen erweiterten Berechtigungssatz. Dieser kann gezielt auf einen separat abgesicherten Benutzer angewendet werden.
Der Servicebenutzer benötigt Vollzugriff auf die jeweilige Websitesammlung.
Damit Hintergrundprozesse im Kontext dieses Nutzers arbeiten können, ist eine einmalige Anmeldung mit diesem Benutzer erforderlich. Dabei wird das Zugriffstoken verschlüsselt abgelegt und für zukünftige Aufgaben genutzt.
Der Hintergrunddienst führt folgende Aufgaben aus:
- Setzen von Berechtigungen.
- Durchbrechung der Vererbung bei der Vertragsanlage.
- Setzen von Berechtigungen gemäß Regelwerk.
- Provisionierung der Vertragsstruktur im SharePoint.
- Anlegen von neuen Vertragslisten, wenn der Schwellenwert überschritten wird.
- Abfrage von Verträgen, um Benachrichtungen zu versenden.
Benötigte Berechtigungen für den Anwenderkontext (Azure AD-App "d.velop contract Admin")