Gyakorlat – Adatbesorolás, dinamikus adatmaszkolás és SQL-naplózás
Ebben a gyakorlatban a modulban tanultak kombinálásával haladhat végig egy forgatókönyvön. Megtanulhat új adatbesorolásokat és dinamikus adatmaszkokat felvenni, majd megismerkedhet az adatbesorolásra megjelölt oszlopokat megtekinteni próbáló felhasználók auditálásának különböző módszereivel. Ez a gyakorlat egyesíti a biztonság kezelésével kapcsolatos modulban már megismert fogalmakat.
Adatbesorolás és maszkolás konfigurálása
Lépjen az Azure SQL Database-példányhoz (nem a logikai kiszolgálóhoz) az Azure Portalon.
A bal oldali panel Biztonság területén válassza az Adatfelderítés és -besorolás lehetőséget.
Válassza a Besorolás lapot, majd a Besorolás hozzáadása lehetőséget.
Az előző gyakorlatban már felvette az összes javasolt oszlopbesorolást. Ebben a lépésben manuálisan vehet fel egy esetleg bizalmas oszlopot a besorolt oszlopok listájára.
A SalesLT-ügyfél táblában a Data Discovery > Besorolás azonosítva
FirstName
ésLastName
besorolva van, de nemMiddleName
. Vegye fel most azt is a legördülő lista használatával, és a Besorolás hozzáadása lehetőséggel.Válassza a Mentés parancsot.
A besorolás sikeres hozzáadásának megerősítéséhez tekintse meg az Áttekintés lapot, és győződjön meg arról, hogy
MiddleName
most már megjelenik a SalesLT-séma besorolt oszlopainak listájában.Válassza a bal oldali panelen az Áttekintés lehetőséget, így visszatérhet az adatbázis áttekintéséhez.
A Dinamikus adatmaszkolás (DDM) az Azure SQL-ben és az SQL Serverben is elérhető. A DDM azzal korlátozza az adatok elérhetőségét, hogy a jogosulatlan felhasználók számára az SQL Server szintjén maszkolja a bizalmas adatokat, nem pedig az alkalmazás szintjén, ahol ezeket a szabályokat kódolni kellene. Az Azure SQL javaslatokat tesz a maszkolandó elemekre, de manuálisan is vehet fel maszkokat.
A következő lépésekben maszkolja az
FirstName
előző lépésben áttekintett oszlopokatMiddleName
ésLastName
oszlopokat.Az Azure Portalon nyissa meg az Azure SQL Database-t. A bal oldali panel Biztonság területén válassza a Dinamikus adatmaszkolás, majd a Maszk hozzáadása lehetőséget.
A legördülő listákban válassza ki a SalesLT-sémát, az Ügyfél táblát és a FirstName oszlopot. Áttekintheti a maszkolási lehetőségeket, de ehhez a példához megfelelnek az alapértelmezett beállítások. A maszkolási szabály hozzáadásához válassza a Hozzáadás lehetőséget.
Ismételje meg a fenti lépéseket a tábla MiddleName és LastName oszlopával is.
Most három, az itt láthatókhoz hasonló maszkolási szabállyal rendelkezik:
Válassza a Mentés parancsot.
Válassza a bal oldali panelen az Áttekintés lehetőséget, így visszatérhet az adatbázis áttekintéséhez.
Besorolt és maszkolt adatok kiolvasása
Ezután szimulálni fog valakit, aki lekérdezi a besorolt oszlopokat, és működés közben megvizsgálja a dinamikus adatmaszkolást.
Nyissa meg az SQL Server Management Studiót (SSMS).
Ha új lekérdezést szeretne létrehozni az AdventureWorks-adatbázisban, kattintson a jobb gombbal az adatbázisra, majd válassza az Új lekérdezés lehetőséget.
Futtassa az alábbi lekérdezést, amely a besorolt adatokat, és egyes esetekben a maszkolt adatokhoz megjelölt oszlopokat adja vissza. Válassza a Végrehajtás lehetőséget a lekérdezés futtatásához.
SELECT TOP 10 FirstName, MiddleName, LastName FROM SalesLT.Customer;
Az eredményben az első 10 névnek kell megjelennie, maszkolás nélkül. Miért? Azért, mert Ön ennek a logikai Azure SQL Database-kiszolgálónak a rendszergazdája.
A következő lekérdezésben létrehoz egy új felhasználót, és az előző lekérdezést futtatja felhasználóként. Az
EXECUTE AS
parancsot is használni fogjaBob
megszemélyesítésére.EXECUTE AS
Egy utasítás futtatásakor a munkamenet végrehajtási környezete a bejelentkezésre vagy a felhasználóra vált. Ez azt jelenti, hogy az engedélyeket a rendszer a parancsot végrehajtó személy (ebben az esetben Ön) helyett a bejelentkezéssel vagy aEXECUTE AS
felhasználóval ellenőrzi.REVERT
ezután a bejelentkezés vagy a felhasználó megszemélyesítésének leállítására szolgál.A következő parancsok első néhány részét felismerheti, mert azok az előző gyakorlat ismétlései. Hozzon létre egy új lekérdezést a következő parancsokkal, majd válassza a Végrehajtás lehetőséget a lekérdezés futtatásához és az eredmények megfigyeléséhez.
-- Create a new SQL user and give them a password CREATE USER Bob WITH PASSWORD = 'c0mpl3xPassword!'; -- Until you run the following two lines, Bob has no access to read or write data ALTER ROLE db_datareader ADD MEMBER Bob; ALTER ROLE db_datawriter ADD MEMBER Bob; -- Execute as our new, low-privilege user, Bob EXECUTE AS USER = 'Bob'; SELECT TOP 10 FirstName, MiddleName, LastName FROM SalesLT.Customer; REVERT;
Az eredményben most is az első 10 névnek kell megjelennie, de maszkolva. Bob nem kapott hozzáférést ezeknek az adatoknak a maszkolás nélküli formájához.
Mi a teendő, ha Bobnak valamilyen okból hozzá kell férnie ezekhez a nevekhez, és engedélyt is kap rá?
A maszkolásból kizárt felhasználókat módosíthatja az Azure Portalon a Biztonság alatti Dinamikus adatmaszkolás panelen, de T-SQL használatával is.
Kattintson a jobb gombbal az AdventureWorks adatbázisra, és válassza az Új lekérdezés lehetőséget, majd adja meg a következő lekérdezést, hogy Bob maszkolás nélkül lekérdezhesse a nevek eredményeit. Válassza a Végrehajtás lehetőséget a lekérdezés futtatásához.
GRANT UNMASK TO Bob; EXECUTE AS USER = 'Bob'; SELECT TOP 10 FirstName, MiddleName, LastName FROM SalesLT.Customer; REVERT;
Az eredményben a teljes neveknek kell megjelenniük.
A felhasználó maszkolási jogosultságait is elvesztheti, és az alábbi T-SQL-parancsok új lekérdezésben való futtatásával megerősítheti ezt a műveletet:
-- Remove unmasking privilege REVOKE UNMASK TO Bob; -- Execute as Bob EXECUTE AS USER = 'Bob'; SELECT TOP 10 FirstName, MiddleName, LastName FROM SalesLT.Customer; REVERT;
Az eredményben a maszkolt neveknek kell megjelenniük.
Auditnaplók áttekintése az SSMS-ben
Rendszergazdaként nyilván szeretné átlátni és naplózni, hogy ki fér hozzá az adatbázisokhoz, azokon belül is a besorolt adatokhoz. A következőkben az Azure-blobtárolóba küldött naplófájlokat ismerheti meg. Az első teendője a naplófájlok egyesítése, ha a naplók több fájlra is kiterjednek. Ezt az SSMS-ben az alábbi lépésekben teheti meg:
Válassza a Fájl>Megnyitás>Naplófájlok egyesítése lehetőséget.
Válassza a Hozzáadás lehetőséget.
Válassza a Hozzáadás az Azure Blob Storage-ból, majd a Csatlakozás lehetőséget.
Jelentkezzen be az Azure-ba a modulhoz használt fiókkal.
Válassza ki az előfizetést, a tárfiókot és azt a blobtárolót, amelyet az auditnaplók tárolásához megadott. A tárfiók nevének kezdete
sql
. A tároló nevesqldbauditlogs
lesz. Ha nincs ilyen nevű tároló, létrehozott egy másik tárfiókot a naplózáshoz; használja helyette.Válassza ki az Azure SQL Database logikai kiszolgálót és az adatbázist
AdventureWorks
. Győződjön meg arról, hogy a From time korábbi, mint amikor elindította a gyakorlatokat. Kattintson az OK gombra.A megerősítő ablak tudatja, hogy hány fájl letöltése és egyesítése van folyamatban. Kattintson az OK gombra.
Tekintse át a fájlokat, majd válassza az OK gombot még egyszer.
Ekkor az összes auditnapló megjelenik. Keresse meg azt a részt, ahol a maszkolást tesztelte Bobbal. Ennek a lista alján kell szerepelnie.
Válassza ki az utasítást, majd tekintse át az adatokat a részletek panelen. Az egyik olyan lekérdezésnél például, amellyel Bob a besorolt adatokat próbálta megtekinteni, a
data_sensitivity_information
mező alatt láthatja, hogy az adatok titkosak.Kattintson duplán a data_sensitivity_information értékére a Részletek panelen. Megnyílik egy előugró ablak, amelyen az adatok jobban olvashatók.
Íme egy példa arra, hogy mit láthat a következő alatt
data_sensitivity_information
:<sensitivity_attributes max_rank="20" max_rank_desc="Medium"><sensitivity_attribute label="Confidential - GDPR" label_id="bf91e08c-f4f0-478a-b016-23422b2a65ff" information_type="Name" information_type_id="57845286-7598-22f5-3422-15b24aeb125e" rank="20" rank_desc="Medium"/></sensitivity_attributes>
Ezt az egyesített fájlt aztán XEL-fájlba, CSV-fájlba vagy egy táblába is exportálhatja a további elemzéshez. A kiterjesztett eseményfájlokat az Azure PowerShell használatával is lekérdezheti.
Auditnaplók áttekintése az Azure Portalon
Az auditnaplók elemzésének módját Ön választhatja meg. Ez a szakasz a biztonsági naplók Azure Portalon, a Log Analytics használatával végzett lekérdezését mutatja be.
Az Azure Portalon nyissa meg az adatbázist
AdventureWorks
. A bal oldali panel Biztonság területén válassza a Naplózás lehetőséget, majd válassza a Naplók megtekintése gombot a tálcán.Most már látnia kell az eseményrekordok lekérdezését, a Lekérdezésszerkesztő futtatható beállításait (T-SQL-lekérdezések futtatása a portálon keresztül), a Log Analytics beállításait, az irányítópult megtekintését stb.
Nyugodtan körülnézhet, hogy megértse, mik a lehetőségek.
Select Log Analytics. Előfordulhat, hogy a Log Analytics gomb eléréséhez a Frissítés lehetőséget kell választania. Ha megjelenik az Első lépések képernyő, válassza az OK lehetőséget. Ezzel egy lekérdezésszerkesztőt nyit meg, de ez nem T-SQL-szerkesztő. Ebben a nézetben a Kusto lekérdezési nyelv (KQL) használatával kérdezheti le a naplókat, amely úgy készült, hogy könnyen használható és érthető legyen az SQL-szakértők számára.
Az alapértelmezett lekérdezés az
SQLSecurityAuditEvents
kategóriát kérdezi le. Bár ezt a kategóriát használhatja most a biztonsággal kapcsolatos incidensek megtekintéséhez, ez az eszköz más Azure-naplók és -kategóriák lekérdezésére is használható a Log Analyticsben. Ebben a lépésben azokat az utasításokat vizsgálhatja meg, amelyekkel Bob bizalmas adatokhoz próbált hozzáférni. Az SSMS-ben látott információk lekéréséhez bontsa ki a sor részleteit a>
gomb kiválasztásával.Az eredmények megjelenéséig eltelhet néhány perc. A lekérdezést a Futtatás lehetőség ismételt kiválasztásával frissítheti.
Ez a gyakorlat nem mutatja be részletesen a naplók KQL-lekérdezését, de a korábbi hivatkozások között sok forrást találhat, ha később ezt is tovább szeretné gyakorolni.
A következő lépésben azt fogja látni, hogy az SQL-biztonság egy irányítópultot készített a Log Analytics alapján, hogy figyelni és elemezni tudja a naplókat és más SQL-tevékenységeket. A Naplórekordok panelre úgy térhet vissza, hogy a jobb felső sarokban található × választásával bezárja a Log Analytics lekérdezési ablakát.
Válassza az Irányítópult megtekintése lehetőséget.
Egy áttekintő irányítópult jelenik meg.
További részletek megtekintéséhez válassza az Azure SQL – Hozzáférés bizalmas adatokhoz lehetőséget.
Előfordulhat, hogy három-öt percet várnia kell, és a Frissítés lehetőséget kell választania ahhoz, hogy itt elemek jelenjenek meg.
Ezen részletes információk alapján a következőket állapíthatja meg:
- Hány lekérdezést fér hozzá bizalmas adatokhoz.
- Milyen típusú és bizalmasságú adatokhoz férnek hozzá.
- Mely rendszerbiztonsági tagok férnek hozzá a bizalmas adatokhoz.
- Milyen IP-címekről férnek hozzá bizalmas adatokhoz.
Vizsgálja meg az itt elérhető információkat, és hogy hogyan elemezheti a használatot ezzel az eszközzel. Ezek közül is választhat, és megtekintheti a kapcsolódó naplókat a Log Analyticsben.
Ha végzett, zárja be az Azure SQL – Hozzáférés bizalmas adatokhoz panelt a jobb felső sarkában található × választásával.
A naplózási irányítópult áttekintési paneljén válassza az Azure SQL – Biztonsági Elemzések lehetőséget.
Ez az irányítópult további naplózási információkat jelenít meg, amelyek segítenek az adatbázis-tevékenység megértésében és a rendellenességek feltárásában. Szánjon néhány percet az itteni lehetőségek tanulmányozására és részletezésére.
Az Azure SQL-szolgáltatásokra vonatkozó megállapítások megtekintése mellett az Azure-ban való használat lehetővé teszi, hogy Felhőhöz készült Microsoft Defender segítségével monitorozza, kezelje és megválaszolja a teljes Azure-tulajdonban felmerülő problémákat. Ha szeretné áttekinteni, hogy mi érhető el az Azure SQL-Felhőhöz készült Defender kívül, az Azure Portalon kereshet és választhat Felhőhöz készült Microsoft Defender. A hozzáférése az előfizetés szintjétől függően korlátozott lehet.