System uprawnień – kontrola dostępu do danych

Dowiedz się, dlaczego warto wdrożyć system uprawnień w systemie ERP i jak można chronić swoje dane przed kradzieżą i nieupoważnionym dostępem.

 

Potrzeba biznesowa

Każdy system ERP zawiera duże ilości danych wrażliwych, których wyciek mógłby mieć fatalne skutki dla firmy. Danymi wrażliwymi mogą być: dane osobowe pracowników, listy płac, baza klientów, informacje o recepturach produkcyjnych, informacje o cenach zakupu towarów, itp. Dlatego w interesie każdej firmy jest ochrona danych wrażliwych przed nieupoważnionym dostępem nie tylko konkurencji czy przestępców, ale i własnych pracowników.

W obliczu nadchodzących zmian prawnych związanych z rozpoczęciem obowiązywania europejskiego Rozporządzenia o Ochronie Danych Osobowych (RODO) ważne jest też, aby minimalizować ryzyka naruszeń ochrony danych osobowych zawartych w systemie ERP.

Najlepszą metodą ochrony jest zapobieganie. W tym przypadku oznacza to ograniczenie dostępu do danych: tylko osoby upoważnione powinny mieć dostęp do danych, i to tylko tych niezbędnych do wykonywania swoich obowiązków.

W rezultacie system ERP powinien umożliwiać ograniczenie dostępu do wybranych danych dla odpowiednich grup pracowników oraz sprawne i efektywne administrowanie uprawnieniami.

Dotychczasowe ograniczenia

W systemie Softlab ERP by Asseco od bardzo dawna był dostępny system uprawnień, który pozwalał ograniczyć dostęp do funkcjonalności i do danych.

Dostęp do informacji był ograniczany na poziomie firmy i magazynu: operator widział tylko dane firmy i magazynów, do których został przypisany.

System dostępu do funkcjonalności początkowo oparty był o hierarchię organizacyjną i układ menu. Ograniczenie dostępu polegało na utworzeniu grupy operatorów w hierarchii organizacyjnej i wykorzystaniu jej przy wyświetlaniu zawartości menu. Ten system był dosyć trudny w użyciu (definiowanie ograniczeń wymagało prowadzenia prac programistycznych) i administrowaniu (nie istniały narzędzia ułatwiające przeglądanie i grupową edycję grup operatorów; modyfikacja zakresu dostępu wymagała prac programistycznych) i nie było możliwości przenoszenia konfiguracji pomiędzy bazami, np. między bazą testową i produkcyjną.

Jak to usprawniliśmy

W wersji 54, obok dotychczasowego systemu uprawnień do funkcjonalności, wprowadzono moduł praw oparty na zupełnie nowej koncepcji. Teraz przy konfiguracji uprawnień punktem wyjścia nie jest hierarchia organizacyjna, ale grupy czynności, które nazwaliśmy funkcjami praw. Funkcja praw to zestaw powiązanych czynności wykonywanych w systemie przez użytkownika.

System Softlab ERP by Asseco zawiera wiele predefiniowanych, przykładowych i typowych funkcji praw, które można wykorzystać wprost lub z niewielkimi modyfikacjami do konfiguracji uprawnień. Można też tworzyć nowe funkcje praw przy użyciu funkcjonalności aplikacji (nie są wymagane prace programistyczne).

Rys. 1. Przykładowe funkcje praw zawarte w standardzie

Po skonfigurowaniu funkcji praw można ich użyć do administrowania uprawnieniami, co w skrócie polega na przypisaniu do danego operatora lub grupy operatorów tych funkcji praw, które odpowiadają zakresowi obowiązków pracownika.

Rys. 2. Przypisanie operatora do funkcji praw

Dzięki rozdzieleniu konfiguracji uprawnień od administrowania systemem uzyskano uproszczenie procesu administracji uprawnieniami. Administrator uprawnień jest w stanie przydzielić operatorom dostęp tylko do tych funkcjonalności, które będą niezbędne do wykonywania ich obowiązków. Może on też uniemożliwić nieuprawniony dostęp do funkcjonalności, do których pracownik nie powinien mieć wglądu.

Uzupełnieniem systemu praw jest możliwość ograniczenia dostępu do danych, która funkcjonuje nadal w niezmieniony sposób.

W celu ograniczenia pracownikowi dostępu do danych należy zdefiniować tzw. prawa do wierszy, które pozwalają na wyświetlanie wyłącznie rekordów spełniających kryterium widoczności, np. danych rejestrowanych na określonym magazynie. Dzięki temu pracownik będzie mieć dostęp do słownika, ale zobaczy w nim wyłącznie te rekordy, które może zobaczyć (np. zarejestrowane na określonym magazynie).

Dodano też mechanizm skryptowania uprawnień, który pozwala na proste przeniesienie konfiguracji praw z jednej bazy na drugą, np. ze środowiska testowego na produkcyjne. W tym celu administrator uprawnień powinien zapisać tzw. log zmian rozwojowych na bazie źródłowej, gdzie przygotował i przetestował wcześniej konfigurację praw.

Rys. 3. Skryptowanie uprawnień przez zapis Logu zmian rozwojowych

Zapisany skrypt należy wczytać do nowej ramki wdrożeniowej w repozytorium i opublikować na bazie docelowej.

Jakie biznesowe przypadki użycia może obsłużyć nasze rozwiązanie

Poniżej przedstawiamy praktyczne przykłady zastosowania omawianej funkcjonalności.

Przykład 1.

W firmie handlowej, w której sprzedaż odbywa się w wielu sklepach, chcemy ograniczyć dostęp użytkowników tylko do dowodów powstających w danym sklepie. W tym celu dla każdego sklepu definiujemy odrębny magazyn, a następnie wykorzystujemy konfigurację praw do wierszy.

Rys. 4. Konfigurowanie praw do magazynów

W słowniku Prawa do wierszy odszukujemy wiersz grupujący prawa do magazynów (Pole; Nazwa = MAG) i upewniamy się, że jest aktywny (zaznaczone pole Aktywne).

Uwaga! Domyślnie prawa do magazynów są wyłączone, co oznacza, że każdy operator ma dostęp do wszystkich magazynów. Włączenie praw do magazynów (nawet dla jednego operatora) sprawi, że trzeba wszystkim operatorom zdefiniować uprawnienia do magazynów (w szczególe Prawa do wierszy dla operatorów). W przeciwnym razie utracą dostęp do magazynów, a w rezultacie do zarejestrowanych na tych magazynach dokumentów.

Następnie w szczególe Prawa do wierszy dla operatorów dopisujemy wiersz wskazany na rysunku powyżej. Jest to definicja uprawnienia, które operatorowi PartnerTestSprzSzybka przyznaje dostęp do magazynów MG01 oraz MG04. Użyty w nim operator IN pozwala enumeratywnie wylistować magazyny, do których chcemy nadać uprawnienia. Innym często stosowanym operatorem jest LIKE, który pozwala wskazać magazyn poprzez porównanie z podanym wzorcem (% oznacza dowolny ciąg znaków).

Użytkownik PartnerTestSprzSzybka w rejestrach z dowodami będzie widział tylko dokumenty ze „swoich” magazynów (MG01 oraz MG04):

Rys. 5. Ograniczony dostęp do dowodów

Przykład 2.

Nie chcemy, aby użytkownik PartnerTestKarWMS miał dostęp do podglądu cen zakupu w słowniku Kartoteka materiałowa. W tym celu w słowniku Administracja uprawnieniami odszukujemy wszystkie funkcje praw w słowniku, do którego jest podłączony ten operator. W filtrze Operator wpisujemy użytkownika i filtrujemy dane. Przykładowy użytkownik jest podłączony do 2 funkcji praw. Dla tych funkcji praw upewniamy się, że użytkownik nie ma zaznaczonej kolumny N (co oznacza Nadane prawo) dla akcji Prawo do ceny zakupu:

Rys. 6. Konfiguracja funkcji praw

W efekcie dany użytkownik, przeglądając np. kartotekę materiałową, nie będzie widział zawartości tego pola:

Rys. 7. Efekt braku praw do ceny zakupu

Jakie to daje korzyści

  • Zwiększenie bezpieczeństwa danych, ich nienaruszalności i poufności.
  • Obniżenie ryzyka nieupoważnionego dostępu do danych i ich kradzieży.
  • Zmniejszenie ryzyka nieuprawnionego działania użytkowników.
  • Możliwość dostosowania aplikacji do potrzeb użytkownika.
  • Mniej pracochłonna administracja uprawnieniami.

 

Autor wpisu: Marcin Moszczyński