Sicherheitsmodell
Wie wird Anwendungssicherheit definiert in Mendix?
Mendix bietet rollenbasierten Benutzerzugriff auf Anwendungen, die mit der Plattform direkt einsatzbereit erstellt wurden. Dies liegt daran, dass Apps in Mendix bestehen aus einem oder mehreren Modulen. Ein Modul hat normalerweise einen Funktionsumfang (z. B. Artikel, Kunden, Bestellungen), ist aber in sich abgeschlossen, sodass es in mehreren Apps wiederverwendet werden kann. Aufgrund der Unterscheidung zwischen Apps und Modulen werden Sicherheitsaspekte auf beiden Ebenen definiert. Sicherheitseinstellungen auf Anwendungsebene gelten für alle Module innerhalb der Anwendung, und Einstellungen auf Modulebene sind für jedes Modul spezifisch.
Mendix Die Anwendungssicherheit wird gemäß den unten beschriebenen Parametern definiert.
Wie werden Sicherheit auf App-Ebene und App-Modellkonsistenz definiert in Mendix?
Der Mendix Die Plattform unterstützt konfigurierbare Integritätsprüfungen zur Sicherheit aller relevanten Aspekte der auf der Plattform bereitgestellten Anwendungen. Mendix prüft auch die Konsistenz der Sicherheitseinstellungen. Beispielsweise muss eine Person, die ein bestimmtes UI-Element sehen darf, das Daten aus einer Tabelle auflistet, auch berechtigt sein, die mit diesem UI-Element verknüpften Daten anzuzeigen.
Je nach Entwicklungsstadium können Anwendungs- und Integritätsprüfungen mehr oder weniger streng angewendet werden. Dies ist in Entwicklungs- und Prototypkontexten vorteilhaft, um unnötige Aktivitäten hinsichtlich Konsistenz und Sicherheit in der Vorproduktionsphase zu vermeiden. Die Sicherheitsstufen Off und Prototyp / Demo sind nur für lokale Tests, kostenlose Apps und Apps, die auf einem nicht-Mendix Cloud-Umgebung, die für die Entwicklung spezifiziert ist. Sie können nicht für Bereitstellungen in Produktionsumgebungen verwendet werden.
Bereitstellung lizenzierter Apps für alle Mendix Cloud-Umgebungen erfordern die Produktionssicherheitsstufe und die vollständige Konfiguration aller Sicherheitseinstellungen.
Wie kann ich Benutzerrollen für meine App definieren?
Einem Endbenutzer Ihrer Anwendung wird ein oder mehrere Benutzerregeln von einem Administrator oder wird automatisch von einer (Drittanbieter-)Identitäts- und Zugriffsverwaltungslösung bereitgestellt, die in die App integriert werden kann. Der Benutzer erhält dann alle Zugriffsrechte, die diese Benutzerrollen repräsentieren.
Innerhalb einer Benutzerrolle ist es möglich, auch Benutzerverwaltungsrechte zuzuweisen, so dass Benutzer, denen die Rolle zugewiesen wurde, dann die Zugriffsrechte für andere Benutzer mit dieser ausgewählten Rolle verwalten können. Diese Funktion ist für die Unterstützung eines delegierten Verwaltungskonzepts relevant.
Jede Benutzerrolle hat eine oder mehrere Modulrollen. Modulrollen definieren eine Rolle auf Modulebene (z. B. „Auftragseingabe“ oder „Genehmiger“). Dies bedeutet, dass Benutzer mit dieser Benutzerrolle alle für diese Modulrollen definierten Zugriffsrechte haben. Ein Endbenutzer Ihrer Anwendung sieht nur die Benutzerrollen und nicht die Modulrollen, daher können einem Endbenutzer nur Benutzerrollen zugewiesen werden, während Modulrollen Benutzerrollen zugewiesen werden. Eine Benutzerrolle fasst mehrere Zugriffsrechte auf Daten, Seiten und Mikroflüsse (Logik) aus den Modulrollen zusammen.
Zudem hat auch Frau Mendix unterstützt die Anmeldung bei Anwendungen durch anonyme Benutzer durch die Konfiguration einer bestimmten Rolle für diesen Zweck.
Weitere Einzelheiten finden Sie im Abschnitt Wie werden Benutzern in meiner App Benutzerrollen zugewiesen? in Laufzeitsicherheit.
Wie kann ich den App-Zugriff skalieren?
Wie konfigurierbar ist der Dateizugriff in Mendix?
Die Zugriffsrechte für die Dateiablage und Bildnutzung in Mendix Anwendungen sind vollständig konfigurierbar.
Wie wird Sicherheit auf Daten- und UI-Ebene definiert in Mendix?
. Mendix Das Anwendungsmodell besteht aus verschiedenen Modulen, die in sich geschlossen sind. Die Sicherheit auf Daten- und UI-Ebene für Seiten, Mikroflüsse (die Aktionen ausführen), Entitäten und Datensätze wird in jedem Modul selbst definiert.
In den folgenden Abschnitten wird beschrieben, wie diese Sicherheitsstufe konfiguriert wird in Mendix Apps.
Wie funktionieren Modulrollen in My Mendix App-Modell?
Mendix unterscheidet Modulrollen von Benutzerrollen, so dass das Modul zusammen mit seinen Rollen in verschiedenen Apps wiederverwendet und/oder im Mendix Marketplace.
Wie kann ich Sicherheitseinstellungen auf Modulebene definieren?
Auf Modulebene ist die Sicherheitslogik von der Anwendungslogik getrennt. Dies ermöglicht einen einfachen Zugriff sowie die Wartung und Validierung der Sicherheitseinstellungen auch für weniger technische Benutzer. Alle Sicherheitseinstellungen werden verwaltet von Mendix Studio Pro, um Zugriffsrechte für die unten beschriebenen Elemente festzulegen.
In diesem Video werden die verschiedenen verfügbaren Sicherheitseinstellungen auf Modulebene vorgestellt:
Wie schneidet Mendix Die Seiten meiner App schützen?
Der Seitenzugriff definiert, auf welche Anwendungsseiten Benutzer mit einer bestimmten Modulrolle zugreifen können. Die Navigationselemente (Menüleisten und Schaltflächen) sind so optimiert, dass nur Elemente angezeigt werden, die auf die Seiten verweisen, auf die der Benutzer Zugriff hat.
Der Seitenzugriff erfolgt in Form einer Matrix, die Seiten und Modulrollen anzeigt. Für jede Kombination kann der Benutzer angeben, ob die Modulrolle Zugriff auf die Seite hat oder nicht. Diese Information kann auch innerhalb einer Seite bearbeitet werden, indem man auf Sichtbar für Eigentum.
Wie wird Geschäfts- und Prozesssicherheit in meinem Mendix App?
Microflows dienen der visuellen Darstellung von Geschäfts- und Prozesslogik. Der Microflow-Zugriff definiert, welche Microflows von Benutzern mit einer bestimmten Modulrolle ausgeführt werden können. Die Navigationselemente (Menüleisten und Schaltflächen) sind so optimiert, dass sie nur die Microflows anzeigen, auf die der Benutzer Zugriff hat.
Der Zugriff auf Microflows wird in einer Matrix aus Microflows und Modulrollen verwaltet. Für jede Kombination kann der Benutzer angeben, ob die Modulrolle Zugriff auf den Microflow hat oder nicht.
Diese Informationen können auch innerhalb eines Mikroflusses bearbeitet werden, indem Sie Zulässige Rollen Eigentum.
Wie werden App-Daten sicher gekapselt in Mendix?
Für jede Modulrolle definiert der Entitätszugriff, ob Benutzer mit der Rolle berechtigt sind, Objekte der Entität zu erstellen, zu lesen, zu aktualisieren und zu löschen. Der Entitätszugriff wird mit Zugriffsregeln konfiguriert, die für Entitäten gelten. Jede Zugriffsregel gilt wiederum für eine (Menge von) Modulrollen. Die Zugriffsregeln einer Entität definieren, was ein Benutzer mit Objekten der Entität tun darf. Benutzern kann das Erstellen und Löschen von Objekten sowie das Anzeigen und Bearbeiten von Mitgliedswerten gestattet werden. Ein Mitglied ist ein Attribut oder eine Assoziation einer Entität.
Darüber hinaus stehen Datenmengen von Objekten zum Anzeigen, Bearbeiten und Entfernen zur Verfügung, die mithilfe einer XPath-Einschränkung eingeschränkt werden können. Jede Zugriffsregel ist auf eine oder mehrere Modulrollen anwendbar. Eine Zugriffsregel erteilt diesen Rollen bestimmte Zugriffsrechte. Regeln sind additiv, d. h. wenn mehrere Zugriffsregeln auf dieselbe Modulrolle zutreffen, werden alle Zugriffsrechte dieser Regeln für diese Modulrolle kombiniert. Diese Funktion wird beispielsweise angewendet, wenn Anwendungen für die Verwendung durch mehrere Mandanten konfiguriert sind.
Diese Regeln werden immer dann angewendet, wenn Ihre Anwendung eine Entität verwendet, und die Regeln werden automatisch auf XPath-Abrufe angewendet, die in Ihrem Modell durchgeführt werden. Sie können XPath-Einschränkungen für Entitäten definieren, was bedeutet, dass Sie Zugriffsregeln abhängig von der Benutzerrolle oder Organisation definieren können. Dies kann verwendet werden, um eine strikte Datentrennung in Multi-Tenant-Anwendungen sicherzustellen.
Die Funktionen zur Identitäts- und Zugriffsverwaltung für Anwendungsbenutzer werden beschrieben unter Kontrollieren Sie das Risiko von App-Benutzern.