SQL serveris naudojamas duomenims saugoti, nuskaityti ir manipuliuoti. Viena iš pagrindinių SQL serverio savybių yra galimybė suteikti ir valdyti leidimus skirtingiems vartotojams ir grupėms. SQL serverio vaidmenys yra galingas įrankis, leidžiantis duomenų bazės administratoriams priskirti leidimų rinkinį vartotojų grupei, turinčiai panašių poreikių.
Šiame straipsnyje pateikiamas vadovas, kaip naudoti SQL serverio vaidmenis, įskaitant įvairių galimų vaidmenų tipų apžvalgą, pavyzdžius, kaip priskirti šiuos vaidmenis vartotojams, ir patarimus, kaip valdyti šiuos vaidmenis.
Kas yra SQL vaidmenys?
Vaidmenys leidžia DBA efektyviau valdyti teises. Pirmiausia turime sukurti vaidmenis. Tada mes priskiriame leidimus vaidmenims ir atitinkamai pridedame prisijungimus prie vaidmenų.
SQL serveris daugiausia palaiko dviejų tipų vaidmenis:
- Fiksuoti serverio vaidmenys: Šie vaidmenys jau turi iš anksto nustatytą leidimų rinkinį.
- Vartotojo nustatyti serverio vaidmenys: Šie vaidmenys gali būti pakeisti, kad atitiktų jūsų organizacijos reikalavimus.
SQL serverio vaidmenų tipai
SQL serveryje yra keli integruoti vaidmenys, kuriuos galima naudoti naudotojams leidimams priskirti. Štai keletas dažniausiai naudojamų vaidmenų ir atitinkami leidimai:
- bulkadminas: „Bulkadmin“ fiksuoto serverio vaidmens nariai gali paleisti „BULK INSERT“ teiginį.
- sysadmin: Šis vaidmuo turi aukščiausią teisių lygį ir gali atlikti bet kokį veiksmą SQL serverio egzemplioriuje, įskaitant duomenų bazių ir prisijungimų kūrimą, keitimą ir ištrynimą.
- serverio administratorius: Šis vaidmuo gali konfigūruoti serverio lygio parametrus, pvz., atminties paskirstymą ir tinklo protokolus, tačiau jis negali keisti duomenų bazių.
- securityadmin: Šis vaidmuo gali valdyti prisijungimus ir jų teises, įskaitant prisijungimų, vaidmenų ir slaptažodžių kūrimą ir keitimą.
- proceso administratorius: Procesoadmin fiksuotas serverio vaidmuo suteikia savo nariams galimybę baigti arba sustabdyti procesus, kurie šiuo metu vykdomi SQL serverio duomenų bazės variklio egzemplioriuje.
- db kūrėjas : turi teisę kurti, keisti ir pašalinti duomenų bazes, bet neturi teisės vykdyti jokių kitų administracinių pareigų.
- disko administratorius: Šis vaidmuo gali valdyti disko failus, pvz., kurti ir ištrinti failus bei pridėti ar pašalinti diskus.
- duomenų skaitytuvas: Duomenų skaitytuvo vaidmuo turi galimybę pasiekti ir skaityti visą informaciją, saugomą duomenų bazės vartotojų lentelėse.
- duomenų rašytojas: Duomenų rašytojo vaidmuo turi teisę įterpti, atnaujinti ir ištrinti duomenis iš visų duomenų bazės vartotojų lentelių.
- ddladmin: Šis vaidmuo gali kurti, modifikuoti ir atsisakyti DDL paleidiklius ir objektus (rodinius, lenteles ir saugomas procedūras).
- viešas: Pagal numatytuosius nustatymus visi SQL serverio vartotojai, grupės ir vaidmenys automatiškai įtraukiami į viešąjį fiksuoto serverio vaidmenį.
Vartotojo nustatyto serverio vaidmens sukūrimas naudojant GUI
Sukurti vartotojo apibrėžtą serverio vaidmenį SQL Server galima naudojant GUI naudojant SQL Server Management Studio (SSMS). Norėdami sukurti vartotojo apibrėžtą serverio vaidmenį naudodami GUI SSMS, atlikite šiuos veiksmus:
1. Paleiskite „SQL Server Management Studio“ (SSMS) ir užmegzkite ryšį su konkrečiu SQL serverio egzemplioriumi.
2. Eikite į Sauga -> Serverio vaidmenys-> Naujas serverio vaidmuo.
3. Puslapyje Bendra nurodykite naujo vaidmens pavadinimą.
4. Puslapyje Securables nurodykite serverio lygio apsaugotus elementus, kuriems vaidmuo turės teises.
5. Narių puslapyje pridėkite bet kokius vartotojus ar kitus vaidmenis.
Serverio vaidmens kūrimas ir naudojimas naudojant T-SQL
Serverio vaidmens sukūrimas ir naudojimas naudojant T-SQL SQL serveryje yra dar vienas serverio lygio leidimų valdymo būdas. Norėdami sukurti vartotojo apibrėžtą serverio vaidmenį naudodami T-SQL, turime atlikti šiuos veiksmus:
1. Atidarykite naują užklausos langą ir paleiskite šį kodą, kad sukurtumėte naują serverio vaidmenį:
-- << Sukurti vartotojo apibrėžtą serverio vaidmenįNAUDOTI [meistras]
EIK
KURTI SERVERIO VAIDMUO [jaunesnysis DBA]
EIK
Šiame pavyzdyje sukuriame naują serverio vaidmenį – „jaunesnysis DBA“.
2. Vykdykite šį kodą, kad suteiktumėte leidimus naujam vaidmeniui:
naudoti [master]EIK
SUTEIKTI KURTI JOKIĄ DUOMENŲ BAZĘ --<< dabar galite sukurti db
TO [jaunesnysis DBA]
EIK
Šiame pavyzdyje suteikiame leidimą naujam vaidmeniui „jaunesnysis DBA“ kurti duomenų bazes.
SUTEIKTI PERŽIŪRĖTI JOKIĄ DUOMENŲ BAZĘ --<< gali peržiūrėti tik bet kurią duomenų bazę, bet ne lentelesTO [jaunesnysis DBA]
EIK
Šiame pavyzdyje komanda „GRANT VIEW ANY DATABASE“ naudojama norint suteikti serverio lygio leidimą, leidžiantį vaidmeniui matyti bet kurios serverio duomenų bazės metaduomenis. Šiuo atveju suteikiame šį leidimą „jaunesniojo DBA“ serverio vaidmeniui, kurį sukūrėme anksčiau.
Tačiau svarbu pažymėti, kad suteikus leidimą „PERŽIŪRĖTI JOKIĄ DUOMENŲ BAZĘ“ vartotojui ar vaidmeniui nesuteikiamas leidimas pasiekti bet kokius duomenų bazėse esančius duomenis – tai tiesiog leidžia matyti metaduomenis (pvz., duomenų bazių pavadinimus ir schemas).
3. Pridėkite prisijungimo vardą arba vartotojo abonementą prie naujo vaidmens vykdydami šį kodą:
--Pridėti sql prisijungimus prie naujo serverio vaidmensPAKEISTI SERVERIO VAIDMĄ [jaunesnysis DBA]
PRIDĖTI NARĮ [valdyba]
EIK
PAKEISTI SERVERIO VAIDMĄ [jaunesnysis DBA]
PRIDĖTI NARĮ [Rima]
EIK
Šiame pavyzdyje „Papan“ ir „Rima“ paskyras pridedame kaip „jaunesniojo DBA“ vaidmens narius.
Išvada
SQL serverio vaidmenys yra galingas įrankis duomenų bazės aplinkos leidimams valdyti. Priskirdami vaidmenis vartotojams, galite užtikrinti, kad jie turėtų atitinkamo lygio prieigą prie jiems reikalingų duomenų, nesuteikdami jiems nereikalingų privilegijų. Nesvarbu, ar tvarkote nedidelę duomenų bazę, ar didelę įmonės sistemą, suprasti, kaip naudoti SQL serverio vaidmenis, yra svarbus įgūdis, galintis padėti išlaikyti duomenų saugumą ir vientisumą.