Oefening: gegevensclassificatie, dynamische gegevensmaskering en SQL-controle
In deze oefening combineert u uw lessen uit de module om een scenario te doorlopen. U leert hoe u nieuwe gegevensclassificaties en dynamische gegevensmaskers toevoegt. Vervolgens ziet u verschillende methoden voor het controleren van gebruikers die kolommen proberen te bekijken die zijn gemarkeerd voor gegevensclassificatie. In deze oefening worden verschillende concepten gecombineerd die u al hebt geleerd in de module over het beheren van beveiliging.
Gegevensclassificatie en -maskering configureren
Ga in Azure Portal naar uw Azure SQL Database-exemplaar (geen logische server).
Selecteer in het linkerdeelvenster onder Securityde optie Data Discovery & Classification.
Selecteer het tabblad Classificatie en selecteer vervolgens Classificatie toevoegen.
In een vorige oefening hebt u alle aanbevolen kolomclassificaties toegevoegd. In deze stap u handmatig een mogelijk gevoelige kolom aan de lijst met geclassificeerde kolommen toevoegen.
In de tabel SalesLT Customer heeft Data Discovery & Classification
FirstName
enLastName
geïdentificeerd die moeten worden geclassificeerd, maar nietMiddleName
. Gebruik de vervolgkeuzelijsten om deze nu toe te voegen en selecteer vervolgens Classificatie toevoegen.Selecteer opslaan.
Controleer of de classificatie is toegevoegd door het tabblad Overzicht weer te geven en controleer of
MiddleName
nu wordt weergegeven in de lijst met geclassificeerde kolommen onder het SalesLT-schema.Selecteer in het linkerdeelvenster Overzicht om terug te gaan naar het overzicht van uw database.
DDM (Dynamic Data Masking) is beschikbaar in zowel Azure SQL als SQL Server. DDM beperkt de blootstelling van gegevens door gevoelige gegevens te maskeren voor niet-gemachtigde gebruikers op SQL Server-niveau in plaats van op toepassingsniveau waar u deze typen regels moet coderen. Azure SQL raadt items aan die u moet maskeren of u kunt maskers handmatig toevoegen.
In de volgende stappen maskert u de
FirstName
,MiddleName
enLastName
kolommen die u in de vorige stap hebt bekeken.Ga in Azure Portal naar uw Azure SQL Database. Selecteer in het linkerdeelvenster onder Securityde optie Dynamische gegevensmaskeringen selecteer vervolgens Masker toevoegen.
Selecteer in de vervolgkeuzelijsten het SalesLT schema, de Customer tabel en de FirstName kolom. U kunt de opties voor maskering bekijken, maar de standaardoptie is geschikt voor dit scenario. Selecteer toevoegen om de maskeringsregel toe te voegen.
Herhaal de vorige stappen voor zowel MiddleName als LastName in die tabel.
U hebt nu drie maskeringsregels die vergelijkbaar zijn met de regels die hier worden weergegeven:
Selecteer opslaan.
Selecteer in het linkerdeelvenster Overzicht om terug te gaan naar het overzicht van uw database.
Gegevens ophalen die zijn geclassificeerd en gemaskeerd
Vervolgens simuleert u iemand die een query uitvoert op de geclassificeerde kolommen en verkent u dynamische gegevensmaskering in actie.
Ga naar SQL Server Management Studio (SSMS),
Als u een nieuwe query wilt maken in uw AdventureWorks-database, klikt u met de rechtermuisknop op de database en selecteert u vervolgens Nieuwe query.
Voer de volgende query uit om de geclassificeerde gegevens en in sommige gevallen kolommen te retourneren die zijn gemarkeerd voor gemaskeerde gegevens. Selecteer uitvoeren om de query uit te voeren.
SELECT TOP 10 FirstName, MiddleName, LastName FROM SalesLT.Customer;
Uw resultaat moet de eerste 10 namen weergeven, zonder maskering toegepast. Waarom? Omdat u de beheerder bent voor deze logische Azure SQL Database-server.
In de volgende query maakt u een nieuwe gebruiker en voert u de voorgaande query uit als die gebruiker. U gebruikt ook
EXECUTE AS
omBob
te imiteren. Wanneer eenEXECUTE AS
instructie wordt uitgevoerd, wordt de uitvoeringscontext van de sessie overgeschakeld naar de aanmelding of gebruiker. Dit betekent dat de machtigingen worden gecontroleerd op basis van de aanmelding of gebruiker in plaats van de persoon die de opdrachtEXECUTE AS
uitvoert (in dit geval u).REVERT
wordt vervolgens gebruikt om te stoppen met het imiteren van de aanmelding of gebruiker.Mogelijk herkent u de eerste paar onderdelen van de opdrachten die volgen, omdat ze een herhaling zijn uit een vorige oefening. Maak een nieuwe query met de volgende opdrachten en selecteer vervolgens uitvoeren om de query uit te voeren en de resultaten te bekijken.
-- 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;
In het resultaat worden nu de eerste 10 namen weergegeven, maar met toegepaste maskering. Bob heeft geen toegang gekregen tot de ontmaskerde vorm van deze gegevens.
Wat gebeurt er als Bob om een of andere reden toegang nodig heeft tot de namen en toestemming krijgt om deze te hebben?
U kunt uitgesloten gebruikers bijwerken van maskering in Azure Portal door naar het deelvenster Dynamische gegevensmaskering te gaan, onder Security, maar u kunt dit ook doen met behulp van T-SQL.
Klik met de rechtermuisknop op de AdventureWorks-database en selecteer Nieuwe queryen voer vervolgens de volgende query in om Bob de namenresultaten te laten doorzoeken zonder maskering. Selecteer uitvoeren om de query uit te voeren.
GRANT UNMASK TO Bob; EXECUTE AS USER = 'Bob'; SELECT TOP 10 FirstName, MiddleName, LastName FROM SalesLT.Customer; REVERT;
De resultaten moeten de volledige namen bevatten.
U kunt ook de ontmaskeringsbevoegdheden van een gebruiker intrekken en deze actie bevestigen door de volgende T-SQL-opdrachten uit te voeren in een nieuwe query:
-- Remove unmasking privilege REVOKE UNMASK TO Bob; -- Execute as Bob EXECUTE AS USER = 'Bob'; SELECT TOP 10 FirstName, MiddleName, LastName FROM SalesLT.Customer; REVERT;
De resultaten moeten de gemaskeerde namen bevatten.
Auditlogboeken controleren in SSMS
Als beheerder wilt u mogelijk controleren wie toegang heeft tot de databases, met name de geclassificeerde gegevens. Vervolgens kunt u de auditbestanden bekijken die naar Azure Blob Storage worden verzonden. Het eerste wat u moet doen, is het samenvoegen van de auditbestanden, als de logboeken meerdere bestanden omvatten. U kunt dit doen vanuit SSMS door het volgende te doen:
Selecteer Bestand>Openen>Auditbestanden samenvoegen.
Selecteer toevoegen.
Selecteer Toevoegen uit Azure Blob Storageen selecteer vervolgens Verbinding maken.
Meld u aan bij Azure met het account dat u voor deze module gebruikt.
Selecteer het abonnement, het opslagaccount en de blobcontainer waarnaar u de auditlogs geconfigureerd heeft om uit te voeren. Het opslagaccount moet beginnen met
sql
. De container wordtsqldbauditlogs
genoemd. Als er geen container met die naam is, hebt u een ander opslagaccount gemaakt voor controle; gebruik dat in plaats daarvan.Selecteer uw logische Azure SQL Database-server en uw
AdventureWorks
-database. Zorg ervoor dat de begintijd tot eerder is dan de tijd waarop u de oefeningen bent gestart. Selecteer OK-.In het bevestigingsvenster ziet u hoeveel bestanden worden gedownload en samengevoegd. Selecteer OK-.
Controleer de bestanden en selecteer vervolgens OK de laatste keer.
Alle auditlogboeken worden nu weergegeven. Zoek naar waar u met maskering met Bob testte. De vermelding moet onderaan staan.
Selecteer de instructie en controleer vervolgens de informatie in het detailvenster. Voor een van de query's waarin Bob bijvoorbeeld probeert geclassificeerde gegevens weer te geven, kunt u onder het
data_sensitivity_information
veld de geclassificeerde gegevens zien.Dubbelklik op de waarde van de data_sensitivity_information in het deelvenster Details. Er wordt een pop-upvenster geopend, zodat u de gegevens gemakkelijker kunt lezen.
Hier volgt een voorbeeld van wat u onder
data_sensitivity_information
ziet:<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>
U kunt dit samengevoegde bestand vervolgens exporteren naar een XEL-bestand, een CSV-bestand of een tabel voor aanvullende analyse. U kunt ook query's uitvoeren op de bestanden met uitgebreide gebeurtenissen met behulp van Azure PowerShell.
Auditlogboeken controleren in Azure Portal
Het analyseren van uw auditlogboeken is afhankelijk van uw voorkeur. In deze sectie wordt u blootgesteld aan het uitvoeren van query's op beveiligingslogboeken in Azure Portal met Log Analytics.
Ga in Azure Portal naar uw
AdventureWorks
-database. Selecteer in het linkerdeelvenster onder Securityde optie Auditingen selecteer vervolgens de knop Auditlogboeken weergeven op de taakbalk.U zou nu een query van uw gebeurtenisrecords moeten kunnen zien, opties om uit te voeren in Query-editor (T-SQL-query's uitvoeren via de portal), opties voor Log Analytics, Dashboard weergeven en meer.
U kunt gerust een kijkje nemen om te begrijpen wat een aantal van de opties zijn.
Selecteer Log Analytics-. Mogelijk moet u Vernieuwen selecteren om toegang te krijgen tot de knop Log Analytics. Als u een Aan de slag scherm ziet, selecteert u OK. Hiermee gaat u naar een query-editor, maar dit is geen T-SQL-editor. In deze weergave kunt u query's uitvoeren op logboeken met behulp van de Kusto Query Language (KQL), die bedoeld is voor SQL-professionals om ze eenvoudig te gebruiken en te begrijpen.
De standaardquery voert een query uit op de categorie
SQLSecurityAuditEvents
. Hoewel u deze categorie nu kunt gebruiken om beveiligingsgerelateerde incidenten weer te geven, kan dit hulpprogramma ook worden gebruikt voor het opvragen van andere Azure-logboeken en -categorieën in Log Analytics. Voor deze stap kunt u zoeken naar de instructies waarin Bob toegang probeerde te krijgen tot gevoelige informatie. Als u dezelfde informatie wilt ophalen die u in SSMS hebt gezien, vouwt u de rijdetails uit door de knop>
te selecteren.Het kan enkele minuten duren voordat de resultaten hier worden weergegeven. U kunt de query vernieuwen door opnieuw uit te voeren.
In deze activiteit gaat u niet dieper in op KQL-query's op logboeken, maar er zijn veel resources in de eerdere verwijzingen als u later meer wilt oefenen.
In de volgende stap ziet u hoe SQL Security een dashboard heeft gebouwd op basis van Log Analytics, zodat u de logboeken en andere SQL-activiteiten kunt controleren en controleren. Om terug te keren naar het deelvenster Auditrecords, sluit u het logvenster van Log Analytics door X in de rechterbovenhoek te selecteren.
Selecteer Dashboard weergeven.
Er wordt een overzichtsdashboard weergegeven.
Selecteer Azure SQL - Toegang tot gevoelige gegevens om meer details weer te geven.
Mogelijk moet u drie tot vijf minuten wachten en vernieuwen selecteren, zodat de items hier worden weergegeven.
U kunt deze gedetailleerde informatie gebruiken om het volgende te ontdekken:
- Hoeveel query's toegang hebben tot gevoelige gegevens.
- Welke typen en vertrouwelijkheid van gegevens worden geopend.
- Welke principals toegang hebben tot gevoelige gegevens.
- Welke IP-adressen toegang hebben tot gevoelige gegevens.
Bekijk wat hier beschikbaar is en hoe u het gebruik met dit hulpprogramma kunt controleren. U kunt zelfs elk van deze selecteren en de gerelateerde logboeken bekijken in Log Analytics.
Wanneer u klaar bent, sluit u het deelvenster Azure SQL - Toegang tot gevoelige gegevens door de X- in de rechterbovenhoek te selecteren.
Terug op het overzichtsvenster van het controledashboard, selecteer Azure SQL - Security Insights.
Dit dashboard geeft meer controle-informatie weer om inzicht te krijgen in databaseactiviteit en inzicht te krijgen in afwijkingen. Besteed enkele minuten aan het bekijken en inzoomen op de opties hier.
Naast het weergeven van deze inzichten voor Azure SQL-services, kunt u in Azure Microsoft Defender voor Cloud gebruiken om problemen te bewaken, beheren en erop te reageren die zich voordoen in uw hele Azure-omgeving. Als u wilt bekijken wat er buiten Azure SQL Defender for Cloud beschikbaar is, kunt u zoeken naar en Microsoft Defender voor Cloud- selecteren in Azure Portal. Uw toegang is mogelijk beperkt, afhankelijk van uw abonnementsniveau.