| Termin | Definicja |
|---|---|
| Uprawnienia do widoku | Uprawnienia do widoku pozwalają udostępnić dane bez przyznawania bezpośredniego dostępu do leżących pod nim tabel. Widok jako kontrolowana warstwa dostępu do danychUprawnienia do widoku określają, kto może korzystać z przygotowanego zapytania przedstawionego jako obiekt bazy danych. Widok może zwracać wybrane kolumny, ograniczać liczbę rekordów oraz łączyć dane z kilku tabel. Użytkownik otrzymuje dostęp do wyniku widoku, ale nie musi otrzymać bezpośredniego prawa odczytu do tabel, z których ten wynik powstaje. Dzięki temu widok pełni funkcję pośredniej warstwy między danymi a aplikacją, raportem lub kontem użytkownika. Takie rozwiązanie pozwala rozdzielić strukturę przechowywania danych od sposobu ich udostępniania. Tabela może zawierać wiele pól technicznych, pomocniczych lub przeznaczonych wyłącznie dla określonych procesów, natomiast widok może prezentować tylko kolumny potrzebne do konkretnego zadania. Nadanie prawa odczytu do widoku nie oznacza automatycznie nadania prawa odczytu do tabel bazowych. Zakres faktycznej ochrony zależy jednak od reguł obowiązujących w konkretnym silniku bazy danych oraz od konfiguracji właścicieli, schematów i mechanizmu sprawdzania uprawnień. Jak działa odwołanie do tabel ukrytych za widokiemPodczas wykonywania zapytania do widoku silnik bazy danych rozwija jego definicję i analizuje odwołania do tabel, innych widoków albo funkcji. Następnie sprawdza, czy konto wykonujące operację ma wystarczające uprawnienia do użycia danego obiektu. W wielu konfiguracjach użytkownik może wykonać Widok nie jest kopią danych. Zwykle przechowuje definicję zapytania, a wynik jest obliczany podczas odwołania do widoku, chyba że zastosowano osobny mechanizm materializacji lub przechowywania wyniku. Zmiana danych w tabelach źródłowych może więc zmienić rezultat zwracany przez widok bez modyfikowania samego obiektu widoku. Zmiana definicji tabeli, nazwy kolumny albo typu danych może natomiast spowodować błąd podczas wykonywania zapytania lub unieważnić zależności. Z tego powodu uprawnienia trzeba analizować razem z definicją widoku, jego właścicielem i obiektami, do których się odwołuje. Odczyt, modyfikacja i ograniczenie zakresu rekordówNajczęściej przyznawanym prawem dotyczącym widoku jest prawo odczytu danych. Nie należy utożsamiać go z możliwością modyfikowania tabel. Widok może być używany wyłącznie do odczytu, ale niektóre silniki pozwalają także wykonywać przez niego operacje Widok może ograniczać nie tylko kolumny, lecz także rekordy. Warunek w klauzuli Weryfikacja uprawnień do widoku w praktyceAnalizę problemu należy rozpocząć od ustalenia nazwy widoku, jego schematu oraz konta, z którego wykonywane jest zapytanie. Następnie warto sprawdzić definicję widoku, listę tabel i widoków zależnych, właściciela obiektu oraz prawa przyznane bezpośrednio i przez role. Sam komunikat o braku dostępu nie wskazuje jeszcze, czy problem dotyczy widoku, tabeli źródłowej, schematu, funkcji użytej w definicji, czy zmiany właściciela jednego z obiektów. Pomocne jest wykonanie kontrolnego zapytania do widoku oraz osobne sprawdzenie, czy użytkownik rzeczywiście nie ma dostępu do tabel bazowych. Przy przywracaniu działania należy nadać możliwie wąskie uprawnienie do właściwego widoku, zamiast rozszerzać dostęp do całych tabel lub całego schematu. Po zmianie trzeba sprawdzić zarówno przypadek dozwolony, jak i przypadek, który powinien pozostać zablokowany. Warto także przeanalizować zależności po zmianach struktury bazy, ponieważ przebudowa tabeli, zmiana schematu albo odtworzenie kopii zapasowej może zmienić właściciela lub sposób dziedziczenia praw. Warszawskie Pogotowie Komputerowe zajmuje się profesjonalną naprawą laptopów i komputerów PC, w tym diagnostyką klienta bazodanowego, konfiguracji połączenia, zapisanych poświadczeń i komunikatów aplikacji, natomiast poprawność modelu uprawnień wymaga oceny w samym silniku bazy danych. |