Cvičení – klasifikace dat, dynamické maskování dat a audit SQL
V tomto cvičení spojíte své znalosti z tohoto modulu a projdete určitý scénář. Naučíte se, jak přidávat nové klasifikace dat a dynamické datové masky, a pak se dozvíte o různých metodách auditování uživatelů, kteří se pokoušejí zobrazit sloupce označené pro klasifikaci dat. Toto cvičení kombinuje několik konceptů, se kterými jste se už seznámili v modulu o správě zabezpečení.
Konfigurace klasifikace dat a maskování
Na portálu Azure Portal přejděte do instance Azure SQL Database (ne na logický server).
V levém podokně v části Zabezpečení vyberte Zjišťování a klasifikace dat.
Vyberte kartu Klasifikace a pak vyberte Přidat klasifikaci.
V předchozím cvičení jste přidali všechny doporučené klasifikace sloupců. V tomto kroku ručně přidáte potenciálně citlivý sloupec do seznamu klasifikovaných sloupců.
V tabulce SalesLT Customer je identifikováno
FirstName
zjišťování aLastName
klasifikace dat, ale nikoliMiddleName
. Pomocí rozevíracích seznamů ho teď přidejte a pak vyberte Přidat klasifikaci.Zvolte Uložit.
Ověřte, že se klasifikace úspěšně přidala, zobrazením karty Přehled a ověřte, že
MiddleName
se teď zobrazuje v seznamu klasifikovaných sloupců ve schématu SalesLT.V levém podokně vyberte Přehled a přejděte zpět na přehled vaší databáze.
Dynamické maskování dat databáze SQL (DDM) je k dispozici ve službách Azure SQL i na SQL Serveru. DDM omezuje zveřejňování dat maskováním citlivých dat pro neoprávněné uživatele na úrovni SQL Serveru a nikoli na úrovni aplikace, kde byste tyto typy pravidel museli kódovat. Azure SQL vám doporučí položky, které byste měli maskovat. Případně můžete masky přidat ručně.
V dalších krocích zamaskujete
FirstName
sloupce a sloupceMiddleName
LastName
, které jste si prostudovali v předchozím kroku.Na webu Azure Portal přejděte do služby Azure SQL Database. V levém podokně v části Zabezpečení vyberte Dynamické maskování dat a pak vyberte Přidat masku.
V rozevíracíchch Můžete zkontrolovat možnosti maskování, ale pro tento scénář je vhodná výchozí hodnota. Výběrem možnosti Přidat přidejte pravidlo maskování.
Předchozí kroky zopakujte pro sloupec MiddleName i pro sloupec LastName v této tabulce.
Teď máte tři pravidla maskování podobná těm, která jsou tady uvedená:
Zvolte Uložit.
V levém podokně vyberte Přehled a přejděte zpět na přehled vaší databáze.
Načtení klasifikovaných a maskovaných dat
Dále budete simulovat někoho, kdo se dotazuje na klasifikované sloupce, a prozkoumáte dynamické maskování dat v akci.
Přejděte do SQL Server Management Studia.
Chcete-li vytvořit nový dotaz v databázi AdventureWorks, klikněte pravým tlačítkem myši na databázi a pak vyberte Nový dotaz.
Spusťte následující dotaz, který vrátí klasifikovaná data a v některých případech sloupce označené pro maskovaná data. Vyberte Spustit a spusťte dotaz.
SELECT TOP 10 FirstName, MiddleName, LastName FROM SalesLT.Customer;
Výsledek by měl zobrazit prvních 10 jmen bez použitého maskování. Proč? Protože jste správcem tohoto logického serveru služby Azure SQL Database.
V následujícím dotazu vytvoříte nového uživatele a spustíte předchozí dotaz jako tento uživatel. Použijete také příkaz
EXECUTE AS
pro zosobnění uživateleBob
.EXECUTE AS
Při spuštění příkazu se kontext spuštění relace přepne na přihlašovací jméno nebo uživatele. To znamená, že oprávnění se kontrolují proti přihlášení nebo uživateli místo osoby, která příkaz spouštíEXECUTE AS
(v tomto případě vy).REVERT
se pak použije k zastavení zosobnění přihlášení nebo uživatele.Pravděpodobně poznáte několik prvních částí následujících příkazů, protože se opakují z předchozího cvičení. Vytvořte nový dotaz s následujícími příkazy a pak výběrem příkazu Spustit spusťte dotaz a prohlédněte si výsledky.
-- 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;
Ve výsledku by se teď mělo objevit prvních 10 jmen, avšak s použitým maskováním. Bobovi nebyl udělen přístup k nemaskované podobě těchto dat.
Co když Bob z nějakého důvodu potřebuje mít přístup k těmto jménům a získá k tomu oprávnění?
Uživatele vyloučené z maskování můžete aktualizovat na portále Azure Portal (přejdete do podokna Dynamické maskování dat v části Zabezpečení), ale můžete to provést také pomocí T-SQL.
Klikněte pravým tlačítkem myši na databázi AdventureWorks a vyberte Nový dotaz a pak zadejte následující dotaz, který Bobovi umožní dotazovat se na výsledky názvů bez maskování. Vyberte Spustit a spusťte dotaz.
GRANT UNMASK TO Bob; EXECUTE AS USER = 'Bob'; SELECT TOP 10 FirstName, MiddleName, LastName FROM SalesLT.Customer; REVERT;
Vaše výsledky by měly obsahovat celá jména:
Oprávnění uživatele můžete zrušit také tak, že v novém dotazu spustíte následující příkazy T-SQL a potvrdíte tuto akci:
-- Remove unmasking privilege REVOKE UNMASK TO Bob; -- Execute as Bob EXECUTE AS USER = 'Bob'; SELECT TOP 10 FirstName, MiddleName, LastName FROM SalesLT.Customer; REVERT;
Vaše výsledky by měly obsahovat maskovaná jména.
Kontrola protokolů auditu v nástroji SSMS
Jako správce budete pravděpodobně chtít kontrolovat a auditovat, kdo přistupuje k databázím a zvláště ke klasifikovaným datům. Dále se můžete podívat na soubory auditu, které se odesílají do úložiště Azure Blob Storage. První věc, kterou musíte udělat, je sloučit soubory auditu, pokud jsou protokoly ve více souborech. To můžete provést v SQL Server Management Studiu pomocí následujícího postupu:
Vyberte File (Soubor)>Open (Otevřít)>Merge Audit Files (Sloučit soubory auditu).
Vyberte Přidat.
Vyberte Přidat ze služby Azure Blob Storage a pak vyberte Připojení.
Přihlaste se k Azure pomocí účtu, který používáte pro tento modul.
Vyberte předplatné, účet úložiště a kontejner objektů blob, který jste nakonfigurovali jako umístění pro protokoly auditu. Účet úložiště by měl začínat znaky
sql
. Kontejner bude mít názevsqldbauditlogs
. Pokud neexistuje žádný kontejner s tímto názvem, vytvořili jste pro auditování jiný účet úložiště; použijte místo toho.Vyberte logický server Azure SQL Database a vaši
AdventureWorks
databázi. Ujistěte se, že čas od času je dřívější než při spuštění cvičení. Vyberte OK.Potvrzovací okno vás bude informovat, kolik souborů se stahuje a slučuje. Vyberte OK.
Zkontrolujte soubory a pak vyberte OK naposledy.
Nyní se zobrazí všechny protokoly auditu. Hledejte část, kde jste testovali maskování pro uživatele Boba. Výpis by měl být poblíž dolního okraje.
Vyberte příkaz a zkontrolujte informace v podokně podrobností. Například pro jeden z dotazů, kde se Bob se pokouší zobrazit klasifikovaná data, můžete v poli
data_sensitivity_information
vidět, která data jsou klasifikovaná.V podokně Details (Podrobnosti) poklikejte na hodnotu data_sensitivity_information. Otevře se automaticky otevírané okno, ve kterém můžete data snadněji číst.
Tady je příklad toho, co se může zobrazit v části
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>
Tento sloučený soubor můžete potom exportovat do souboru XEL nebo CSV (nebo do tabulky) pro další analýzu. Můžete také provádět dotazy na soubory rozšířených událostí pomocí Azure PowerShellu.
Kontrola protokolů auditu na portále Azure Portal
Způsob analyzování protokolů auditu bude záviset na vašich preferencích. V této části se dozvíte, jak se můžete dotazovat na protokoly zabezpečení na portálu Azure Portal pomocí funkce Log Analytics.
Na webu Azure Portal přejděte do databáze
AdventureWorks
. V levém podokně v části Zabezpečení vyberte Auditování a pak na hlavním panelu vyberte tlačítko Zobrazit protokoly auditu.Teď byste měli být schopni zobrazit dotaz na záznamy událostí, možnosti spuštění v Editor Power Query (spouštění dotazů T-SQL prostřednictvím portálu), možnosti pro Log Analytics, zobrazení řídicího panelu a další.
Neváhejte se podívat, abyste pochopili, jaké jsou některé z možností.
Vyberte Log Analytics. Možná budete muset vybrat Aktualizovat , abyste měli přístup k tlačítku Log Analytics . Pokud se vám zobrazí obrazovka Začínáme, vyberte OK. Tím přejdete do editoru dotazů, ale nejedná se o editor T-SQL. V tomto zobrazení se můžete dotazovat na protokoly pomocí dotazovacího jazyka Kusto (KQL), který mohou odborníci v jazyce SQL snadno používat a pochopit.
Výchozí dotaz se dotazuje na kategorii
SQLSecurityAuditEvents
. I když teď můžete tuto kategorii použít k zobrazení incidentů souvisejících se zabezpečením, můžete tento nástroj použít také k dotazování jiných protokolů a kategorií Azure v Log Analytics. K provedení tohoto kroku můžete vyhledat příkazy, ve kterých se Bob pokusil o přístup k citlivým informacím. Pokud chcete získat stejné informace, které jste viděli v nástroji SSMS, rozbalte podrobnosti řádku výběrem>
tlačítka.Může trvat několik minut, než se výsledky zobrazí. Dotaz můžete aktualizovat tak, že znovu vyberete Spustit.
Při této činnosti se nebudete podrobně věnovat dotazům na protokoly pomocí jazyka KQL, ale v předchozích odkazech existuje mnoho materiálů, které si můžete později procvičit.
V dalším kroku se dozvíte, jak se v zabezpečení SQL vytvořil řídicí panel založený na Log Analytics, abyste mohli monitorovat a auditovat protokoly a další aktivity SQL. Pokud se chcete vrátit do podokna Záznamy auditu, zavřete okno dotazu Log Analytics vybráním X v pravém horním rohu.
Vyberte Zobrazit řídicí panel.
Zobrazí se celkový řídicí panel.
Pokud chcete zobrazit další podrobnosti, vyberte Azure SQL – Access to Sensitive Data (Přístup k citlivým datům).
Možná budete muset tři až pět minut počkat a vybrat Aktualizovat, aby se zobrazily položky.
Pomocí těchto podrobných informací můžete zjistit:
- Kolik dotazů přistupuje k citlivým datům.
- Ke kterým typům dat a citlivým údajům uživatelé přistupují.
- Které objekty zabezpečení přistupují k citlivým datům.
- Které IP adresy přistupují k citlivým datům.
Projděte si informace, které tam jsou dostupné, a jak můžete pomocí tohoto nástroje auditovat využití. Můžete dokonce vybrat každou z těchto možností a zobrazit související protokoly v Log Analytics.
Až skončíte, zavřete Azure SQL – Access to Sensitive Data (Přístup k citlivým datům) tak, že v pravém horním rohu vyberete X.
Zpět v podokně přehledu řídicího panelu auditování vyberte Azure SQL – Přehledy zabezpečení.
Tento řídicí panel zobrazuje další informace o auditování, které vám pomůžou porozumět databázovým aktivitám a získat přehled o anomáliích. Věnujte několik minut tomu, že si prohlédnete možnosti, které tam jsou, a podíváte se na jejich podrobnosti.
Kromě zobrazení těchto přehledů pro služby Azure SQL umožňuje používání programu Microsoft Defender for Cloud k monitorování, správě a reagování na problémy, ke kterým dochází v rámci celého majetku Azure. Pokud se chcete podívat, co je dostupné mimo Azure SQL Defender for Cloud, můžete na webu Azure Portal vyhledat a vybrat Microsoft Defender for Cloud . Váš přístup může být omezen v závislosti na vaší úrovni předplatného.