Het belangrijkste verschil tussen verlenen en intrekken is dat verlenen een privilege aan de gebruiker geeft, terwijl intrekking het aan de gebruiker verleende privilege terugneemt.
SQL biedt verschillende autorisatieniveaus voor gebruikers. Toekennen en intrekken zijn twee van dergelijke opdrachten. Met de opdracht Grant kunt u een gebruiker autorisatie geven, terwijl de opdracht revoke het autorisatieniveau van de gebruiker intrekt.
Wat is subsidie?
DBMS is systeemsoftware voor het maken en beheren van databases. Bovendien is SQL of de Structured Query Language de taal om met databases om te gaan. Daarom maakt het het mogelijk om gegevens in een database in te voegen, te wijzigen en op te halen. Er zijn ook verschillende categorieën in SQL, zoals DDL, DML en DCL. Met Data Definition Language (DDL) kunnen databaseobjecten worden gemaakt en geherstructureerd. De create, alter, drop zijn enkele DDL-commando's. Data Manipulating Language (DML) maakt bedrijfsgegevens in de database mogelijk. De select, insert, update en delete zijn enkele voorbeelden van DML-commando's. Met Data Control Language (DCL) kunt u de toegang tot gegevens in de database controleren. De toekenning en intrekking zijn twee DCL-opdrachten die databasebeveiliging bieden.
Figuur 01: SQL-database
De opdracht verlenen geeft toegang of privileges op de database-objecten voor de gebruikers. De syntaxis is als volgt.
grantprivilege_name op object_name
naar {gebruikersnaam} [optie verlenen];
Volgens het bovenstaande is de privilege_name het toegangsrecht of privilege dat aan de gebruiker wordt verleend. De objectnaam is de naam van het databaseobject. Het kan een tabel zijn, een view etc. De gebruikersnaam is de naam van de gebruiker die het toegangsrecht krijgt. De subsidieoptie is optioneel. Hiermee kunnen gebruikers toegangsrechten verlenen aan andere gebruikers.
De opdracht om toestemming te verlenen voor het maken van een tabel is als volgt.
geef tabel toe aan gebruikersnaam
De opdracht om toestemming te verlenen om de tafel te laten vallen is als volgt.
grant drop table naar gebruikersnaam
Dat zijn een paar SQL-instructies met een grant-commando.
Wat is intrekken?
Het revoke-commando ontneemt de gebruikers toegangsrechten of privileges tot het database-object. De syntaxis is als volgt.
herroep privilege_name op object_name
van gebruikersnaam
Het volgende is een voorbeeld van het terugnemen van het recht om tabellen te maken van een specifieke gebruiker.
revoke maak tabel van gebruikersnaam
Kortom, de gegeven twee verklaringen gaan in op het gebruik van verlenen en intrekken. De onderstaande verklaring verleent een select privilege op de studententafel aan gebruiker1.
selecteer student aan gebruiker1
De onderstaande verklaring, trek het selectierecht op studententafel in van gebruiker1.
intrekken selectie op leerling van gebruiker1
Wat is het verschil tussen toekennen en intrekken?
toekennen vs intrekken |
|
grant is een DCL-opdracht die het mogelijk maakt om privileges te geven aan de gebruikers op de database-objecten. | revoke is een DCL-commando waarmee de toestemming die aan een gebruiker is toegewezen, kan worden teruggenomen. |
In gedecentraliseerde controle | |
De subsidie is makkelijker. | Het intrekken is complex. |
Gebruik | |
Maakt het toewijzen van toegangsrechten aan de gebruikers mogelijk. | Maakt het verwijderen van de toegangsrechten van de gebruikers mogelijk. |
Samenvatting – verlenen versus intrekken
grant en revoke zijn twee essentiële DCL-commando's. DCL is een subcategorie van SQL. Het verschil tussen verlenen en intrekken is dat verlenen een privilege aan de gebruiker geeft, terwijl intrekking het door de gebruiker verleende privilege terugneemt.