Implementarea controalelor de conformitate pentru datele sensibile

Finalizat

Implementarea controalelor de conformitate după migrarea bazei de date este importantă pentru a vă asigura că datele dvs. rămân în siguranță și respectă reglementările relevante. Migrarea la un mediu nou, cum ar fi Azure SQL, introduce noi capacități de securitate și caracteristici.

Explorați auditarea serverului și a bazelor de date

Auditarea Azure SQL urmărește evenimentele bazei de date, înregistrarea lor într-un jurnal de auditare stocat în contul dvs. Azure Storage, în spațiul de lucru Log Analytics sau în Huburile de evenimente. În plus, facilitează menținerea conformității cu reglementările, analiza modelelor de activitate și detectarea abaterilor care ar putea indica încălcări de securitate.

Puteți defini politicile la nivel de server și la nivel de bază de date. Politicile de server acoperă automat bazele de date noi și existente în Azure.

  • Activarea auditării serverului declanșează auditarea pentru baza de date, indiferent de setările individuale de auditare.
  • Puteți activa auditarea la nivel de bază de date, permițând ca atât politicile serverului, cât și cele ale bazei de date să coexiste simultan.
  • Auditarea reproducerilor doar în citire este activată automat.

Se recomandă să nu activați atât auditarea serverului, cât și auditarea bazelor de date împreună, cu excepția scenariilor următoare.

  • Aveți nevoie de un cont de stocare distinct, de perioada de reținere sau de spațiul de lucru Log Analytics pentru o anumită bază de date.

  • Este necesar un audit pentru o anumită bază de date cu tipuri de evenimente sau categorii unice, distincte de celelalte de pe server.

În toate celelalte cazuri, vă recomandăm să activați doar auditarea la nivel de server și să păstrați auditarea la nivel de bază de date dezactivată pentru toate bazele de date.

Politica implicită de auditare pentru baza de date SQL include următorul set de grupuri de acțiuni:

Grup de acțiuni Definiție
BATCH_COMPLETED_GROUP Auditează toate interogările și procedurile stocate executate în raport cu baza de date.
SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP Acest lucru indică faptul că un cont principal reușește să se conecteze la baza de date.
FAILED_DATABASE_AUTHENTICATION_GROUP Acest lucru indică faptul că un cont principal nu s-a conectat la baza de date.

Pentru a activa auditarea pentru toate bazele de date de pe un server Azure SQL, selectați de auditare în secțiunea Securitate a lamei principale pentru server.

Captură de ecran a opțiunii de auditare din secțiunea Securitate a unui server SQL.

Pagina de de auditare vă permite să setați destinația jurnalului de auditare și, de asemenea, să alegeți dacă să urmăriți operațiunile inginerului de asistență Microsoft la aceeași destinație de jurnal ca auditarea Azure SQL sau să selectați alta.

Captură de ecran a paginii Auditare a unui server SQL.

Puteți revizui jurnalele de auditare ale operațiunilor de asistență Microsoft din spațiul de lucru Log Analytics rulând următoarea interogare:

AzureDiagnostics
| where Category == "DevOpsOperationsAudit"

Important

Baza de date Azure SQL și serviciile de auditare a instanței gestionate Azure SQL au fost ajustate pentru disponibilitate optimă și performanță. Cu toate acestea, este util să rețineți că, în condiții de activitate extrem de ridicată sau de congestionare semnificativă a rețelei, este posibil ca anumite evenimente auditate să nu fie înregistrate în jurnal.

Auditarea etichetelor sensibile

Atunci când sunteți combinat cu clasificarea datelor, puteți monitoriza și accesul la date sensibile. Auditarea Azure SQL a fost îmbunătățită pentru a include un câmp nou în jurnalul de auditare denumit data_sensitivity_information.

Prin înregistrarea în jurnal a etichetelor de confidențialitate ale datelor returnate de o interogare, acest câmp oferă o modalitate mai simplă de a urmări accesul la coloane clasificate.

Captură de ecran a paginii Information Protection din portalul Azure.

Auditarea constă în urmărirea și înregistrarea evenimentelor care apar în motorul de baze de date. Auditarea Azure SQL simplifică pașii de configurare necesari pentru a o activa, ceea ce simplifică urmărirea activităților bazei de date pentru baza de date SQL și instanța gestionată SQL.

Mascare dinamică a datelor

mascarea dinamică a datelor funcționează prin obfuscarea datelor pentru a limita expunerea. Permite utilizatorilor care nu necesită acces la informații sensibile să vadă coloana, dar nu și datele reale. Mascarea dinamică a datelor funcționează la stratul de prezentare și datele nemascate rămân vizibile pentru utilizatorii cu privilegii foarte mari.

Mascarea dinamică a datelor oferă avantajul de a necesita modificări minime pentru aplicația sau baza de date. O puteți configura comod prin portalul Azure sau utilizând T-SQL.

Captură de ecran a comenzilor T-SQL de mascare dinamică a datelor.

Atât Număr telefon, cât și coloanele EmailAddress sunt ascunse din DDMDemo utilizator, care are doar SELECT permisiune în tabel. Utilizatorul are permisiunea de a vedea ultimele patru cifre ale numărului de telefon, deoarece este mascat utilizând o funcție parțială care înlocuiește toate cele patru cifre din coloană. Această mascare este considerată o funcție particularizată. În plus față de T-SQL, dacă utilizați baza de date Azure SQL, puteți crea reguli de mascare dinamică în portalul Azure.

Captură de ecran cu adăugarea regulii de mascare în portalul Azure.

Pentru adăugarea unei reguli de mascare, navigați la baza de date în portalul Azure și selectați mascare date dinamice în secțiunea securitate a lamei principale pentru baza de date.

Mascarea dinamică a datelor acceptă următoarele modele de mascare care pot fi utilizate:

Funcția Mascare Definiție Exemplu T-SQL
Implicit Măști datele din coloană fără a expune nicio parte a valorilor utilizatorului. Utilizatorul ar vedea XXXX pentru valori șir, 0 pentru numere și 01.01.1900 pentru valorile dată. ALTER TABLE [Customer] ALTER COLUMN Address ADD MASKED WITH (FUNCTION = 'default()')
card de credit Măștile toate caracterele, cu toate cele patru caractere, permițând utilizatorilor să vizualizeze ultimele patru cifre. Această mascare poate fi utilă pentru agenții serviciului pentru clienți care trebuie să vadă ultimele patru cifre ale unui număr de card de credit, dar care nu trebuie să vadă întregul număr. Datele sunt afișate în formatul obișnuit al unui număr de card de credit XXXX-XXXX-XXXX-1234. ALTER TABLE [Customer] ALTER COLUMN Address ADD MASKED WITH (FUNCTION = 'partial(0,"XXXX-XXXX-XXXX-",4)')
E-mail Doar prima literă și sufixul de domeniu de final nu sunt mascate; de exemplu, "aXXX@XXXXXXX.com" ALTER TABLE [Customer] ALTER COLUMN Email ADD MASKED WITH (FUNCTION = 'email()')
Număr Acest format de mascare ar trebui utilizat în coloane numerice. Afișează un număr aleator ca valoare mascată în locul valorii reale. Cu fiecare interogare, se afișează un număr diferit. ALTER TABLE [Customer] ALTER COLUMN [Month] ADD MASKED WITH (FUNCTION = 'random(1, 12)')
șir particularizat Această opțiune permite ca textul să fie mascat cu orice valoare și să afișeze un număr particularizat de caractere la fiecare capăt al valorii mascate. Dacă lungimea valorii mascate este egală sau mai mică decât numărul de caractere, pe care masca o specifică se afișează, se afișează numai caracterele mascate. ALTER TABLE [Customer] ALTER COLUMN [PhoneNumber] ADD MASKED WITH (FUNCTION = 'partial(1,"XXXXXXX",0)')

Pentru a le permite utilizatorilor să regăsească date nemascate din coloanele pentru care este definită mascarea, trebuie să acordați în mod explicit permisiunea de UNMASK.

Notă

Este posibil să identificați datele mascate utilizând deducerea pe baza rezultatelor. Dacă utilizați mascarea datelor, ar trebui să limitați și capacitatea utilizatorului de a rula interogări ad-hoc.

Din acest motiv, vă recomandăm să combinați mascarea dinamică a datelor cu alte caracteristici de securitate, cum ar fi auditarea, criptarea și securitatea la nivel de rând, pentru a îmbunătăți protecția datelor sensibile.

Caz de utilizare

Mascarea datelor este o caracteristică simplă și ușoară și este ideală pentru multe scenarii, inclusiv:

  • Mascați datele de la utilizatorii aplicației care nu au acces direct la baza de date.

  • Restricționarea informațiilor private pentru un grup de utilizatori.

  • Furnizați date mascate distribuitorilor externi, unde trebuie să protejați informațiile sensibile, păstrând în același timp relațiile dintre elementele din date.

  • Exportați o copie a bazei de date de producție într-un mediu mai redus în scopuri de dezvoltare, utilizând un utilizator care nu are permisiunea de UNMASK. Datele exportate sunt într-un format mascat.

Importul și exportul datelor

Copierea datelor dintr-o coloană mascată într-un alt tabel utilizând SELECT INTO sau INSERT INTO duce la date mascate din tabelul țintă.

Atunci când un utilizator fără privilegii de UNMASK rulează Import și export SQL Server, fișierul de date exportat conține date mascate, iar baza de date importată va conține date mascate în mod inactiv.