In Oracle benötigen Benutzer nur Berechtigungen für die Sicht, um aus ihr SELECT zu wählen, genauer gesagt, was die Sicht aus der Tabelle sieht. Privilegien auf dem Tisch sind nicht erforderlich.Umgehung der Tabellenberechtigung und WITH GRANT OPTION durch Erstellen von Ansichten
Lassen Sie uns dieses Szenario vor:
Table T belongs to A
A GRANT SELECT ON T to B (without GRANT OPTION)
B CREATE VIEW V AS SELECT * FROM A.T
B GRANT SELECT ON V TO C
C performing SELECT * FROM B.V
Nach der obigen Regel C der Lage sein, sich von V zu wählen, also äquivalent von T. auf die Auswahl ist diese Art von Betrug? B lässt C effektiv A sehen, obwohl C nicht das Recht auf T hat und B keine GRANT OPTION hat. Gibt es irgendwo ein Sicherheitsloch?
A möchte nicht, dass jemand anderes T außer B abfragt, also gibt er B WITH GRANT OPTION nicht. Aber durch das Erstellen einer Sichtweise gibt B alle Informationen an C und an alle anderen, wodurch A effektiv betrogen wird. Darüber hinaus, wenn C eine andere Sichtweise auf V erstellt und dasselbe tut, sieht schließlich jeder, was A zu verbergen versuchte. – Kenny