Správa profilů v systému a jejich oprávnění je základní, byť více než složitá záležitost, ve které se některé chyby neodpouštějí. Naštěstí Salesforce vyvinul permisson sety, díky nimž se bezpečnost dat zvýšila. Vyřešili se tak všechny potíže v profilech? Bohužel zdaleka ne. Barbora Šourková, účastnice kurzu Women in Tech a posila v týmu Enehana, vytvořila Salesforce PermissionSet Helper. Zajímá vás, k čemu je tento program užitečný, jak usnadňuje implementaci v organizaci s profilovou roztříštěností a proč vyhrál první místo na Czech Dreamin?
Letos to bylo 10 let od doby, kdy Salesforce poprvé představil permission sety jakožto doplněk k základním kamenům bezpečnosti na platformě force.com, tedy profilům. Pokud jste se někdy setkali se Salesforce implementací z této či starší doby, jistě jste zaznamenali, že takové profily mohou obsahovat tisíce definic a při změnovém požadavku na přístupy k datům se i zkušený administrátor roztřese, zatímco vývojář, který má změny zaverzovat, se rovnou rozpláče.
Dnes už je práce s permission sety rozšířená a umožňuje efektivnější implementaci a správu oprávnění v organizaci. Například při vytváření více aplikací je snazší přemýšlet o seskupování oprávnění v kontextu jednotlivých aplikací, nikoli standardně podle uživatelů. Každý uživatel ale musí mít přiřazen právě jeden profil, a tak obecné pravidlo šťastného administrátora zní „udržujme profily pokud možno minimální a všechna rozšiřující oprávnění definujme v permission setech“. Jenže co dělat, když se nám do rukou dostane organizace s komplexní strukturou spolu se zástupem gigantických profilů?
Pro získání lepšího přehledu nad profily nám pro začátek pomůže aktivování Enhanced Profile User Interface přímo v nastavení organizace. Pro podrobnější analýzu a různé náhledy na oprávnění lze využít nástroje jako je User Access and Permissions Assistant, který je zdarma dostupný na App Exchange a kde lze mimo jiné nahlížet na oprávnění podle jednotlivých uživatelů systému.

Pokud se chystáme v takové organizaci provádět změny v nastavení oprávnění, hodilo by se nám rozložit komplexnost profilů do permission setů. Manuálně je to ale téměř nemožné, bylo by to velmi časově náročné a náchylné na chyby. Pomoci s tímto problémem by mohl program, který tuto práci provede za nás. Proto pod záštitou Enehana vznikl prototyp programu s názvem Salesforce PermissionSet Helper.
Salesforce PermissionSet Helper je open-source desktopová aplikace umožňující transformaci Salesforce profilů na permission sety. Tato aplikace nám pomůže provést konverzi na skupiny permission setů, očištění původních profilů a odstranění duplicit v definicích, a to jak přímým napojením do Salesforce instance, tak i lokálně pro kontrolu souborů metadat a sledování změn ve verzovacím systému.
Aplikace nás v pěti krocích provede transformací. Od zabezpečeného přihlášení našeho zařízení do Salesforce instance přes OAuth2, přes selekci typů oprávnění, které chceme přesunout, odstranění duplicitních permission setů až po nahrání zpět do naší organizace.

O tom, že vývoj takového nástroje má smysl svědčí fakt, že jeho ukázka na Demo Jamu, v rámci pražské Salesforce konference Czech Dreamin 2022, podle účastníků s přehledem vyhrála jako nejlepší.

Aplikace je dostupná ve veřejném GitHub repozitáři, odkud si můžete stáhnout aktuální verzi a pokud máte zkušenosti s vývojem v Javě, můžete se podílet na jejím rozvoji. Více informací naleznete na https://github.com/Enehano/permissionset-helper. Těšíme se na Váš feedback či spolupráci!
Barča pracovala jako data analytička a JAVA vývojářka. K Salesforce jí přivedl kurz od Women in Tech zaměřený na vývoj na platformě Salesforce. Enehano poznala při psaní diplomové práce, která pojednávala právě o Salesforce Permissionset Helper.