ORDA – Berechtigungen – Webzugriff auf die Ressourcen mit einem Klick einschränken/erlauben

Automatisch übersetzt von Deepl

Entdecken Sie hier, wie Sie in Web-Prozessen Ihre Ressourcen (Daten + Geschäftslogik) vor böswilligen Zugriffen und vor unbefugten Benutzern schützen können … mit einem Klick.

Setzen Sie im Entwicklungsmodus die Eigenschaft Zugriff standardmäßig einschränken auf FALSE, um sich auf Ihre Code-Organisation, das Datenmodell, die Architektur der Qodly-Seiten und die Tests zu konzentrieren … ohne jegliche Einschränkung bei der Verwendung von Daten oder dem Aufruf von Funktionen.

Wenn Sie bereit sind, Benutzerprofile zu implementieren, setzen Sie einfach die Eigenschaft Zugriff standardmäßig einschränken auf TRUE, um sicherzustellen, dass niemand auf Ihre Daten und Geschäftslogik zugreifen kann, ohne explizit autorisiert zu sein.

Erinnerung

Seit 4D 20 bietet 4D ein leistungsfähiges und vollständig anpassbares System zum Schutz der Ressourcen (Daten + Geschäftslogik) vor unbefugten Benutzern.

Dieses System bietet eine anpassbare Granularität und basiert auf dem Vorhandensein von Berechtigungen in der Sitzung. Privilegien müssen in der Datei roles.json eingerichtet werden und berechtigen zur Ausführung bestimmter Aktionen (Lesen, Erstellen, …) auf bestimmten Ressourcen (Datenklassen, Attribute, Funktionen).

Privilegien gelten für Web-Prozesse, die skalierbare Web-Sessions verwenden, z.B.: REST-Anfragen, Remote-Datenspeicher, Qodly-Apps.

Wenn dem Benutzer der Zugang zur Anwendung gewährt wird, muss die Authentifizierungsimplementierung die entsprechenden Berechtigungen in die Sitzung aufnehmen.

Wenn die Anwendung dann eine Web-Anfrage erhält, wird das Vorhandensein von Berechtigungen in der Sitzung kontrolliert. Nur autorisierte Aktionen können durchgeführt werden.

Ein Berechtigungsfehler wird ausgelöst, wenn die Aktion auf die Ressource nicht erlaubt ist.

die Eigenschaft Zugriff standardmäßig einschränken

Mit 4D21 ist eine neue boolesche Eigenschaft in der Datei roles.json verfügbar: restrictedByDefault.

Sie ermöglicht es, das Standardverhalten in Bezug auf Web-Zugriffe auf die folgenden Ressourcen festzulegen:

Dies wirkt sich nur auf Ressourcen aus, für die keine Berechtigungen eingerichtet wurden.

Wenn FALSE: die Ressourcen sind standardmäßig zugänglich

Wenn Sie keine Berechtigungen einrichten, sind alle Ihre Ressourcen in Bezug auf jede Aktion Create, Read, Update… zugänglich.

Wenn Sie Berechtigungen einrichten, bleiben alle Ihre Ressourcen, die nicht von den Berechtigungen betroffen sind, zugänglich.

Wenn TRUE: der Zugriff auf die Ressourcen ist standardmäßig eingeschränkt

Wenn Sie keine Berechtigungen einrichten, ist nichts in Ihren Ressourcen zugänglich.

Wenn Sie Berechtigungen einrichten, bleiben alle Ihre Ressourcen, die nicht an den Berechtigungen beteiligt sind, UNzugänglich.

Die Qodly-Schnittstelle für Rollen und Berechtigungen

Vielleicht haben Sie bereits die Qodly-Studio-Schnittstelle für Rollen und Berechtigungen verwendet. Sie bietet ein benutzerfreundliches UI, um die Berechtigungen für Ihre Anwendung einzurichten. Diese Benutzeroberfläche bietet nun die Möglichkeit, die Eigenschaft Zugriff standardmäßig einschränken zu aktualisieren.

mit früheren 4D Versionen

Wenn Ihre Anwendung mit einer früheren 4D Version läuft, ist es äquivalent, wenn restrictedByDefault auf FALSE gesetzt ist. Sie können ein ähnliches Maß an Sicherheit erreichen, indem Sie ein „all“ -Privileg einrichten, das Ihnen erlaubt, alle Aktionen auf dem Datenspeicher auszuführen.

Und geben Sie dieses „all“- Privileg niemals an einen Benutzer.

blank

Starten eines neuen Projekts

Wenn Sie ein neues Projekt erstellen, wird die Datei roles.json so eingerichtet, wie sie ist:

blank

Da restrictedByDefault auf False gesetzt ist, hilft dies beim Start einer neuen Entwicklung. Sie können sich auf Ihren Code, das Design von Formularen, Funktionsaufrufe und den Zugriff auf Ihre Daten konzentrieren, ohne daran gehindert zu werden.

Beste Praxis

Um optimale Sicherheit zu gewährleisten, empfehlen wirbei der Implementierung von Benutzerprofilen , die Eigenschaft restrictedByDefault auf True zu setzen und die Berechtigungen so einzurichten, dass Folgendes gewährleistet ist:

Ihre Ressourcen sind vor böswilligen Zugriffen von außen geschützt

jeder Benutzer darf nur autorisierte Aktionen mit zulässigen Daten durchführen

Beispiel

Im folgenden Beispiel ist das Datenmodell wie folgt:

blank

In der Datei roles.json:

blank

also:

– es ist nicht möglich, auf die SecretInfos-Datenklasse zuzugreifen (Lesen, Erstellen, Aktualisieren, …)

– das viewPeople-Recht ist erforderlich, um die People-Dataklasse zu lesen, andere Aktionen auf die People-Dataklasse werden nicht gewährt

Die beigefügte HDI demonstriert dies.

Warten Sie nicht damit, Berechtigungen einzurichten, um Ihre Anwendung und Ihre Daten zu schützen und gleichzeitig genaue und angemessene Benutzerprofile zu handhaben.

Avatar
- Product Owner - Marie-Sophie Landrieu-Yvert ist seit 2017 als Product Owner im 4D Produktteam tätig. Als Product Owner ist sie für das Schreiben der User Stories und deren Umsetzung in funktionale Spezifikationen zuständig. Ihre Aufgabe ist es auch, sicherzustellen, dass die Implementierung der Funktionen den Anforderungen des Kunden entspricht. Marie-Sophie ist Absolventin der ESIGELEC Ingenieurschule und begann ihre Karriere als Ingenieurin bei IBM im Jahr 1995. Sie nahm an verschiedenen Projekten teil (Wartungs- oder Build-Projekte) und arbeitete als Cobol-Entwicklerin. Dann arbeitete sie als UML-Designerin und Java-Entwicklerin. In letzter Zeit bestand ihre Hauptaufgabe darin, funktionale Anforderungen zu analysieren und zu schreiben sowie Geschäfts- und Entwicklungsteams zu koordinieren.