| Termin | Definicja |
|---|---|
| Uprawnienia do schematu | Uprawnienia do schematu pozwalają zarządzać wszystkimi obiektami znajdującymi się w jego obrębie. Uprawnienia do schematu – czym są i czego dotycząUprawnienia do schematu to zestaw reguł określających, jakie działania można wykonywać w obrębie określonego schematu bazy danych. Schemat można rozumieć jako logiczny obszar, w którym znajdują się powiązane obiekty, między innymi tabele, widoki, procedury, funkcje, sekwencje oraz typy danych. Przyznanie uprawnień na poziomie schematu pozwala ustalić zakres dostępu do całej tej przestrzeni albo do wybranych rodzajów obiektów. Dzięki temu nie trzeba osobno konfigurować każdej tabeli, gdy wymagania dotyczą większego, spójnego zbioru elementów. Uprawnienia do schematu nie są tym samym co uprawnienia do danych zapisanych w tabelach. Sam dostęp do schematu może umożliwić rozpoznanie jego obiektów lub korzystanie z nazw znajdujących się w tej przestrzeni, ale nie zawsze oznacza możliwość odczytywania, dodawania, zmieniania albo usuwania rekordów. Rzeczywisty zakres działania zależy od systemu zarządzania bazą danych, zastosowanego modelu uprawnień oraz praw nadanych do poszczególnych obiektów. W praktyce rozdziela się co najmniej kilka obszarów kontroli. Jedna reguła może pozwalać na używanie obiektów należących do schematu, inna na tworzenie nowych obiektów, a jeszcze inna na przekazywanie uprawnień kolejnym użytkownikom. Takie rozdzielenie ułatwia utrzymanie porządku i ograniczenie dostępu do czynności, które rzeczywiście są potrzebne w danym zadaniu. Zakres uprawnień do schematu na tle innych poziomów dostępuW systemach bazodanowych uprawnienia są zwykle układane warstwowo. Najwyżej może znajdować się dostęp do samej instancji lub bazy, niżej do schematu, a następnie do konkretnych tabel, widoków, funkcji i innych elementów. Uprawnienie przyznane szeroko może obejmować wiele obiektów jednocześnie, natomiast reguła ustawiona na pojedynczej tabeli pozwala precyzyjniej wskazać dozwolone operacje. Im bardziej szczegółowy poziom konfiguracji, tym większa kontrola, ale również większa liczba ustawień do sprawdzenia. Warto odróżnić właściciela schematu od użytkownika, który otrzymał uprawnienie do korzystania z jego obiektów. Właściciel może mieć prawo do zmiany struktury, usuwania elementów lub nadawania dostępu innym osobom. Zwykły użytkownik może natomiast otrzymać wyłącznie możliwość odczytu danych albo wykonywania określonych procedur. Takie rozdzielenie ogranicza ryzyko przypadkowej zmiany struktury bazy. Istotne znaczenie ma także sposób dziedziczenia uprawnień. W niektórych rozwiązaniach dostęp przekazany roli może być używany przez wszystkich jej członków, a zmiana składu roli wpływa na zakres praw bez konieczności edytowania wielu pojedynczych kont. W innych konfiguracjach konieczne jest osobne nadawanie uprawnień. Przed zmianą ustawień należy więc sprawdzić, czy dana reguła dotyczy użytkownika, roli, grupy, schematu, czy konkretnego obiektu. Nie należy zakładać, że możliwość znalezienia obiektu oznacza prawo do odczytu jego zawartości. Podobnie prawo do wykonania procedury nie musi oznaczać prawa do bezpośredniego przeglądania tabel wykorzystywanych przez tę procedurę. Takie rozdzielenie bywa wykorzystywane do budowania bezpiecznych interfejsów dostępu, w których dane udostępnia się przez kontrolowane operacje zamiast przez pełny dostęp do struktury. Najczęstsze problemy z uprawnieniami do schematuJednym z typowych problemów jest nadanie dostępu do schematu bez przyznania praw do obiektów znajdujących się w jego obrębie. Użytkownik może wtedy widzieć nazwę schematu, lecz próba odczytu tabeli albo użycia widoku kończy się odmową. Odwrotna sytuacja również może prowadzić do niejasności: prawa do konkretnego obiektu zostały nadane, ale brak dostępu do samego schematu uniemożliwia prawidłowe odwołanie się do tego obiektu. Trudności pojawiają się także po zmianie właściciela, odtworzeniu kopii zapasowej albo przeniesieniu bazy na inne środowisko. Uprawnienia mogą zostać zapisane w kopii, ale nie zawsze pasują do kont istniejących w nowym miejscu. Czasem zachowana zostaje definicja roli, lecz brakuje jej członków. Innym razem obiekty są odtwarzane w innej kolejności, przez co część reguł nie może zostać zastosowana w pierwotnym momencie. Warto zwrócić uwagę na różnicę między prawem do tworzenia obiektów a prawem do używania już istniejących elementów. Użytkownik może mieć możliwość utworzenia tabeli w schemacie, ale nie mieć dostępu do tabel utworzonych przez inną osobę. Może też korzystać z istniejącego widoku, lecz nie mieć prawa do jego modyfikowania. Takie zależności są częstą przyczyną komunikatów o braku uprawnień, zwłaszcza gdy aplikacja korzysta z wielu obiektów pośrednich. Ryzyko powstaje również wtedy, gdy przyznaje się prawa szerzej, niż wymaga tego zadanie. Dostęp do całego schematu może być wygodny podczas testów, lecz w codziennej pracy powinien zostać ograniczony do potrzebnego zakresu. Nadmiarowe uprawnienia zwiększają możliwość przypadkowego usunięcia danych, zmiany struktury lub ujawnienia informacji osobom, które nie powinny ich przeglądać. Praktyczne wskazówki dotyczące uprawnień do schematuPrzed nadaniem dostępu należy przygotować prostą listę czynności, które mają być wykonywane. Innego zestawu praw wymaga konto przeznaczone wyłącznie do raportowania, innego konto używane przez aplikację zapisującą dane, a jeszcze innego konto administracyjne. Najbezpieczniej zaczynać od najmniejszego zakresu i rozszerzać go dopiero po stwierdzeniu, że brakuje konkretnej możliwości.
Dobrym rozwiązaniem jest okresowy przegląd uprawnień. Konta nieużywane, role pozostałe po zakończonym projekcie oraz prawa nadane jednorazowo mogą z czasem stać się niepotrzebne. Należy również sprawdzać, czy zakres dostępu nadal odpowiada obowiązkom użytkownika. Przydatne jest prowadzenie ewidencji zmian, ponieważ ułatwia odtworzenie przyczyny problemu i ogranicza przypadkowe modyfikacje konfiguracji. W przypadku aplikacji należy zweryfikować także sposób zapisywania danych uwierzytelniających i wykorzystywane połączenie z bazą. Błędne konto połączeniowe może sprawiać wrażenie problemu ze schematem, mimo że przyczyna znajduje się w konfiguracji programu. Warto odczytać dokładny komunikat, ustalić nazwę obiektu oraz sprawdzić, na jakim poziomie występuje odmowa. Kiedy sprawdzić uprawnienia do schematu w serwisieDo sprawdzenia konfiguracji warto przystąpić, gdy pojawia się odmowa dostępu do tabeli, widoku, procedury lub funkcji, gdy aplikacja przestaje zapisywać dane po zmianie konta albo gdy po odtworzeniu bazy część użytkowników traci dostęp. Analiza jest wskazana również wtedy, gdy nie wiadomo, kto może tworzyć, usuwać lub zmieniać obiekty w danym schemacie. Przed wprowadzeniem zmian należy wykonać kopię konfiguracji i zachować informacje o aktualnym stanie, aby można było wrócić do poprzednich ustawień. Pomoc serwisowa może obejmować odczyt komunikatów, sprawdzenie kont i ról, przeanalizowanie zależności między schematem a jego obiektami oraz uporządkowanie dostępu zgodnie z wymaganym zakresem pracy. Warszawskie Pogotowie Komputerowe 24/7 zajmuje się analizą problemów związanych z działaniem komputerów i oprogramowania, dlatego w razie niejasności można przekazać opis objawów, moment wystąpienia błędu oraz informacje o ostatnich zmianach konfiguracji. Nie powinno się usuwać przypadkowych reguł ani nadawać szerokiego dostępu wyłącznie po to, aby szybko ukryć komunikat o odmowie. Takie działanie może usunąć ważną barierę ochronną i utrudnić późniejsze ustalenie odpowiedzialności za zmiany. Bezpieczniejsze jest rozpoznanie konkretnej operacji, która nie może zostać wykonana, a następnie nadanie najmniejszego uprawnienia potrzebnego do jej prawidłowego działania. |