Teil 1 – Berechtigungen in Project for the Web (Basics)

Das Berechtigungssystem von Project for the Web basiert auf sogenannten Sicherheitsrollen aus Dynamics 365. Hier gibt es zwei Arten von Rollen. Zunächst gibt es die Standardsicherheitsrollen, diese werden von Seiten Microsoft beim bereitstellen der Project-App im entsprechenden Environment nach der Zuweisung der ersten Lizenz automatisch bereitgestellt, dann gibt es auch sogenannte benutzerdefinierte Sicherheitsrollen. Diese können vom jeweiligen Unternehmen selber angelegt und konfiguriert werden. Dadurch kann der Zugriff auf die Informationen in den Dataverse-Tabellen selber beeinflusst werden. In diesem Blogbeitrag möchte ich dir den Aufbau des Sicherheitskonzeptes beschreiben.

Standardsicherheitsrollen in Project for the Web

Sobald das First-Party-App bereitgestellt wird, werden sieben und in sogenannten Managed-Environments dagegen sechs Sicherheitsrollen bereitgestellt. Die benötigten Sicherheitsrollen werden beim Zuweisen der entsprechenden Lizenz einem Benutzern im Standard-Environment automatisch zugewiesen. In Managed-Environment hingegen muss der Administrator die Berechtigungen bei einigen Sicherheitsrollen manuell zuweisen. Folgende Standardsicherheitsrollen stehen zur Verfügung.

Project Common: Dies ist die einzige Gruppe an der in der Standardbereitstellung Änderungen durchgeführt werden können.

Portfoliobenutzer: Diese Gruppe ist seit der Version 0.8.7.59 veraltet und sollte nicht mehr verwendet werden und diente zur internen Verwendung durch Microsoft.

Projektsystem: Genau wie bei der Portfoliobenutzer-Gruppe sollte diese Gruppe nicht verwendet werden. Diese Gruppe wird durch Microsoft benutzt um Änderungen (Updates, Patches etc.) bereitzustellen.

Mitglieder des Projektteams: Diese Zuweisung dieser Rolle zu einem User erfolgt nur im Standard-Environment automatisch. Die Rolle bietet benutzerbezogene Berechtigungen zum Erstellen, Lesen, Aktualisieren und Löschen von Portfolios und verwandten Entitäten.

Project-Benutzer: Im Standard-Environment wird diese Rolle ebenfalls automatisch vergeben und dient zum Erstellen, Lesen, Aktualisieren und Löschen von Projekten und zugehörigen Daten.

Roadmap-System: Diese Rolle sollte ebenfalls nicht an User vergeben werden. Sie dient Microsoft genau wie die Gruppe Projektsystem für die Aktualisierung der Lösung.

Roadmap-Benutzer: Diese Rolle existiert nur in der Standardorganisation und wird den Benutzern automatisch zugewiesen. Durch die Zuweisung wird die Berechtigung für das Erstellen, Lesen, Aktualisieren und Löschen von Portfolios sichergestellt.

Hinweis. Durch die automatischen Zuweisungen der Rollen kann jeder User seine eigenen Projekte sehen! Sobald eine Unterteilung stattfinden soll, muss dies mit einem eigenen Berechtigungskonzept erfolgen.

Sicherheitsrollenhierarchien

Jeder Sicherheitsrolle werden dann die entsprechenden Berechtigungen auf die Dataversetabellen erteilt. Mit diesen Berechtigungen wird das Verhalten des Gruppenmitgliedes auf das Erstellen, das Lesen, das Schreiben, das Löschen, das Anfügen, das Anfügen an, das Zuweisen und das Freigeben von Informationen verwaltet. Mit der dazugehörigen Hierarchien gibt’s du die Zugriffebene an, wie tief oder hoch in der Unternehmenseinheit der Benutzer die angegebene Berechtigung ausführen darf. Hier stehen folgende Optionen zur Verfügung:

Keine Berechtigungen: Der User der Sicherheitsgruppe erhält keine Berechtigung auf die Informationen in der Dataverse-Tabelle.

Benutzer: Diese Zugriffsebene ermöglicht einem Benutzer den Zugriff auf Datensätze, die dem Benutzer gehören und auf Objekte, die der Organisation angehören (Nur seine Daten).

Unternehmenseinheit: Diese Zugriffsebene ermöglicht einem Benutzer den Zugriff auf Datensätze im Konzernmandanten des Benutzers (Daten seiner Unit).

Übergeordnet: Untergeordnete Unternehmenseinheit. Diese Zugriffsebene ermöglicht einem Benutzer den Zugriff auf Datensätze im Konzernmandanten des Benutzers, die dem Benutzer untergeordnet sind.

Organisation. Diese Zugriffsebene gewährt einem Benutzer Zugriff auf alle Datensätze innerhalb der Organisation, unabhängig davon, welcher hierarchischen Ebene der Unternehmenseinheit die Umgebung oder der Benutzer zugeordnet ist. Benutzer mit Zugriff „Organisation“ haben automatisch auch die Hierarchiezuordnung „Benutzer“, „Unternehmenseinheit“ und „Übergeordnet“.

Berechtigungen einer Sicherheitsrolle

Mit der zuvor ausgewählten erlaubten Sichtbarkeit auf die Organisationshierarchie, wird dann durch das setzen der entsprechenden Berechtigung die erlaubte Datenmanipulation angegeben. Als Berechtigungen stehen uns Erstellen, Lesen, Schreiben, Löschen, Anfügen, Anfügen an, Zuweisen und Freigeben zur Verfügung.

Anbei eine kurze Beschreibung der zur Verfügung stehenden Berechtigungen:

Erstellen: Erforderlich, um einen neuen Datensatz zu erstellen. Welche Datensätze gelesen werden können, hängt von der Zugriffsebene der in Ihrer Sicherheitsrolle definierten Berechtigung ab.

Lesen: Erforderlich, um einen Datensatz zu öffnen, um den Inhalt je nach Zugriffsebene anzuzeigen.

Schreiben: Erforderlich zum Ändern eines Datensatzes je nach Zugriffsebene.

Löschen: Erforderlich zum endgültigen Entfernen eines Datensatzes in der entsprechenden Zugriffsebene.

Anfügen: Erforderlich, um den aktuellen Datensatz einem anderen Datensatz je nach Zugriffsebene anzufügen. Hierzu ein Beispiel. Du hast eine Risikodatenbank und möchtest ein Risiko-Item an ein Projekt anhängen, hierzu benötigt dann der entsprechende User die Berechtigung „Anfügen“ für die Risikodatenbank.

Anfügen an: Erforderlich, um einen Datensatz zum aktuellen Datensatz zuzuordnen.

Zuweisen: Erforderlich, um den Besitz eines Datensatzes an einen anderen Benutzer in der entsprechenden Hierarchie zu übertragen.

Teilen: Erforderlich, um einem anderen Benutzer den Zugriff auf einen Datensatz zu gewähren und dabei die eigenen Zugriffsrechte beizubehalten. Natürlich gilt auch hier die entsprechende freigegebene Zugriffsebene.

Benutzerdefinierte Sicherheitsrollen.

Wie oben schon geschrieben, können neben den Standardsicherheitsrollen eigene Rollen erstellt und konfiguriert werden, um die Anforderungen aus dem Projektmanagement zu erfüllen. Möchte ich zum Beispiel, dass ein User alle in der Organisation befindlichen Projekte seiner Unit sieht, muss ich eine neue Sicherheitsgruppe erstellen und in dieser dann die folgenden Berechtigungen anpassen.

Hinweis: Bitte beachte, dass du durch klicken auf einen einzelnen Kreis die gewünschte Hierarchie einzeln oder durch klicken auf den Tabellennamen für die komplette Zeile vergeben kannst.

AD-Rollen für die User

Damit Administratoren nicht für jeden einzelnen User die Sicherheitsrolle\n manuell zuweisen müssen, kann die Zuweisung auch über Azure-AD-Sicherheitsgruppen erfolgen. Hierbei werden nach dem Anlegen der Azure-AD-Gruppe ein Team in Power-Apps-Admin-Center angelegt und beide Gruppen verlinkt. Innerhalb des Power-App-Admin-Center wird dann dem Team die entsprechenden Sicherheitsgruppen zugewiesen.

Neue Benutzer müssen demnach nur in die entsprechende Gruppe von Seiten der IT-Abteilung hinzugefügt werden. Die Synchronisation und das setzen der Berechtigung erfolgt entsprechend automatisch.

In meinem nächsten Teil werden wir eine Sicherheitsrolle erstellen, das alle Benutzer – alle Projekte einsehen können, aber das löschen anderer Projekte verhindert wird.

 

Ein Kommentar

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Die folgenden im Rahmen der DSGVO notwendigen Bedingungen müssen gelesen und akzeptiert werden:
Durch Abschicken des Formulars wird dein Name, E-Mail-Adresse und eingegebene Text in der Datenbank gespeichert. Für weitere Informationen wirf bitte einen Blick in die Datenschutzerklärung.