Zabezpieczenia na poziomie pól
Niekiedy zabezpieczenia na poziomie transakcji i czynności nie są wystarczające. W niektórych sytuacjach zachodzi potrzeba ograniczenia dostępu do czynności w zależności od wartości danych. Na przykład w programie Oracle Utilities Customer Care and Billing celowe może być uniemożliwienie niektórym użytkownikom realizacji faktur na kwoty większe niż 100 000 PLN. Taki mechanizm nazywany jest "zabezpieczeniami na poziomie pól".
Zabezpieczenia na poziomie pól mogą okazać się skomplikowane, a ich działanie - nieoczywiste. Implementacja zabezpieczeń na poziomie pól zawsze wymaga wykonania pewnych prac programistycznych przez zespół implementacyjny. Prace te polegają na wprowadzeniu logiki na poziomie pól do odpowiednich usług aplikacyjnych. Zaleca się użycie algorytmu walidacji obiektu biznesowego do sprawdzania zabezpieczeń na poziomie pól.
W logice walidacji musi istnieć sprawdzanie zabezpieczeń na poziomie pól, aby zapewnić, że dane nie zostaną dodane lub zaktualizowane, jeśli nie będą zgodne z regułami zabezpieczeń na poziomie pól.
Wdrażanie zmian interfejsu użytkownika powiązanych z zabezpieczeniami na poziomie pól, takich jak ochrona elementów pod pewnymi warunkami, nie jest proste. Wynika to z faktu, że nadpisanie interfejsu użytkownika dostarczonego w produkcie bazowym w celu sprawdzenia, czy istnieją określone warunki wdrożenia, nie zawsze jest obsługiwane, w zależności od sposobu utworzenia interfejsu użytkownika lub wymaga pełnego powielenia artefaktów produktu, co nie jest zalecane.
Definicja praw dostępu użytkownika jest wykonywana przy użyciu tych samych transakcji, które są używane do definiowania zabezpieczeń na poziomie transakcji / czynności. Odbywa się to w następujący sposób:
- Utwórz typ zabezpieczeń dla każdego typu zabezpieczenia na poziomie pól.
- Zdefiniuj różne poziomy dostępu dla każdego typu zabezpieczenia. Załóżmy na przykład, że niektórzy użytkownicy mogą realizować faktury na kwoty niższe niż 300 PLN, inni użytkownicy na kwoty niższe niż 1000 PLN, a jeszcze inni użytkownicy - na dowolne kwoty. W tym scenariuszu dla danego typu zabezpieczenia potrzebne będą 3 poziomy dostępu:
- Poziom 1 (najniższy): może autoryzować faktury na kwoty <= 300 USD.
- Poziom 2 (średni): może autoryzować faktury na kwoty <= 1000 USD.
- Poziom 3 (najwyższy): może autoryzować wszystkie faktury.
- Należy połączyć ten typ zabezpieczeń ze wszystkimi usługami aplikacyjnymi, w których wdrożono dany typ zabezpieczenia na poziomie pól. Połączenie to jest realizowane w ramach transakcji Typ zabezpieczenia.
- Zdefiniuj poziom dostępu każdej z grup użytkowników dla każdego typu zabezpieczenia (tę operację wykonuje się dla każdej usługi aplikacyjnej, do której ma zastosowanie dany typ zabezpieczenia).
Wyższa wartość oznacza większe bezpieczeństwo. System oczekuje, że najwyższy poziom autoryzacji będzie odpowiadał najwyższemu poziomowi zabezpieczenia. Ponadto poziom autoryzacji jest polem alfanumerycznym, należy więc dołożyć starań, aby go poprawnie skonfigurować.--