SQL Server GRANT

Sql Server Grant



Tässä artikkelissa ymmärrät, kuinka GRANT-käskyä käytetään SQL Serverissä oikeuksien myöntämiseen suojattavalle päämiehelle.

SQL Server Securable and Principal

Suojattava viittaa resursseihin, joita SQL Server Database Enginen valtuutusjärjestelmä hallitsee pääsyä. Esimerkkinä voisi olla tietokantataulukko.

Pääasiallinen viittaa mihin tahansa kokonaisuuteen, joka vaatii pääsyn mihin tahansa SQL Server -resurssiin. Esimerkiksi käyttäjä, joka pyytää käyttöoikeuksia taulukossa, on päämies.







SQL Server Grant Statement

Seuraavassa näkyy GRANT-komennon syntaksi SQL Serverissä:



MYÖNTÄ käyttöoikeuksia
PÄÄLLÄ varmistettava päävirtaan;

Sinun on määritettävä lupa, jonka haluat antaa päämiehelle pilkuilla eroteltuna luettelona.



KÄYTÖSSÄ-avainsanalla voit määrittää suojattavan, jolle oikeuksia sovelletaan. Lopuksi TO-avainsanalla voit asettaa kohdepääoman.





Esimerkiksi käyttäjän luominen CREATE USER -käskyllä ​​ei määritä kyseisen käyttäjän oikeuksia. Siksi on välttämätöntä käyttää GRANT-käskyä kyseisen käyttäjän käyttöoikeuksien määrittämiseen.

Otetaan esimerkki.



Luo esimerkkikirjautuminen

Aloitetaan luomalla esimerkkikirjautumistunnus havainnollistamista varten. Kysely on alla esitetyn mukainen:

luo kirjautuminen linuxhint
with password='salasana';

Yllä olevan komennon pitäisi luoda käyttäjä käyttäjätunnuksella linuxhint ja määritetyllä salasanalla.

Luo mallitietokanta

Voimme luoda tietokannan, jossa käyttäjä asuu, kun olemme määrittäneet kirjautumistunnuksen. Kyselyt ovat seuraavanlaiset:

pudota tietokanta, jos se on olemassa;

luoda tietokannan ratkaisija;

käytä ratkaisijaa;

pudota taulukko, jos merkintöjä on;

luo taulukkomerkintöjä (
id int not null identiteetti(1,
1) ensisijainen avain,
palvelimen_nimi varchar(50),
palvelimen_osoite varchar(255) ei ole tyhjä,
compression_method varchar(100) oletusarvo 'none',
size_on_disk float not null,
size_compressed float,
total_records int ei null,
aloituspäivämäärä
);
lisää
sisään
ENTRIES(palvelimen_nimi,
palvelimen osoite,
compression_method,
size_on_disk,
size_compressed,
total_records,
aloituspäivämäärä)
arvot
('MySQL','localhost:3306','lz77',90.66,40.04,560000,'2022-01-02'),
('Redis','localhost:6307','Snappy',3.55,998.2,100000,'2022-03-19'),
('PostgreSQL','localhost:5432','pglz',101.2,98.01,340000 ,'2022-11-11'),
('Elasticsearch','localhost:9200','lz4',333.2,300.2,1200000,'2022-10-08'),
('MongoDB','localhost:27017','Snappy',4.55,4.10,620000,'2021-12-12'),
('Apache Cassandra','localhost:9042','zstd',300.3,200.12,10000000,'2020-03-21');

Luo käyttäjä kirjautumiseen

Kun olemme luoneet tietokannan ja taulukon, voimme luoda käyttäjän linuxhint-kirjautumiselle seuraavasti:

käytä ratkaisijaa
luo käyttäjä linuxhint
kirjautumiseen linuxhint;

Kirjaudu sisään uutena käyttäjänä

Seuraavaksi kirjaudumme sisään äskettäin luotuna käyttäjänä. Komento on kuvan mukainen:

setuser 'linuxhint';

Kun olemme kirjautuneet sisään, voimme yrittää tarkastella taulukoita suorittamalla select-komento:

valitse * merkinnöistä;

Yllä olevan kyselyn suorittamisen pitäisi palauttaa virheilmoitus:

Viesti 229, taso 14, tila 5, rivi 379
SELECT-oikeus evättiin objektille 'entries', tietokanta 'resolver', skeemalle 'dbo'.

Tämä johtuu siitä, että linuxhint-käyttäjällä ei ole tietokannan käyttöoikeuksia, mukaan lukien SELECT-oikeudet.

Myönnä käyttäjälle lupa

Meidän on myönnettävä SELECT-oikeudet, jotta käyttäjä voi tarkastella taulukoihin tallennettuja tietoja.

Tätä varten sinun on kirjauduttava sisään SQL Server -järjestelmänvalvojan tilillä.

Suorita seuraavaksi kysely seuraavasti:

myönnä valinta linuxhintille;

Kun se on suoritettu, kirjaudu sisään linuxhint-käyttäjänä ja käytä SELECT-käskyä.

valitse * merkinnöistä;

Tässä tapauksessa komento palauttaa taulukon, koska käyttäjällä on SELECT-oikeudet

Voit myös määrittää käyttäjälle muita käyttöoikeuksia, kuten lisätä ja poistaa seuraavasti:

myöntää lisäys, poisto linuxhintissä;

tässä tapauksessa linuxhint-käyttäjällä tulee olla SELECT-, INSERT- ja DELETE-oikeudet merkintätaulukossa.

Johtopäätös

Tässä viestissä tutkimme GRANT-komennon käyttöä SQL Serverissä. Komennon avulla voit määrittää oikeudet tietylle päämiehelle.