| Termin | Definicja |
|---|---|
| API do uprawnień | API do uprawnień to interfejs umożliwiający programowe nadawanie i odbieranie dostępu do obiektów bazy danych. Rola API do uprawnień w dostępie do danychAPI do uprawnień jest interfejsem programistycznym, przez który aplikacja może zarządzać dostępem do obiektów bazy danych. Obiektem może być między innymi tabela, widok, procedura składowana albo określona funkcja udostępniana przez silnik bazy. Zamiast wykonywać operacje administracyjne ręcznie w konsoli, system wywołuje określone endpointy lub funkcje API, przekazując identyfikator użytkownika, roli, grupy albo zasobu oraz rodzaj wymaganej operacji. Typowy model rozdziela podmiot, zasób i uprawnienie. Podmiotem jest konto użytkownika, grupa lub rola, zasobem jest obiekt bazy danych, a uprawnieniem jest na przykład odczyt, dodawanie rekordów, modyfikowanie danych, usuwanie danych albo wykonywanie procedury. API może obsługiwać zarówno nadawanie dostępu, jak i jego odbieranie. Ważne jest przy tym rozróżnienie między uprawnieniem bezpośrednim, przypisanym konkretnemu kontu, a uprawnieniem odziedziczonym przez członkostwo w roli lub grupie. Operacje nadawania, odbierania i sprawdzania dostępuInterfejs tego typu powinien jednoznacznie określać operację oraz jej zakres. Nadanie prawa odczytu do jednej tabeli nie powinno automatycznie oznaczać możliwości modyfikowania jej zawartości ani dostępu do wszystkich tabel w danej bazie. Analogicznie odebranie prawa zapisu nie musi usuwać prawa odczytu. W praktyce żądanie może zawierać identyfikator zasobu, nazwę roli, typ uprawnienia oraz informację, czy zmiana ma dotyczyć pojedynczego obiektu, całego schematu lub innego zdefiniowanego zakresu. Oprócz metod zmieniających stan potrzebne są operacje odczytowe. API może zwracać listę uprawnień przypisanych użytkownikowi, członkostwo w rolach, prawa odziedziczone z grup oraz efektywny dostęp do wskazanego obiektu. Efektywne uprawnienie oznacza wynik uwzględniający wszystkie źródła dostępu, a nie tylko pojedynczy wpis. Jest to istotne podczas diagnozowania sytuacji, w której użytkownik widzi dane mimo braku pozornie bezpośredniego nadania prawa albo nie może wykonać operacji, chociaż należy do właściwej grupy. Spójność zmian i kontrola bezpieczeństwa interfejsuZmiana uprawnień powinna być wykonywana w sposób przewidywalny i możliwie atomowy. Jeżeli nadanie dostępu wymaga kilku powiązanych operacji, częściowe wykonanie może pozostawić niespójny stan. Przykładowo utworzenie roli może zakończyć się sukcesem, ale przypisanie jej do obiektu może się nie udać. Dlatego API powinno jasno sygnalizować wynik każdej operacji, rozróżniać błąd walidacji od odmowy dostępu i zapewniać bezpieczne ponawianie żądania. Pomocne są identyfikatory operacji, kontrola wersji zasobu oraz idempotentne wywołania, które nie tworzą kolejnych duplikatów przy ponownym przesłaniu tego samego żądania. Sam interfejs zarządzający uprawnieniami również musi być chroniony. Wywołujący powinien posiadać uprawnienie administracyjne obejmujące konkretną operację, a API powinno sprawdzać poprawność identyfikatorów zasobów i ograniczać zakres żądania. Nie należy budować zapytań do bazy przez bezpośrednie sklejanie nazw tabel, ról lub użytkowników z niezweryfikowanymi danymi wejściowymi. Nazwy obiektów powinny być wybierane z dozwolonego katalogu albo bezpiecznie mapowane przez warstwę aplikacji. Warto także rejestrować wykonawcę, czas, zakres zmiany, poprzedni stan i wynik operacji, aby można było odtworzyć historię modyfikacji konfiguracji dostępu. Rozpoznawanie problemów z API do uprawnieńGdy aplikacja otrzymuje błąd braku dostępu, sama obecność wpisu w systemie uprawnień nie przesądza jeszcze o przyczynie. Należy ustalić, z jakiego konta lub tokenu korzysta aplikacja, do którego obiektu kierowane jest żądanie i jaki typ operacji jest wykonywany. Trzeba również sprawdzić, czy używany jest właściwy schemat, baza oraz środowisko, ponieważ identyczna nazwa tabeli może występować w kilku miejscach. Częstym źródłem nieporozumień jest różnica między prawem do odczytu widoku a prawem do bezpośredniego odczytu tabeli bazowej. Podczas diagnostyki przydatne jest porównanie konfiguracji roli z efektywnym dostępem zwracanym przez API oraz analiza dziennika operacji. Warto sprawdzić, czy odebranie uprawnienia nie zostało nadpisane przez członkostwo w innej roli, czy zmiana została zatwierdzona i czy aplikacja nie używa starej sesji lub buforowanych danych uwierzytelniających. Jeżeli problem dotyczy komputera, na którym działa narzędzie administracyjne albo aplikacja kliencka, diagnoza powinna obejmować także konfigurację połączenia, zapisane dane dostępowe, komunikaty błędów i zgodność używanej aplikacji z wymaganym interfejsem. Warszawskie Pogotowie Komputerowe zajmuje się profesjonalną naprawą laptopów i komputerów PC oraz diagnozowaniem problemów sprzętowych i systemowych związanych z ich działaniem. |