Zalecane, 2021

Wybór Redakcji

Różnica między Grantem a Odwołaniem

W SQL polecenia DCL są używane do przypisywania różnych uprawnień użytkownikowi, ten typ autoryzacji jest nazywany uprawnieniem. Polecenia Grant i Revoke są poleceniami DCL. Komenda GRANT służy do nadawania uprawnień użytkownikom, podczas gdy komenda REVOKE służy do wycofania autoryzacji. Wybierz, wstaw, aktualizuj i usuń niektóre z przywilejów zawartych w standardach SQL.

Wykres porównania

Podstawa do porównaniaDotacjaOdwołać
PodstawowyKomenda Grant służy do nadawania uprawnień użytkownikom.Polecenie Revoke służy do odbierania przywilejów od użytkowników.
Kiedy kontrola jest zdecentralizowanaPrzyznanie jest prostsze.Odwołanie jest dość skomplikowane do wykonania.
Składniadotacja
na
do ;
odwołać
na
z ;

Definicja Grant

Administrator bazy danych definiuje polecenie GRANT w języku SQL, aby zapewnić dostęp lub uprawnienia użytkownikom bazy danych. Trzy główne składniki, które biorą udział w autoryzacji to użytkownicy, uprawnienia / operacje (operacje) i obiekt bazy danych. Użytkownik jest tym, który uruchamia wykonanie aplikacji. Operacje są komponentem osadzonym w aplikacji. Operacje są wykonywane na obiektach bazy danych, takich jak relacja lub nazwa widoku.

SKŁADNIA polecenia GRANT:

dotacja
na
do ;

W tym przypadku lista uprawnień może obejmować operacje wybierania, wstawiania, aktualizacji i usuwania lub ich kombinację. Te trzy aspekty polecenia są sprawdzane przez kontrolę autoryzacji przed kontynuowaniem.

Kiedy konto właściciela A1 relacji (tabela) R przyznaje przywilej innemu kontu A2 na R, to konto A2 może uzyskać dostęp do relacji R i jest uprawnione do nadania uprawnień innemu kontu na R. Jeśli A1 odwołuje uprawnienia z A2 na R1 wtedy wszystkie uprawnienia propagowane przez A2 zostaną automatycznie odwołane przez system. Tak można propagować przywileje na stołach. W związku z tym DBMS, który zezwala na propagację, powinien podążać za przyznanymi przywilejami, aby przywileje mogły być łatwo odwołane.

Weźmy przykład ilustrujący przyznawanie przywilejów. Mamy dwa schematy dla tablic Wydział i Departament oraz konta A1 i A2.

WYBÓR GRANTÓW, WSTAW, AKTUALIZACJA NA WYDZIALE, DZIAŁ DO A1, A2;

W powyższym przykładzie konta A1 i A2 mogą wykonywać operacje wyboru, wstawiania i aktualizacji na tabeli pracowników i działów.

Definicja Revoke

Polecenie REVOKE w SQL jest zdefiniowane w celu odebrania przyznanych uprawnień (autoryzacji) od użytkownika bazy danych. Ten, kto ma prawo do wycofania przywilejów, jest administratorem bazy danych.

SKŁADNIA polecenia REVOKE:

odwołać
na
z ;

Polecenie jest podobne do polecenia grant, z wyjątkiem słowa odwołującego i "od". W danym poleceniu operacje zawarte w tym przywileju są anulowane dla konkretnego użytkownika lub listy ról. Odbieranie staje się złożone, gdy uprawnienia są propagowane od jednego użytkownika do drugiego.

Weźmy podobny przykład ilustrujący odwołanie przywilejów.

REVOKE WSTAWIĆ, AKTUALIZACJA NA WYDZIAŁU, DEPARTAMENT OD A1, A2;

W powyższym przykładzie konta A1 i A2 są wycofywane ze swoich praw i nie mogą wykonywać operacji wstawiania i aktualizacji w tabeli pracowników i działów.

Kluczowe różnice między Grantem a Odwołaniem

  1. Polecenie Grant nadaje uprawnienia użytkownikowi, podczas gdy komenda Revoke cofa uprawnienia użytkownika.
  2. W scentralizowanym systemie polecenia DCL GRANT i REVOKE można łatwo wykonać. Kiedy kontrola jest zdecentralizowana, zapytania są bardziej elastyczne, ale złożone. Polecenie GRANT jest łatwe w obsłudze, ale w przypadku polecenia REVOKE jest rekursywne.

Wniosek

Polecenie GRANT daje uprawnienia lub dostęp do użytkowników w obiektach bazy danych. Z drugiej strony polecenie REVOKE służy do usuwania uprawnień lub uprawnień użytkowników z obiektów bazy danych.

Top