Cunoștințe, prelegere, control acces la serverul de baze de date SQL

Gestionarea rolurilor aplicației

Rolurile de aplicații sunt roluri speciale de bază de date pe care le puteți utiliza pentru a permite accesul la date specifice numai utilizatorilor care stabilesc o conexiune printr-o aplicație specifică. Rolurile de aplicații nu conțin membri, deci trebuie să le activați în conexiunea curentă înainte de utilizare. Când rolul aplicației este activat, conexiunea curentă pierde permisiunile atribuite utilizatorilor și primește doar permisiunile care se aplică pentru rolul aplicației.

Creați rolurile aplicației

Puteți crea un rol de aplicație utilizând instrucțiunea CREATE APPLICATION ROLE. Acest cod este disponibil în fișierul exemplu ApplicationRoles.sql.

  • Modificați contextul conexiunii la baza de date AdventureWorks.
  • Creați rolul aplicației FinancialRole în baza de date curentă
    Utilizarea rolului aplicației

    Rotile de aplicație trebuie activate înainte de utilizare. Acest lucru se poate face prin rularea procedurii stocate în sistem sp_setapprole. După ce rolul de aplicație este activat în conexiunea curentă, acesta rămâne activ până când conexiunea este închisă sau se execută procedura sp_unsetapprole stocată în sistem. Deși rolurile aplicațiilor sunt destinate utilizării de la aplicațiile client, ele pot fi de asemenea folosite din pachete speciale T-SQL. Procedura următoare (puteți găsi exemple în fișierele sub numele ApplicationRolesUse.sql) descrie modul de activare a rolului rolul financiar și de a anula activarea.

    • Modificați contextul conexiunii la baza de date AdventureWorks.
  • Declarați o variabilă în care contextul de conectare va fi stocat. Vom avea nevoie de acest context de conectare în viitor, astfel încât, după dezactivarea rolului aplicației, conexiunea să își poată restabili contextul original.
  • Activați rolul aplicației și salvați contextul actual de conectare
  • Verificăm dacă contextul utilizatorului a fost înlocuit de contextul rolului aplicației.
  • Dezactivați rolul aplicației și restabiliți contextul conexiunii anterioare.
  • Verificăm dacă contextul original al utilizatorului a fost restabilit.
    Ștergerea unui rol de aplicație

    Dacă doriți să eliminați rolul aplicației, utilizați instrucțiunea DROP APPLICATION ROLE. după cum se arată în exemplul următor (acest cod este disponibil în fișierul exemplu ApplicationRoles.sql):

    • Modificați contextul conexiunii la baza de date AdventureWorks.
  • să ștergeți rolul aplicației FinancialRole din baza de date curentă

    Controlul accesului la schemele

    Introducere în scheme

    Schemele bazei de date pot fi create utilizând instrucțiunea CREATE SCHEMA. Când creați o schemă, puteți crea obiecte de bază de date și puteți atribui permisiuni într-o singură tranzacție, care se numește prin instrucțiunea CREATE SCHEMA. Următorul exemplu (este în fișierele exemplu sub numele de ManagingAccessToSchemas01.sql) creează o schemă numită Contabilitate. atribuie utilizatorului Peter proprietarului schemei și creează un tabel numit Facturi. Acest exemplu oferă, de asemenea, permisiunea selectată pentru rolul bazei de date publice.

    • Modificați contextul conexiunii la baza de date AdventureWorks.
  • Creați o schemă de contabilitate împreună cu proprietarul Peter.
  • Creați tabelul de facturi din schema de contabilitate.
    Separați utilizatorii de schemele
    Utilizăm schema implicită

    În cazul în care cererea se referă la un obiect bază de date, fără a specifica schema, SQL Server încearcă să găsească un obiect în schema specificată pentru utilizatorul curent în mod implicit. Dacă obiectul nu este conținut în schema implicită, SQL Server încearcă să localizeze obiectul în schema dbo. Într-un alt exemplu (care pot fi găsite în fișierele model numit ManagingAccessToSchemas03.sql) arată cum să creați o schemă și atribuiți-o ca schema implicită pentru utilizator.

    • Creați datele de conectare SQL Server în această instanță de SQL Server.
  • Modificați contextul conexiunii la baza de date AdventureWorks.
  • Creați un utilizator Sara în baza de date AdventureWorks și asociați acest utilizator cu numele de conectare Sara
  • Creați schema de marketing. proprietar - utilizator Peter.
  • Creați un tabel de campanii în schema nou creată.
  • Acordați permisiunea SELECT utilizatorului Sara la tabelul nou.
  • Declarăm schema de marketing drept schema implicită pentru utilizatorul Sara

    Articole similare