Wie wegzunehmen SQL-Berechtigungen

Wenn Sie eine Möglichkeit haben, SQL Zugriffsrechte für Menschen zu geben, sollten Sie auch eine Möglichkeit haben, von diesen Privilegien wegzunehmen. Volks Job-Funktionen zu ändern, und mit diesen Änderungen ihrer Datenzugriffsanforderungen ändern. Angenommen, ein Mitarbeiter das Unternehmen verlässt, einen Konkurrenten zu verbinden. Sie sollten wahrscheinlich alle Zugriffsrechte auf diese Person widerrufen - sofort.

SQL ermöglicht es Ihnen, Zugriffsrechte zu entfernen, indem die Verwendung von WIDERRUFEN Erklärung. Diese Anweisung wirkt wie die GEWÄHREN Aussage tut, außer dass es die umgekehrte Wirkung hat. Die Syntax für diese Anweisung ist wie folgt:

REVOKE [GRANT OPTION FÜR] Privileg-ListeON objectFROM Benutzerliste [RESTRICT | CASCADE] -

Sie können diese Struktur nutzen, um bestimmte Privilegien entziehen, während andere intakt bleibt. Der wesentliche Unterschied zwischen den WIDERRUFEN Aussage und die GEWÄHREN Anweisung ist die Anwesenheit des optionalen BESCHRÄNKEN oder KASKADE Stichwort in der WIDERRUFEN Erklärung.

Zum Beispiel: Angenommen, Sie verwendet WITH GRANT OPTION wenn Sie bestimmte Berechtigungen für einen Benutzer gewährt. Schließlich, wenn Sie diese Privilegien widerrufen wollen, können Sie KASKADE in dem WIDERRUFEN Erklärung. Wenn Sie die Berechtigungen eines Benutzers auf diese Weise widerrufen, reißen Sie auch Privilegien von Personen, denen diese Person Privilegien gewährt hatte.

Auf der anderen Seite, die WIDERRUFEN Erklärung mit der BESCHRÄNKEN Option funktioniert nur, wenn der Berechtigte hat nicht die angegebenen Berechtigungen delegiert. In diesem Fall kann der WIDERRUFEN Anweisung entzieht der Berechtigte die Privilegien nur in Ordnung. Aber wenn der Berechtigte weitergegeben den angegebenen Berechtigungen, die WIDERRUFEN Erklärung mit der BESCHRÄNKEN Option widerrufen nichts - und stattdessen einen Fehlercode zurück.

Dies ist eine klare Warnung an Sie, dass Sie finden müssen, wer Zugriffsrechte der Person, deren Privilegien gewährt wurden Sie versuchen, zu widerrufen. Sie können oder können nicht wollen, diese Person die Privilegien zu entziehen.

Sie können ein verwenden WIDERRUFEN Aussage mit dem optionalen GRANT OPTION FÜR Klausel zum Widerruf nur die Gewährung Option für bestimmte Privilegien, während die grantee ermöglicht diese Privilegien für sich zu behalten.

wenn der GRANT OPTION FÜR Klausel und die KASKADE Stichwort beide vorhanden sind, können Sie alle Privilegien entziehen, die der Berechtigte gewährt, zusammen mit dem Recht des grantee solche Privilegien zu geben - als ob Sie nie die Gewährung Option in erster Linie gewährt würde. wenn der GRANT OPTION FÜR Klausel und die BESCHRÄNKEN Klausel beide vorhanden sind, eines von zwei Dingen geschieht:

  • Wenn der Berechtigte jedem gewähren nicht sonst keines der Privilegien Sie aufhebt, dann ist die WIDERRUFEN Anweisung ausgeführt und entfernt die grantee Fähigkeit Privilegien zu gewähren.

  • Wenn der Berechtigte bereits mindestens eines der Privilegien gewährt Sie den Widerruf der WIDERRUFEN Anweisung nicht ausgeführt werden und gibt einen Fehlercode statt.

Die Tatsache, dass Sie Berechtigungen erteilen kann durch die Verwendung WITH GRANT OPTION, kombiniert mit der Tatsache, dass Sie auch selektiv zurücknehmen kann, macht die Systemsicherheit sehr viel komplexer, als es auf den ersten Blick erscheint. Mehrere Geber, kann beispielsweise denkbar, ein Privileg zu jedem einzelnen Benutzer gewähren. Wenn einer dieser Geber dann das Privileg widerruft, behält der Benutzer dieses Privileg wegen der noch bestehenden Zuschuss aus einem anderen grantor.

Wenn ein Privileg geht von einem Benutzer zu einem anderen über das WITH GRANT OPTION, Diese Situation schafft ein Kette der Abhängigkeit, in denen abhängen ein Benutzer-Berechtigungen auf die eines anderen Benutzers. Wenn Sie ein DBA oder ein Objekt Inhaber sind, immer bewusst sein, dass, nachdem Sie ein Privileg gewähren, indem die Verwendung von WITH GRANT OPTION Klausel, dass Privileg an unerwarteten Stellen auftauchen kann.

Entziehen das Privileg, vor unerwünschten Benutzern während der Vermietung legitime Benutzer das gleiche Recht zu behalten als Herausforderung erweisen kann. Im Allgemeinen ist die GRANT OPTION und KASKADE Klauseln umfassen zahlreiche Feinheiten. Wenn Sie diese Klauseln verwenden, überprüfen Sie sowohl die SQL-Standard und der Produktdokumentation - sorgfältig - um sicherzustellen, dass Sie verstehen, wie die Klauseln arbeiten.

Menü