Granskning för Azure SQL Database och Azure Synapse Analytics
GÄLLER FÖR:
Azure SQL Database Azure Synapse Analytics
Granskning för Azure SQL Database och Azure Synapse Analytics spårar databashändelser och skriver dem till en granskningslogg i ditt Azure Storage-konto, log analytics-arbetsyta eller Event Hubs.
Granskning gör även följande:
Det hjälper dig att upprätthålla regelefterlevnad, förstå databasaktiviteter och få insikter om i avvikelser och fel som kan tyda på affärsproblem eller potentiella säkerhetsöverträdelser.
Det främjar och underlättar uppfyllandet av efterlevnadsstandarder, även om det inte garanterar efterlevnad. Mer information om Azure-program som har stöd för standardefterlevnad finns i Azure Säkerhetscenter, där du hittar den senaste listan över Azure SQL-efterlevnadscertifieringar.
Anteckning
Information om granskning av Azure SQL Managed Instance finns i följande artikel Kom igång med granskning SQL Hanterad instans.
Översikt
Du kan använda SQL Database för att:
- Behåll en granskningslogg för valda händelser. Du kan definiera kategorier med databasåtgärder som ska granskas.
- Rapportera om databasaktivitet. Du kan använda förkonfigurerade rapporter och en instrumentpanel för att snabbt komma igång med aktivitets- och händelserapportering.
- Analysera rapporter. Du kan hitta misstänkta händelser, ovanliga aktiviteter och trender.
Viktigt
Granskning för Azure SQL Database, Azure Synapse och Azure SQL Managed Instance är optimerad för tillgänglighet och prestanda. Under mycket hög aktivitet eller hög nätverksbelastning kan Azure SQL Database, Azure Synapse och Azure SQL Managed Instance tillåta att åtgärder fortsätter och kanske inte registrerar några granskade händelser.
Granskningsbegränsningar
- Premium stöds inte för närvarande.
- Hierarkisk namnrymd för Azure Data Lake Storage Gen2-lagringskonto stöds inte för närvarande.
- Det finns inte stöd för att Azure Synapse granskning på en pausad Azure Synapse. Du kan aktivera granskning genom att återuppta Azure Synapse.
- Granskning för Azure Synapse SQL stöder endast standardåtgärdsgrupper för granskning.
Definiera granskningsprincip på servernivå jämfört med databasnivå
En granskningsprincip kan definieras för en specifik databas eller som en standardserverprincip i Azure (som är värd för SQL Database eller Azure Synapse):
En serverprincip gäller för alla befintliga och nyligen skapade databaser på servern.
Om servergranskning är aktiverad gäller den alltid för databasen. Databasen granskas, oavsett inställningarna för databasgranskning.
När granskningsprincipen har definierats på databasnivå till en Log Analytics-arbetsyta eller ett Event Hub-mål behåller följande åtgärder inte källdatabasnivågranskningsprincipen:
- Databaskopia
- Återställning från tidpunkt
- Geo-replikering (sekundär databas kommer inte att ha granskning på databasnivå)
Att aktivera granskning på databasen, förutom att aktivera det på servern, åsidosätter inte eller ändrar inte några av inställningarna för servergranskningen. Båda granskningarna kommer att finnas sida vid sida. Med andra ord granskas databasen två gånger parallellt. en gång av serverprincipen och en gång av databasprincipen.
Anteckning
Du bör undvika att aktivera både servergranskning och databasblobgranskning tillsammans, såvida inte:
- Du vill använda ett annat lagringskonto, kvarhållningsperiod eller Log Analytics-arbetsyta för en specifik databas.
- Du vill granska händelsetyper eller kategorier för en specifik databas som skiljer sig från resten av databaserna på servern. Du kan till exempel ha tabellinfogningar som endast behöver granskas för en specifik databas.
Annars rekommenderar vi att du endast aktiverar granskning på servernivå och låter granskning på databasnivå vara inaktiverat för alla databaser.
Kommentarer
- Granskningsloggar skrivs till tilläggsblobar i en Azure Blob Storage i din Azure-prenumeration
- Granskningsloggarna är i .xel-format och kan öppnas med hjälp av SQL Server Management Studio (SSMS).
- Om du vill konfigurera ett oföränderligt loggarkiv för granskningshändelser på server- eller databasnivåföljer du anvisningarna i Azure Storage . Kontrollera att du har valt Tillåt ytterligare tillägg när du konfigurerar den oföränderliga bloblagringen.
- Du kan skriva granskningsloggar till ett Azure Storage bakom ett VNet eller en brandvägg. Specifika instruktioner finns i Skriva granskning till ett lagringskonto bakom VNet och brandväggen.
- Mer information om loggformatet, hierarkin för lagringsmappen och namngivningskonventionerna finns i Referens för loggformat för blobgranskning.
- Granskning är automatiskt aktiverat på skrivskyddade repliker. Mer information om hierarkin för lagringsmappar, namngivningskonventioner och loggformat finns i SQL Database Granskningsloggformat.
- När du använder Azure AD-autentisering visas misslyckade inloggningsposter inte i SQL granskningsloggen. Om du vill visa misslyckade granskningsposter för inloggning måste du besöka Azure Active Directory ,som loggar information om dessa händelser.
- Inloggningar dirigeras av gatewayen till den instans där databasen finns. Vid en AAD-inloggning verifieras autentiseringsuppgifterna innan ett försök görs att logga in på den begärda databasen med aktuella användaren. Om det uppstår ett fel går det inte att komma åt den begärda databasen, vilket innebär att det inte utförs någon granskning. När det SQL inloggningar verifieras autentiseringsuppgifterna på begärda data, så i det här fallet kan de granskas. Lyckade inloggningar, som uppenbart når databasen, granskas i båda fallen.
- När du har konfigurerat granskningsinställningarna kan du aktivera den nya funktionen för hotidentifiering och konfigurera e-postmeddelanden för att ta emot säkerhetsaviseringar. När du använder hotidentifiering får du proaktiva aviseringar om avvikande databasaktiviteter som kan tyda på potentiella säkerhetshot. Mer information finns i Komma igång med hotidentifiering.
- När en databas med granskning aktiverat har kopierats till en annan logisk Azure SQL-server kan du få ett e-postmeddelande om att granskningen misslyckades. Det här är ett känt problem och granskning bör fungera som förväntat på den nyligen kopierade databasen.
Konfigurera granskning för servern
Standardgranskningsprincipen innehåller alla åtgärder och följande åtgärdsgrupper, som granskar alla frågor och lagrade procedurer som körs mot databasen, samt lyckade och misslyckade inloggningar:
- BATCH_COMPLETED_GROUP
- SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP
- FAILED_DATABASE_AUTHENTICATION_GROUP
Du kan konfigurera granskning för olika typer av åtgärder och åtgärdsgrupper med hjälp av PowerShell, enligt beskrivningen i avsnittet Hantera SQL Database granskning med hjälp Azure PowerShell.
Azure SQL Database och Azure Synapse Audit lagrar 4 000 tecken data för teckenfält i en granskningspost. När -instruktionen eller data_sensitivity_information-värden som returneras från en granskningsbar åtgärd innehåller mer än 4 000 tecken trunkeras alla data utöver de första 4 000 tecknen och granskas inte. I följande avsnitt beskrivs konfigurationen av granskning med hjälp av Azure Portal.
Anteckning
- Det går inte att aktivera granskning på en pausad SQL-pool. Om du vill aktivera granskning av pausar du den dedikerade SQL poolen. Läs mer om dedikerad SQL pool.
- När granskning har konfigurerats för en Log Analytics-arbetsyta eller till ett händelsehubbmål via Azure Portal- eller PowerShell-cmdleten skapas en diagnostikinställning med kategorin "SQLSecurityAuditEvents" aktiverad.
Gå till Azure-portalen.
Gå till Granskning under rubriken Säkerhet i SQL databas eller SQL serverfönster.
Om du föredrar att konfigurera en servergranskningsprincip kan du välja länken Visa serverinställningar på sidan för databasgranskning. Du kan sedan visa eller ändra inställningarna för servergranskning. Servergranskningsprinciper gäller för alla befintliga och nyligen skapade databaser på den här servern.

Om du föredrar att aktivera granskning på databasnivå växlar du Granskning till PÅ. Om servergranskning har aktiverats finns den databaskonfigurerade granskningen sida vid sida med servergranskningen.
Du har flera alternativ för att konfigurera var granskningsloggar ska skrivas. Du kan skriva loggar till ett Azure Storage-konto, till en Log Analytics-arbetsyta för användning via Azure Monitor-loggar eller till händelsehubben för användning med händelsehubben. Du kan konfigurera valfri kombination av dessa alternativ så skrivs granskningsloggar till var och en.

Granskning av Microsoft Support åtgärder
Granskning av Microsoft Support för Azure SQL Server gör att du kan granska Microsofts supportteknikers åtgärder när de behöver åtkomst till din server under en supportbegäran. Användningen av den här funktionen, tillsammans med din granskning, möjliggör större transparens för personalen och möjliggör avvikelseidentifiering, trendvisualisering och dataförlustskydd.
Om du vill Microsoft Support granskningsåtgärder går du till Granskning under rubriken Säkerhet i fönstret Azure SQL-server och växlar Aktivera granskning av Microsoft-supportåtgärder till PÅ.

Om du vill granska granskningsloggarna Microsoft Support åtgärder i Log Analytics-arbetsytan använder du följande fråga:
AzureDiagnostics
| where Category == "DevOpsOperationsAudit"
Du kan välja ett annat lagringsmål för den här granskningsloggen eller använda samma granskningskonfiguration för servern.
Granska till lagringsmål
Om du vill konfigurera skrivning av granskningsloggar till ett lagringskonto väljer Storage när du kommer till avsnittet Granskning. Välj det Azure Storage-konto där loggarna ska sparas och välj sedan kvarhållningsperioden genom att öppna Avancerade egenskaper. Klicka sedan på Spara. Loggar som är äldre än kvarhållningsperioden tas bort.
Standardvärdet för kvarhållningsperioden är 0 (obegränsad kvarhållning). Du kan ändra det här värdet genom att flytta skjutreglaget Kvarhållning (dagar) i Avancerade egenskaper när du konfigurerar lagringskontot för granskning.
- Om du ändrar kvarhållningsperioden från 0 (obegränsad kvarhållning) till ett annat värde, bör du observera att kvarhållningen endast gäller för loggar som skrivits efter att kvarhållningsvärdet har ändrats (loggar som skrivits under perioden när kvarhållningen var inställt på obegränsad bevaras, även efter att kvarhållning har aktiverats).

Granska till Log Analytics-mål
Om du vill konfigurera skrivning av granskningsloggar till en Log Analytics-arbetsyta väljer du Log Analytics och öppnar Log Analytics-information. Välj den Log Analytics-arbetsyta där loggarna ska skrivas och klicka sedan på OK. Om du inte har skapat en Log Analytics-arbetsyta kan du gå till Skapa en Log Analytics-arbetsyta i Azure Portal.

Mer information om hur du Azure Monitor Log Analytics-arbetsytan finns i Utforma distributionen av Azure Monitor-loggar
Granska till Händelsehubbmål
Om du vill konfigurera skrivning av granskningsloggar till en händelsehubb väljer du Händelsehubb. Välj den händelsehubb där loggarna ska skrivas och klicka sedan på Spara. Se till att händelsehubben finns i samma region som databasen och servern.

Analysera granskningsloggar och rapporter
Om du väljer att skriva granskningsloggar till Log Analytics:
Använd Azure-portalen. Öppna relevant databas. Längst upp på databasens granskningssida väljer du Visa granskningsloggar.

Sedan kan du visa loggarna på två sätt:
Om du klickar på Log Analytics högst upp på sidan Granskningsposter öppnas loggvyn i Log Analytics-arbetsytan, där du kan anpassa tidsperioden och sökfrågan.

Om du klickar på Visa instrumentpanel överst på sidan Granskningsposter öppnas en instrumentpanel som visar information om granskningsloggar, där du kan öka detaljvyn i Security Insights, Access to Sensitive Data med mera. Den här instrumentpanelen är utformad för att hjälpa dig att få säkerhetsinsikter för dina data. Du kan också anpassa tidsperioden och sökfrågan.



Du kan också komma åt granskningsloggarna från Log Analytics-bladet. Öppna Log Analytics-arbetsytan och klicka på Loggar under avsnittet Allmänt. Du kan börja med en enkel fråga, till exempel: sök efter "SQLSecurityAuditEvents" för att visa granskningsloggarna. Härifrån kan du också använda Azure Monitor för att köra avancerade sökningar på dina granskningsloggdata. Azure Monitor-loggar ger dig driftsinformation i realtid med hjälp av integrerade sök- och anpassade instrumentpaneler för att enkelt analysera miljontals poster över alla dina arbetsbelastningar och servrar. Mer användbar information om hur Azure Monitor och kommandon finns i sökreferensen Azure Monitor loggar.
Om du väljer att skriva granskningsloggar till Händelsehubb:
- Om du vill använda data för granskningsloggar från händelsehubben måste du konfigurera en ström för att använda händelser och skriva dem till ett mål. Mer information finns i Azure Event Hubs dokumentation.
- Granskningsloggar i Händelsehubb avbildas i brödtexten i Apache Avro-händelser och lagras med JSON-formatering med UTF-8-kodning. Om du vill läsa granskningsloggarna kan du använda Avro-verktyg eller liknande verktyg som kan hantera det här formatet.
Om du väljer att skriva granskningsloggar till ett Azure Storage-konto finns det flera metoder som du kan använda för att visa loggarna:
Granskningsloggar sammanställs i det konto som du valde under installationen. Du kan utforska granskningsloggar med hjälp av ett verktyg som Azure Storage Explorer. I Azure Storage sparas granskningsloggar som en samling blobfiler i en container med namnet sqldbauditlogs. Mer information om hierarkin för lagringsmappar, namngivningskonventioner och loggformat finns i SQL Database Granskningsloggformat.
Använd Azure-portalen. Öppna relevant databas. Längst upp på databasens granskningssida klickar du på Visa granskningsloggar.

Granskningsposter öppnas där du kan visa loggarna.
Du kan visa specifika datum genom att klicka på Filter överst på sidan Granskningsposter.
Du kan växla mellan granskningsposter som har skapats av serverns granskningsprincip och databasens granskningsprincip genom att växla granskningskälla.

Använd systemfunktionen sys.fn_get_audit_file (T-SQL) för att returnera granskningsloggdata i tabellformat. Mer information om hur du använder den här funktionen finns i sys.fn_get_audit_file.
Använd Sammanfoga granskningsfiler i SQL Server Management Studio (från och med SSMS 17):
På SSMS-menyn väljer du Arkiv > Öppna sammanfoga > granskningsfiler.

Dialogrutan Lägg till granskningsfiler öppnas. Välj ett av Alternativen för att lägga till för att välja om du vill slå samman granskningsfiler från en lokal disk eller importera dem från Azure Storage. Du måste ange din Azure Storage och kontonyckel.
När alla filer som ska sammanfogas har lagts till klickar du på OK för att slutföra sammanslagningsåtgärden.
Den sammanslagna filen öppnas i SSMS, där du kan visa och analysera den, samt exportera den till en XEL- eller CSV-fil eller till en tabell.
Använd Power BI. Du kan visa och analysera granskningsloggdata i Power BI. Mer information och åtkomst till en nedladdningsbar mall finns i Analysera granskningsloggdata i Power BI.
Ladda ned loggfiler från Azure Storage blobcontainern via portalen eller med hjälp av ett verktyg som Azure Storage Explorer.
- När du har hämtat en loggfil lokalt dubbelklickar du på filen för att öppna, visa och analysera loggarna i SSMS.
- Du kan också ladda ned flera filer samtidigt via Azure Storage Explorer. Det gör du genom att högerklicka på en specifik undermapp och välja Spara som för att spara i en lokal mapp.
Ytterligare metoder:
- När du har hämtat flera filer eller en undermapp som innehåller loggfiler kan du slå samman dem lokalt enligt beskrivningen i anvisningarna för granskningsfiler för SSMS-sammanslagning som beskrivs ovan.
- Visa blobgranskningsloggar programmatiskt: Fråga Extended Events Files med hjälp av PowerShell.
Produktionsmetoder
Granska geo-replikerade databaser
När du aktiverar granskning på den primära databasen har den sekundära databasen en identisk granskningsprincip med geo-replikerade databaser. Det är också möjligt att konfigurera granskning på den sekundära databasen genom att aktivera granskning på den sekundära servern, oberoende av den primära databasen.
- Servernivå (rekommenderas): Aktivera granskning på både den primära servern och den sekundära servern – de primära och sekundära databaserna granskas oberoende av varandra baserat på deras respektive princip på servernivå.
- Databasnivå: Granskning på databasnivå för sekundära databaser kan bara konfigureras från granskningsinställningarna för den primära databasen.
Granskning måste aktiveras på den primära databasen, inte på servern.
När granskning har aktiverats på den primära databasen aktiveras den även på den sekundära databasen.
Viktigt
Med granskning på databasnivå är lagringsinställningarna för den sekundära databasen identiska med inställningarna för den primära databasen, vilket orsakar trafik mellan olika regionala databaser. Vi rekommenderar att du endast aktiverar granskning på servernivå och låter granskning på databasnivå vara inaktiverat för alla databaser.
Storage nyckelgenerering
I produktion kommer du troligen att uppdatera dina lagringsnycklar med jämna mellanrum. När du skriver granskningsloggar till Azure Storage måste du spara granskningsprincipen på nytt när du uppdaterar dina nycklar. Processen ser ut så här:
Öppna Avancerade egenskaper under Storage. I rutan Storage åtkomstnyckel väljer du Sekundär. Klicka sedan på Spara överst på sidan för granskningskonfiguration.

Gå till sidan för lagringskonfiguration och återskapa den primära åtkomstnyckeln.

Gå tillbaka till sidan för granskningskonfiguration växlar du lagringsåtkomstnyckeln från sekundär till primär och klickar sedan på OK. Klicka sedan på Spara överst på sidan för granskningskonfiguration.
Gå tillbaka lagringskonfigurationssidan och återskapa den sekundära åtkomstnyckeln (som förberedelse för nästa nyckels uppdateringscykel).
Hantera Azure SQL Database granskning
Använda Azure PowerShell
PowerShell-cmdlets (inklusive WHERE-satsstöd för ytterligare filtrering):
- Skapa eller uppdatera databasgranskningsprincip (Set-AzSqlDatabaseAudit)
- Skapa eller uppdatera servergranskningsprincip (Set-AzSqlServerAudit)
- Hämta databasgranskningsprincip (Get-AzSqlDatabaseAudit)
- Hämta servergranskningsprincip (Get-AzSqlServerAudit)
- Ta bort databasgranskningsprincip (Remove-AzSqlDatabaseAudit)
- Ta bort princip för servergranskning (Remove-AzSqlServerAudit)
Ett skriptexempel finns i Konfigurera granskning och hotidentifiering med Hjälp av PowerShell.
Använda REST-API:et
REST API:
- Skapa eller uppdatera granskningsprincip för databas
- Skapa eller uppdatera servergranskningsprincip
- Hämta databasgranskningsprincip
- Hämta servergranskningsprincip
Utökad princip med WHERE-satsstöd för ytterligare filtrering:
- Skapa eller uppdatera databasens utökade granskningsprincip
- Skapa eller uppdatera serverns utökade granskningsprincip
- Hämta utökad granskningsprincip för databasen
- Hämta serverns utökade granskningsprincip
Använda Azure CLI
Använda Azure Resource Manager-mallar
Du kan hantera Azure SQL Database granskning med hjälp Azure Resource Manager mallar, som du ser i följande exempel:
- Distribuera en Azure SQL Database med Granskning aktiverat för att skriva granskningsloggar till Azure Blob Storage-konto
- Distribuera en Azure SQL Database med Granskning aktiverat för att skriva granskningsloggar till Log Analytics
- Distribuera en Azure SQL Database med Granskning aktiverat för att skriva granskningsloggar till Event Hubs
Anteckning
De länkade exemplen finns på en extern offentlig lagringsplats och tillhandahålls "i dess mån", utan garanti, och stöds inte under Microsofts supportprogram/-tjänster.
Se även
- Data Exponerade avsnitt Nyheter i Azure SQL Auditing på Channel 9.
- Granskning för SQL Managed Instance
- Granskning för SQL Server