Sicherheitskonzepte in Microsoft Dataverse

Eines der Hauptmerkmale von Dataverse ist ein umfangreiches Sicherheitsmodell, das Sie an viele Unternehmensanwendungsszenarien anpassen können. Dieses Sicherheitsmodell wird nur verwendet, wenn eine Dataverse-Datenbank in der Umgebung vorhanden ist. Als Administrator werden Sie wahrscheinlich nicht das gesamte Sicherheitsmodell selbst erstellen, sondern sind häufig in den Prozess der Benutzerverwaltung und der Sicherstellung der richtigen Konfiguration sowie der Fehlerbehebung bei Sicherheitszugriffsproblemen involviert.

Tipp

Videosymbol Schauen Sie sich das folgende Video an: Microsoft Dataverse – In Demos gezeigte Sicherheitskonzepte

Rollenbasierte Sicherheit

Dataverse verwendet rollenbasierte Sicherheit,um eine Sammlung von Rechten zu gruppieren. Diese Sicherheitsrollen können direkt den Benutzern zugeordnet sein, oder sie können Dataverse-Teams und -Unternehmenseinheiten zugeordnet werden. Dem Team können dann Benutzer zugeordnet werden, damit alle Teammitglieder von der Rolle profitieren. Ein Schlüsselkonzept der Dataverse-Sicherheit ist zu verstehen, dass alle Rechteerteilungen kumulativ sind und der umfangreichste Zugriff Vorrang hat. Wenn Sie auf breiter Organisationsebene Lesezugriff auf alle Kontaktdatensätze gewährt haben, können Sie nicht zurückgehen und einen einzelnen Datensatz ausblenden.

Unternehmenseinheiten

Geschäftsbereiche arbeiten mit Sicherheitsrollen, um die effektive Sicherheit eines Benutzers zu bestimmen. Unternehmenseinheiten sind Bausteine eines Sicherheitsmodells, das bei der Verwaltung von Benutzern und der Daten, auf die diese zugreifen, hilft. Unternehmenseinheiten definieren eine Sicherheitsbegrenzung. Jede Dataverse-Datenbank enthält eine einzelne Stammunternehmenseinheit.

Sie können untergeordnete Unternehmenseinheiten erstellen, um Benutzer und Daten weiter zu segmentieren. Jeder Benutzer, der einer Dataverse-Umgebung zugewiesen ist, gehört einer Unternehmenseinheit an. Während Unternehmenseinheiten verwendet werden können, um 1:1 eine echte Organisationshierarchie zu modellieren, tendieren sie häufig dazu, nur Sicherheitsbegrenzungen zu definieren, um die Sicherheitsmodellanforderungen zu erfüllen.

Betrachten wir das folgende Beispiel, um das besser zu verstehen. Wir verfügen über drei Unternehmenseinheiten. Woodgrove ist die Stammunternehmenseinheit und befindet sich immer an erster Stelle, das ist unveränderlich. Wir haben zwei weitere untergeordnete Geschäftsbereiche A und B erstellt. Benutzer in diesen Geschäftsbereichen haben sehr unterschiedliche Zugriffsanforderungen. Falls wir einen Benutzer dieser Dataverse-Umgebung zuordnen, können wir festlegen, dass er sich in einer dieser drei Unternehmenseinheiten befindet. Wohin der Benutzer zugewiesen wird, bestimmt, welche Unternehmenseinheit die Datensätze besitzt, deren Besitzer der Benutzer ist. Diese Zuordnung ermöglicht es uns, eine Sicherheitsrolle anzupassen, um dem Benutzer zu erlauben, alle Datensätze in dieser Unternehmenseinheit anzuzeigen.

Lassen Sie uns zum besseren Verständnis zwei Beispiele betrachten. Die beiden Beispiele haben drei Unternehmenseinheiten. Woodgrove ist die Root Unternehmenseinheit und wird immer an der Spitze stehen; das ist unveränderlich. Wir haben zwei weitere untergeordnete Geschäftsbereiche A und B erstellt. Benutzer in diesen Geschäftsbereichen haben sehr unterschiedliche Zugriffsanforderungen.

Hierarchische Struktur des Datenzugriffs

Benutzer können eine Organisationsstruktur verwenden, in der Daten und Benutzer in einer baumartigen Hierarchie unterteilt sind.

Wenn wir einen Benutzer mit dieser Dataverse-Umgebung verknüpfen, können wir festlegen, dass der Benutzer einer dieser drei Unternehmenseinheiten angehört, und dem Benutzer eine Sicherheitsrolle aus der Unternehmenseinheit zuweisen. Die Unternehmenseinheit, der der Benutzer zugeordnet ist, bestimmt, welche Unternehmenseinheit Eigentümer der Datensätze ist, wenn der Benutzer einen Datensatz erstellt. Diese Zuordnung erlaubt es uns, eine Sicherheitsrolle zu erstellen, die es dem Benutzer erlaubt, Datensätze in dieser Unternehmenseinheit zu sehen.

Benutzer A ist mit Abteilung A verknüpft und erhält die Sicherheitsrolle Y von Abteilung A. Dies lässt Benutzer A den Zugriff auf die Datensätze Kontakt #1 und Kontakt #2 zu. Während Benutzer B in Abteilung B keinen Zugriff auf die Datensätze von Abteilung A hat, kann er jedoch auf den Datensatz Kontakt Nr. 3 zugreifen.

Beispiel für die Struktur des Zugriffs auf Matrixdaten

Matrixdaten-Zugriffsstruktur (Unternehmenseinheiten modernisieren - Vorschau)

Benutzer können eine Organisationsstruktur verwenden, in der die Daten in einer baumartigen Hierarchie unterteilt sind, und Benutzer können unabhängig von der Unternehmenseinheit, der sie zugeordnet sind, mit den Daten jeder Unternehmenseinheit arbeiten und darauf zugreifen.

Falls wir einen Benutzer dieser Dataverse-Umgebung zuordnen, können wir festlegen, dass er sich in einer dieser drei Unternehmenseinheiten befindet. Für jede Unternehmenseinheit, auf deren Daten ein Benutzer zugreifen muss, wird ihm eine Sicherheitsrolle aus dieser Unternehmenseinheit zugewiesen. Wenn der Benutzer einen Datensatz erstellt, kann er die Unternehmenseinheit festlegen, der der Datensatz gehört.

Benutzer A kann mit jeder beliebigen Unternehmenseinheit verbunden sein, auch mit der Stammgeschäftseinheit. Dem Benutzer A wird eine Sicherheitsrolle Y aus Abteilung A zugewiesen, die ihm Zugriff auf die Datensätze Kontakt Nr. 1 und Kontakt Nr. 2 gibt. Dem Benutzer A wird eine Sicherheitsrolle Y aus Abteilung B zugewiesen, die dem Benutzer Zugriff auf den Datensatz Kontakt Nr. 3 gewährt.

Beispiel für eine hierarchische Struktur für den Zugriff auf Daten

So aktivieren Sie diese Struktur für den Zugriff auf die Matrixdaten (Vorschau):

Hinweis

Datensatzbesitz in allen Unternehmenseinheiten ist eine Vorschaufunktion und wird im Laufe der Zeit eingeführt.

  1. Melden Sie sich im Admin-Center Power Platform als Admin an (Dynamics 365-Administrator, Globaler Administrator oder Microsoft Power Platform Admin).
  2. Wählen Sie die Registerkarte  Umgebungen , und wählen Sie dann die Umgebung, für die Sie diese Funktion aktivieren möchten.
  3. Wählen Sie Einstellungen > Produkt > Funktionen aus.
  4. Schalten Sie Ein den Schalter Datensatzbesitz über Unternehmenseinheiten ein.

Sobald diese Funktion eingeschaltet ist, können Sie die Unternehmenseinheit auswählen, wenn Sie einem Benutzer eine Sicherheitsrolle zuweisen. Dies lässt zu, dass Sie einem Benutzer Sicherheit aus verschiedenen Unternehmenseinheiten zuweisen.

Hinweis

Diese Funktionsoption ist in den EnableOwnershipAcrossBusinessUnits Umgebungsdatenbankeinstellungen gespeichert und kann auch mit dem OrgDBOrgSettings-Tool für Microsoft Dynamics CRM festgelegt werden.

Zuständige Unternehmenseinheit

Jeder Datensatz hat ein Feld Besitzende Unternehmenseinheit, das festlegt, welcher Unternehmenseinheit der Datensatz gehört. Dieses Feld ist standardmäßig auf die Unternehmenseinheit des Benutzers voreingestellt, wenn der Datensatz erstellt wird, und kann nicht geändert werden, außer wenn die Funktion eingeschaltet ist.

Hinweis

Wenn Sie ändern, welche Unternehmenseinheit Besitzer eines Datensatzes ist, überprüfen Sie Folgendes auf Kaskadeneffekte: Verwenden des Organisationsdienstes zum Konfigurieren des Kaskadierungsverhaltens.

Sie können festlegen, ob Sie Ihrem Benutzer erlauben möchten, das Feld Besitzende Unternehmenseinheit festzulegen, wenn die Funktion eingeschaltet ist. Um das Feld Besitzende Unternehmenseinheit festzulegen, müssen Sie der Sicherheitsrolle des Benutzers die Berechtigungen Anfügen und Anfügen an der Tabelle Unternehmenseinheit mit der Berechtigung Unternehmenseinheit erteilen.

Damit Ihr Benutzer dieses Feld festlegen kann, können Sie dieses Feld wie folgt aktivieren:

  1. Formular – sowohl der Hauptteil als auch die Kopfzeile.
  2. Ansicht.
  3. Spaltenzuordnungen. Wenn Sie AutoMapEntity verwenden, können Sie das Feld in Ihrer Spaltenzuordnung angeben.

Hinweis

Wenn Sie einen Auftrag/Prozess zum Synchronisieren von Daten zwischen Umgebungen haben und die Besitzenden Unternehmenseinheit ist als Teil des Schemas enthalten, schlägt Ihr Auftrag mit einer Foreign KEY-Einschränkungsverletzung fehl, wenn die Zielumgebung nicht den gleichen Besitzende Unternehmenseinheit-Wert hat.

Sie können entweder das Feld Besitzende Unternehmenseinheit aus dem Quellschema entfernen, oder den Besitzende Unternehmenseinheit-Feldwert zu einer Quelle aller Unternehmenseinheiten des Ziels aktualisieren.

Wenn Sie einen Auftrag/Prozess zum Kopieren von Daten aus einer Umgebung in eine externe Ressource haben, z. B. PowerBI, müssen Sie das Feld Besitzende Unternehmenseinheit aus Ihrer Quelle auswählen oder die Auswahl aufheben. Wählen Sie sie aus, wenn Ihre Ressource sie empfangen kann, andernfalls heben Sie die Auswahl auf.

Tabellen-/Datensatzbesitz

Dataverse unterstützt zwei Arten von Datensatzeigentum. Im Besitz der Organisation und im Besitz von Benutzern oder Teams. Dies ist eine Auswahl, die beim Erstellen der Tabelle getroffen wird und nicht geändert werden kann. Aus Sicherheitsgründen ist bei Datensätzen, die sich im Besitz der Organisation befinden, die einzige Auswahl der Zugriffsebene, ob der Benutzer den Vorgang ausführen kann oder nicht. Für Benutzer- und Teamdatensätze sind die Zugriffsebenenoptionen für die meisten Berechtigungen abgestufte Organisation, Geschäftseinheit, Geschäftseinheit und untergeordnete Geschäftseinheit oder nur die eigenen Datensätze des Benutzers. Das bedeutet, dass Sie für die Leseberechtigung für Kontakt benutzereigen festlegen können. Der Benutzer kann dann nur eigenen Datensätze anzeigen.

Ein weiteres Beispiel: Benutzer A ist dem Geschäftsbereich A zugeordnet, und wir erteilen ihm Lesezugriff auf Unternehmenseinheitsebene für Kontakt. Sie könnten Kontakt Nr. 1 und Nr. 2 sehen, aber nicht Kontakt Nr. 3.

Wenn Sie Sicherheitsrolle-Berechtigungen konfigurieren oder bearbeiten, legen Sie die Zugriffsebene für jede Option fest. Im Folgenden wird ein Beispiel für den Sicherheitsrollen-Rechteditor aufgeführt.

Sicherheitsrollenberechtigungen.

Oben sehen Sie die Standardberechtigungstypen für jede Tabelle Erstellen, Lesen, Schreiben, Löschen, Anhängen, Anhängen an, Zuweisen und Freigeben. Sie können jeden einzeln bearbeiten. Die visuelle Anzeige der einzelnen Elemente entspricht dem unten angegebenen Schlüssel für die von Ihnen gewährte Zugriffsebene.

Schlüssel für Sicherheitsrollenberechtigungen.

Im oben aufgeführten Beispiel haben wir Zugrifff auf Organisationsebene für den Kontakt erteilt, was bedeutet, dass der Benutzer in Geschäftsbereich A Kontakte anzeigen und aktualisieren kann, die im Besitz andere Benutzer sind. Einer der häufigsten Verwaltungsfehler ist es wahrscheinlich, von den Berechtigungen frustriert zu sein und zu viele Zugriffsrechte zu erteilen. Ein gut erstelltes Sicherheitsmodell sieht ganz schnell wie Schweizer Käse aus (voll mit Löchern).

Teams

Teams sind ein anderer wichtiger Sicherheitsbaustein. Teams gehören einem Konzernmandant. Jeder Konzernmandant hat ein Standardteam, das automatisch erstellt wird, wenn der Konzernmandant erstellt wird. Die Standardteammitglieder werden von Dataverse verwaltet und enthalten immer alle Benutzer, die diesem Konzernmandanten zugeordnet sind. Sie können keine Mitglieder manuell zum Standardteam hinzufügen oder daraus entfernen. Sie werden vom System dynamisch als neue Benutzer angepasst und werden mit Geschäftsbereichen verknüpft. Es gibt zwei Typen Teams: besitzende Teams und Zugriffsteams.

  • Besitzende Teams können Datensätze besitzen, mit denen jedes Teammitglied direkten Zugriff auf diesen Datensatz erhält. Benutzer können mehreren Teams angehören. Dies ermöglicht es, Benutzern auf breiter Basis Berechtigungen zu erteilen, ohne den Zugriff bis ins Kleinste auf den einzelnen Benutzerebenen zu verwalten.
  • Zugriffsteams werden im nächsten Abschnitt als Teil der gemeinsamen Nutzung von Datensätzen behandelt.

Freigeben von Datensätzen

Einzelne Datensätze können auf individueller Basis für einen anderen Benutzer freigegeben werden. Dies ist eine gute Methode, um Ausnahmen zu handhaben, die nicht in das Modell Datensatzbesitz oder Unternehmenseinheitszugriff fallen. Dies sollte jedoch eine Ausnahme sein, da die Zugriffssteuerung weniger leistungsfähig ist. Die Freigabe zur Fehlerbehebung ist schwieriger, da es sich nicht um eine konsistent implementierte Zugriffssteuerung handelt. Die Freigabe kann auf der Benutzer- und auf Teamebene erfolgen. Die Freigabe für ein Team ist eine effizientere Art der Freigabe. Ein ausgereifteres Konzept der Freigabe sind Zugriffsteams, welche die automatische Erstellung eines Teams und die Freigabe des Datensatzzugriffs für das Team basierend auf einer Zugriffsteamvorlage (Vorlage von Berechtigungen) bieten, die angewendet wird. Zugriffsteams können auch ohne die Vorlagen verwendet werden, indem nur die Mitglieder manuell hinzugefügt/entfernt werden. Zugriffsteams sind leistungsstärker, da sie nicht erlauben, dass Datensätze im Besitz vom Team sind oder dem Team Sicherheitsrollen zugewiesen werden. Benutzer erhalten Zugriff, da der Datensatz für das Team freigegeben wird und der Benutzer ein Mitglied ist.

Sicherheit auf Datensatzebene in Dataverse

Sie fragen sich möglicherweise, was den Zugriff auf einen Datensatz bestimmt? Das klingt nach einer einfachen Frage, aber für alle Benutzer ist es die Kombination aller ihrer Sicherheitsrollen, die Unternehmenseinheit, der sie zugeordnet sind, die Teams, deren Mitglieder sie sind, und die Datensätze, die für sie freigegeben werden. Die wichtigste Punkt ist, daran zu denken, dass der Zugriff über alle diese Konzepte im Kontext einer Dataverse-Datenbankumgebung kumulativ ist. Diese Berechtigungen werden nur innerhalb einer Einzeldatenbank gewährt und werden individuell in jeder Dataverse Datenback nachverfolgt. Die erfordert eine entsprechende Lizenz, um auf Dataverse zuzugreifen.

Sicherheit auf Feldebene in Dataverse

Die Zugriffssteuerung auf Datensatzebene ist mitunter für einige Geschäftsszenarien nicht angemessen. Dataverse enthält eine Sicherheitsfunktion auf Feldebene, um eine präziseren Steuerung der Sicherheit auf Feldebene zu erlauben. Sicherheit auf Feldebene kann für alle benutzerdefinierten Felder und die meisten Systemfelder aktiviert werden. Die meisten Systemfelder, die personenbezogene Daten (PII) enthalten, können einzeln gesichert werden. Die Metadaten jedes Feldes definieren, ob dies eine verfügbare Option für das Systemfeld ist.

Sicherheit auf Feldebene wird Feld für Feld aktiviert. Der Zugriff wird dann verwaltet, indem ein Feldsicherheitsprofil erstellt wird. Das Profil enthält alle Felder, für die Sicherheit auf Feldebene aktiviert ist, und den Zugriff, der von diesem bestimmten Profil gewährt wird. Jedes Feld kann innerhalb des Profils für Erstellen-, Aktualisieren- und Lesezugriff gesteuert werden. Feldsicherheitsprofile werden dann einem Benutzer oder Teams zugeordnet, um diese Rechte Benutzern für Datensätze zu erteilen, auf die sie bereits Zugriff haben. Es ist wichtig zu beachten, dass die Sicherheit auf Feldebene nichts mit der Sicherheit auf Datensatzebene zu tun hat. Ein Benutzer muss bereits Zugriff auf den Datensatz für das Feldsicherheitsprofil haben, um Zugriff auf die Felder zu erhalten. Sicherheit auf Feldebene sollte nach Bedarf und nicht übermäßig verwendet werden, das sie Aufwand verursacht, der bei übermäßiger Verwendung negative Auswirkungen haben kann.

Verwalten der Sicherheit über mehrere Umgebungen

Sicherheitsrollen und Feldsicherheitsprofile können in einem Paket zusammengefasst und von einer Umgebung in die nächste verschoben werden mithilfe von Dataverse-Lösungen. Unternehmenseinheiten und Teams müssen in jeder Dataverse-Umgebung zusammen mit der Zuweisung von Benutzern zu den erforderlichen Sicherheitskomponenten erstellt und verwaltet werden.

Sicherheit der Umgebung des Benutzers konfigurieren

Nachdem eine Organisation die erforderlichen Rollen, Teams und Unternehmenseinheiten definiert hat, ist es an der Zeit, den Benutzern ihre Sicherheitskonfigurationen zuzuweisen. Wenn Sie einen Benutzer erstellen, ordnen Sie den Benutzer zunächst einem Geschäftsbereich zu. Standardmäßig ist dies die Stammunternehmenseinheit in der Organisation. Sie werden auch dem Standardteam dieser Geschäftseinheit hinzugefügt.

Darüber hinaus weisen Sie alle Sicherheitsrollen zu, die ein Benutzer benötigt. Sie fügen ihn auch als Mitglied zu Teams hinzu. Denken Sie daran, dass Teams auch Sicherheitsrollen haben können, sodass die effektiven Rechte des Benutzers aus der Kombination der direkten Zuweisung von Sicherheitsrollen mit denen der Teams, denen sie angehören, bestehen. Sicherheit ist immer additiv und bietet die am wenigsten einschränkende Berechtigung aller Berechtigungen. Im Folgenden finden Sie eine gute exemplarische Vorgehensweise für das Konfigurieren von Umgebungssicherheit.

Wenn Sie Sicherheit auf Feldebene verwendet haben, müssen Sie den Benutzer oder ein Team des Benutzers einem der von Ihnen erstellten Feldwertpapierprofile zuordnen.

Sicherheit ist ein komplexer Artikel und wird am besten als gemeinsame Anstrengung zwischen den Anwendungsherstellern und dem Team durchgeführt, das die Benutzerberechtigungen verwaltet. Alle größeren Änderungen sollten gut koordiniert werden, bevor sie in die Umgebung bereitgestellt werden.

Siehe auch

Umgebungssicherheit konfigurieren
Sicherheitsrollen und Berechtigungen