ORDA – Oprávnění – Omezení / povolení webového přístupu ke zdrojům jedním kliknutím

Automaticky přeloženo z Deepl

Zde zjistíte, jak můžete ve webových procesech chránit své zdroje (data + obchodní logiku) před škodlivými přístupy a před neoprávněnými uživateli… jedním kliknutím.

V režimu vývoje nastavte vlastnost Omezit přístup ve výchozím nastavení na hodnotu FALSE a soustřeďte se na organizaci kódu, datový model, architekturu stránek Qodly, testy … bez jakýchkoli omezení pro používání dat nebo volání funkcí.

Až budete připraveni implementovat uživatelské profily, stačí nastavit vlastnost Restrict access by default na TRUE, abyste zajistili, že nikdo nebude mít přístup k vašim datům a obchodní logice, aniž by byl výslovně autorizován.

Připomínka

Od verze 4D 20 poskytuje 4D výkonný a plně přizpůsobitelný systém ochrany zdrojů (data + obchodní logika) před neautorizovanými uživateli.

Tento systém nabízí přizpůsobitelnou úroveň granularity a spoléhá na přítomnost oprávnění v relaci. Privilegia musí být nastavena v souboru roles.json a musí být autorizována ke spuštění některých akcí (Read (Číst), Create (Vytvořit), …) na některých zdrojích (datové třídy, atributy, funkce).

Privilegia se uplatňují na webových procesech využívajících škálovatelné webové relace, např: REST požadavky, vzdálená datová úložiště, aplikace Qodly.

Když je uživateli povolen vstup do aplikace, musí implementace ověřování vložit do relace příslušná oprávnění.

Když pak aplikace obdrží webový požadavek, provede se kontrola ohledně přítomnosti oprávnění v relaci. Lze provádět pouze autorizované akce.

Pokud akce na prostředku není povolena, je vyvolána chyba oprávnění.

vlastnost omezit přístup ve výchozím nastavení

S 4D21 je v souboru roles.json k dispozici nová boolean vlastnost: restrictedByDefault.

Umožňuje nastavit výchozí chování týkající se webových přístupů k níže uvedeným zdrojům:

To má vliv pouze na prostředky, u kterých nebyla nastavena žádná oprávnění.

Pokud je FALSE: prostředky jsou standardně přístupné.

Pokud nenastavíte žádná oprávnění, jsou všechny vaše zdroje přístupné, pokud jde o jakoukoli akci Vytvořit, Číst, Aktualizovat

Pokud nastavíte oprávnění, zůstanou všechny vaše prostředky, kterých se oprávnění netýkají, přístupné.

Pokud TRUE: přístup ke zdrojům je ve výchozím nastavení omezen.

Pokud nenastavíte žádná oprávnění, nebude přístupné nic z vašich zdrojů.

Pokud nastavíte oprávnění, všechny vaše prostředky, které nejsou zapojeny do oprávnění, zůstanou nepřístupné.

Rozhraní Qodly Role a oprávnění

Možná jste již použili rozhraní Qodly studio Role a oprávnění. Nabízí uživatelsky přívětivé uživatelské rozhraní pro nastavení oprávnění pro vaši aplikaci. Toto uživatelské rozhraní nyní nabízí aktualizaci vlastnosti Omezit přístup podle výchozího nastavení.

S předchozími verzemi 4D

Pokud vaše aplikace běží s předchozí verzí 4D, je to ekvivalentní tomu, že má restrictedByDefault nastavenou hodnotu FALSE. Podobnou úroveň zabezpečení získáte vytvořením oprávnění all, které vám umožní spouštět všechny akce v datovém úložišti.

A toto privilegium all nikdy neudělujte žádnému uživateli.

blank

Spuštění nového projektu

Při vytváření nového projektu je soubor roles.json nastaven tak, jak je:

blank

Protože je restrictedByDefault nastavena na False, pomůže to při zahájení nového vývoje. Můžete se soustředit na svůj kód, návrh formulářů, volání funkcí a přístup k datům, aniž by vám v tom někdo bránil.

osvědčený postup

Pro optimální zabezpečení doporučujeme, abystev okamžiku, kdy jste připraveni implementovat uživatelské profily, nastavili vlastnost restrictedByDefault na True a nastavili oprávnění tak, abyste zajistili:

vaše zdroje jsou chráněny před vnějšími škodlivými přístupy

každý uživatel má právo provádět pouze autorizované akce na povolených datech

příklad

V níže uvedeném příkladu je datový model následující:

blank

V souboru roles.json:

blank

tedy:

– není možné přistupovat k datové třídě SecretInfos (Read, Create, Update, …)

– pro čtení datové třídy People je vyžadováno privilegium viewPeople, ostatní akce s datovou třídou People nejsou povoleny.

Přiložené HDI to demonstruje.

Nečekejte s nastavením oprávnění, abyste zabezpečili svou aplikaci a svá data a zároveň zpracovali přesné a vhodné profily uživatelů.

Avatar
• Product Owner • Marie-Sophie Landrieu-Yvert se připojila k programovému týmu 4D jako Product Owner v roce 2017. Jako Product Owner má na starosti psaní uživatelských příběhů a jejich převod do funkčních specifikací. Její úlohou je také zajistit, aby implementovaná funkce odpovídala potřebám zákazníka. Marie-Sophie vystudovala inženýrskou školu ESIGELEC a svou kariéru zahájila jako inženýrka v IBM v roce 1995. Podílela se na různých projektech (projekty údržby nebo výstavby) a pracovala jako vývojářka Cobol. Poté pracovala jako UML designer a Java developer. V poslední době byly jejími hlavními rolí analyzovat a psát funkčních požadavky a koordinovat obchodní a vývojové týmy.