Sicherheit in Apps

Abgeschlossen

Beim Einrichten der Sicherheit können Sie vier verschiedene Sicherheitsebenen für eine App einrichten:

  • App-Ebene – Beschränkt den Zugriff auf die App.
  • Formularebene – Bei modellgesteuerten Apps können Sie mit dieser Sicherheitsebene nur bestimmten Sicherheitsgruppen den Zugriff auf bestimmte Formulare ermöglichen. Diese Ebene ist nützlich, wenn Sie die Eingabe oder Anzeige von Daten durch Personen anhand ihrer Jobrolle einschränken möchten.
  • Zeilenebene – Das Dataverse-Sicherheitsmodell steuert den Zugriff auf Zeilen.
  • Spaltenebene – Steuert den Zugriff auf einzelne Spalten in einer Tabelle.

Sicherheit sollte auf der Plattformebene erfolgen, nicht auf der App-Ebene. Es gibt zahlreiche Möglichkeiten, das Lesen und Schreiben von Daten in einer App zu steuern. Sie können Spalten in Ihrem modellgesteuerten Formular als schreibgeschützt festlegen, JavaScript verwenden, um Spalten aus der Benutzererfahrung zu maskieren, und Sie können Spalten in Formularen und Ansichten ausblenden. Keiner dieser Ansätze implementiert wirklich Sicherheit. Sie sichern die Daten nicht und Benutzer können weiterhin auf andere Weise auf die Daten zugreifen, z. B. mit der erweiterten Suche oder Bearbeitung in Excel Online.

Darüber hinaus sind alle Benutzer berechtigt, die API zu verwenden, und können Tools von Partnern und der Community verwenden, um auf die Daten zuzugreifen. Für eine ordnungsgemäße Sicherheit sollten die Sicherheitsfunktionen von Dataverse eingesetzt werden.

Erhöhte Rechte und Identitätswechsel

Sie sollten vermeiden, Benutzern hohe Rechte zu erteilen. Plug-In-.NET-Assemblys, klassische Workflows und Power Automate-Cloud-Flows können mit erhöhtem Zugriff ausgeführt werden, um Aktionen im Namen des Benutzers auszuführen. API-Code kann bei Bedarf zur Identität eines anderen Benutzers wechseln.

Automatisierung

Lösungsarchitekten sollten in Betracht ziehen, Aspekte der Benutzerverwaltung und der Sicherheit zu automatisieren. Beispielsweise können Sie viele Aspekte von der Erstellung von Teams bis zur Freigabe von Zeilen über die API steuern.

Sie könnten Plug-Ins oder Power Automate-Flows basierend auf Ereignissen auslösen, die im System auftreten, um die Sicherheit eines Benutzers zu ändern. Erhöhen Sie beispielsweise den Sicherungskontomanager automatisch oder geben Sie seine Daten frei, damit er das Konto verwalten kann, während der primäre Kontomanager im Urlaub ist.

Leistung

Bei Lösungen mit einer größeren Anzahl von Benutzern und/oder Daten müssen die Auswirkungen von Auswahlmöglichkeiten in Betracht gezogen werden. Beispiel:

  • Ein übermäßiges Teilen kann beträchtlichen Overhead verursachen.
  • Zu viele Konzernmandanten können zu einem langsamen Zugriff führen.
  • Zu viele Prozesse werden auf Ereignissen ausgeführt.
  • Schlechtes Plug-In-Design

Ein schlechtes Sicherheitsdesign kann zu einer schlechten Leistung führen. Im Folgenden sind Techniken aufgeführt, mit denen Sie die Sicherheitsleistung verbessern können:

  • Nach Möglichkeiten suchen, die Sicherheit zu erhöhen, z. B. durch Teilen mit einem Team anstatt mit einem Benutzer
  • Die Anzahl der Konzernmandanten minimieren
  • Zugriffsteams anstelle von Besitzerteams verwenden
  • Mit realen Volumes und realen Sicherheitsszenarien zur Validierung des Designs testen
  • Analysetools im Microsoft Power Platform Admin Center zum Anzeigen von API-Aufrufen und Prozessen mit hohem Volumen verwenden

Der beste Weg, um die Leistung zu verbessern, besteht darin, das Sicherheitsdesign so einfach wie möglich zu halten.

Nutzungsmuster trennen und optimieren

Ein Lösungsarchitekt sollte eine Optimierung auf verschiedene Nutzungsmuster vornehmen. Dies bedeutet insbesondere, dass die verschiedenen Sicherheitsmodellfunktionen verwendet werden, um den erforderlichen Zugriff bereitzustellen, wobei verschiedene Benutzer unterschiedliche Möglichkeiten haben, auf denselben Datensatz zuzugreifen, wie in der folgenden Abbildung dargestellt.

Diagramm zur Optimierung separater Nutzungsmuster

Verschiedene Geschäftsbereiche können unterschiedlich modelliert werden

Nicht alle Benutzer arbeiten gleich Der Lösungsarchitekt sollte verschiedene Arbeitsmodelle verschiedener Teile des Geschäfts widerspiegeln und jeden Bereich unterschiedlich modellieren, um eine optimale Lösung zu erhalten, wie in der folgenden Abbildung dargestellt.

Diagramm zur unterschiedlichen Modellierung verschiedener Geschäftsbereiche

Modellausnahmen als Ausnahmen

Lösungsarchitekten sollten darauf abzielen, die allgemeinen Zugriffsmuster so effizient wie möglich zu modellieren und ein detaillierteres Modell zu verwenden, wenn ein komplexer Zugriff erforderlich ist. Die Freigabe ist ein gutes Beispiel für die Ausnahmebehandlung. Die Freigabe sollte nach Möglichkeit mit Teams erfolgen.

Diagramm der Modellausnahmen als Ausnahmen

Historische von aktiven Daten trennen

Seltener Zugriff auf historische Daten mit hohem Datenvolumen kann sich auf den aktuellen Datenzugriff auswirken. Der Lösungsarchitekt sollte in Betracht ziehen, Daten im Sicherheitsmodell in separate Tabellen zu partitionieren und einen sekundären Mechanismus für gelegentlichen Zugriff bereitzustellen.

Das Datenmodell zur Verbesserung der Sicherheit überprüfen

Einige Anpassungen des Datenmodells können die Sicherheitsmodellierung vereinfachen. Der Lösungsarchitekt sollte bestimmen, ob das Definieren neuer Datengrenzen die Sicherheitsmodellierung vereinfacht. Statt einen individuellen Zugriff auf Kontodatensätze zu definieren, könnten Sie Finanzberichtsinformationen von den Kontodatensätzen in eine separate Finanztabelle verschieben, sodass die Kontotabelle für alle sichtbar ist, wobei die Finanztabelle nur Managern vorbehalten ist.