Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of mappen te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen om mappen te wijzigen.
Van toepassing op:✅ SQL Analytics-eindpunt en -magazijn in Microsoft Fabric
Auditing in Fabric Data Warehouse biedt verbeterde beveiligings- en nalevingsfuncties door databasegebeurtenissen bij te houden en vast te leggen.
Door gebruik te maken van SQL-auditlogs kun je databaseactiviteiten monitoren, potentiële beveiligingsdreigingen detecteren en voldoen aan compliance-eisen door een auditspoor van belangrijke acties bij te houden, zoals:
- Wijzigingen in verificatiepogingen en toegangsbeheer
- Bewerkingen voor gegevenstoegang en -wijziging
- Schemawijzigingen en beheeractiviteiten
- Machtigingswijzigingen en beveiligingsconfiguraties
Belangrijk
SQL-auditlogs zijn standaard UIT. Gebruikers met Audit queries machtigingen moeten het inschakelen om de logbestanden vast te leggen.
Raadpleeg de stappen in SQL-auditlogboeken configureren in Fabric Data Warehouse om aan de slag te gaan.
Opslag
SQL-auditlogboeken worden in rust versleuteld en opgeslagen in OneLake.
Voor Fabric Data Warehouse worden auditlogboeken geschreven naar .XEL bestanden die zijn opgeslagen in de map Audit van het magazijn in OneLake.
Gebruikers met de volgende rollen hebben toegang tot de auditmap:
- Werkruimtebeheerders
- Leden van de Werkruimte
- Bijdragers voor werkruimte
- Werkruimteviewers met de machtiging Volledige Leestoegang
Deze gebruikers kunnen:
- Bladeren in de map Audit
- De
.XELcontrolebestanden weergeven die zijn gegenereerd door SQL-controle - De bestanden voor offlineanalyse kopiëren
- Open de bestanden met hulpprogramma's zoals SQL Server Management Studio (SSMS)
U kunt ook query's uitvoeren op auditlogboeken met T-SQL via sys.fn_get_audit_file_v2.
Voor instructies, zie Hoe u SQL-auditlogboeken configureert in Fabric Data Warehouse.
Hint
Het configureren van auditlogboeken in Microsoft Fabric Data Warehouse kan de opslagkosten verhogen, afhankelijk van de actiegroepen en gebeurtenissen die zijn vastgelegd. Schakel alleen de vereiste gebeurtenissen in om onnodige opslagkosten te voorkomen.
Performance
De SQL-auditlogsfunctie is geoptimaliseerd voor de beschikbaarheid en prestaties van de database die wordt gecontroleerd. Tijdens perioden van zeer hoge activiteit of een hoge netwerkbelasting kan de controlefunctie transacties toestaan zonder alle gebeurtenissen die zijn gemarkeerd voor controle op te nemen.
Machtigingen
Gebruikers moeten de machtiging Auditquery's (Audit) hebben om auditlogboeken te configureren en op te vragen.
- Standaard hebben werkruimtebeheerders toestemming voor Controlequery's op alle items in de werkruimte.
- Beheerders kunnen via het deelvenster Audit-queries rechten op items aan andere gebruikers geven.
Workspace-beheerders kunnen Auditqueries-rechten aan een item geven door gebruik te maken van de gedeelde menu-optie in het Fabric-portaal. Als u wilt controleren of een gebruiker auditvragen machtigingen heeft, controleert u de Machtigingen beheren instellingen.
Selecteer in uw magazijnitem de knop Delen .
Of, in de Fabric-portal, in uw werkruimte. Selecteer het
...contextmenu voor uw magazijnitem en selecteer Machtigingen beheren.In het venster 'Toegeven mensen toegang ' geef je rechten aan een gebruiker.
Raadpleeg auditlogs met behulp van T-SQL-permissies
Geef gebruikers de VIEW DATABASE SECURITY AUDIT toestemming zodat ze auditlogboeken kunnen opvragen met T-SQL-rechten, zelfs als ze geen administratieve functies voor de werkruimte hebben.
Wanneer je de volgende toestemming verleent, kan een gebruiker auditlogs opvragen met behulp van de functie sys.fn_get_audit_file_v2 :
GRANT VIEW DATABASE SECURITY AUDIT TO [user];
Hint
De VIEW DATABASE SECURITY AUDIT toestemming geeft alleen de mogelijkheid om auditlogs op te vragen. Het verleent geen toegang tot de bestanden of toestemming om de auditconfiguratie te wijzigen.
Controleactiegroepen en -acties op databaseniveau
Om de configuratie van auditlogboeken toegankelijker te maken, gebruikt de Fabric-portal beschrijvende namen om niet-SQL-beheerders en andere gebruikers gemakkelijk inzicht te geven in vastgelegde Fabric Data Warehouse-gebeurtenissen.
Fabric wijst deze gebruiksvriendelijke namen toe aan de onderliggende SQL Audit actiegroepen. Gebruik de volgende tabel als referentie.
| Vriendelijke naam | Naam van actiegroep | Beschrijving |
|---|---|---|
| Toegang verkregen tot object | DATABASE_OBJECT_ACCESS_GROUP |
Registreert toegang tot databaseobjecten, zoals berichttypen, assemblages of contracten. |
| Object is veranderd | DATABASE_OBJECT_CHANGE_GROUP |
Registreert CREATE, ALTER, of DROP operaties op databaseobjecten. |
| Objecteigenaar gewijzigd | DATABASE_OBJECT_OWNERSHIP_CHANGE_GROUP |
Registreert eigendomswijzigingen van databaseobjecten. |
| Objecttoestemming is gewijzigd | DATABASE_OBJECT_PERMISSION_CHANGE_GROUP |
Registreert GRANT, REVOKE, of DENY acties voor databaseobjecten. |
| Gebruiker is gewijzigd | DATABASE_PRINCIPAL_CHANGE_GROUP |
Logboeken maken, wijzigen of verwijderen van database-principals (gebruikers, rollen). |
| Gebruiker is geïmiteerd | DATABASE_PRINCIPAL_IMPERSONATION_GROUP |
Registreert imitatiebewerkingen (zoals EXECUTE AS). |
| Rolleden is gewijzigd | DATABASE_ROLE_MEMBER_CHANGE_GROUP |
Registreert het toevoegen of verwijderen van aanmeldingen uit een databaserol. |
| Gebruiker kan zich niet aanmelden | FAILED_DATABASE_AUTHENTICATION_GROUP |
Registreert mislukte verificatiepogingen in de database. |
| Schemamachtiging is gebruikt | SCHEMA_OBJECT_ACCESS_GROUP |
Registreert toegang tot schemaobjecten. |
| Schema is gewijzigd | SCHEMA_OBJECT_CHANGE_GROUP |
Registreert CREATE, ALTER of DROP bewerkingen op schema's. |
| Machtiging voor schemaobject is gecontroleerd | SCHEMA_OBJECT_OWNERSHIP_CHANGE_GROUP |
Registreert wijzigingen in het eigendom van schemaobjecten. |
| Machtiging voor schemaobject is gewijzigd | SCHEMA_OBJECT_PERMISSION_CHANGE_GROUP |
Logt GRANT, REVOKE, of DENY acties op schemaobjecten. |
| Batch is voltooid | BATCH_COMPLETED_GROUP |
Deze gebeurtenis wordt gegenereerd wanneer een batchtekst, opgeslagen procedure of transactiebeheerbewerking wordt uitgevoerd. |
| De batch is gestart | BATCH_STARTED_GROUP |
Deze gebeurtenis wordt gegenereerd wanneer een batchtekst, opgeslagen procedure of transactiebeheerbewerking wordt uitgevoerd. |
| De audit is gewijzigd | AUDIT_CHANGE_GROUP |
Deze gebeurtenis wordt gegenereerd wanneer een controle wordt gemaakt, gewijzigd of verwijderd. |
| Gebruiker afgemeld | DATABASE_LOGOUT_GROUP |
Deze gebeurtenis wordt gegenereerd wanneer een databasegebruiker zich afmeldt bij een database. |
| Gebruiker ingelogd | SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP |
Geeft aan dat een principal is aangemeld bij een database. |
Controleacties op databaseniveau
Naast actiegroepen kunt u afzonderlijke controleacties configureren om specifieke databasegebeurtenissen te registreren:
| Controleactie | Beschrijving |
|---|---|
SELECT |
Registreert SELECT verklaringen op een opgegeven object. |
INSERT |
Registreert INSERT bewerkingen op een opgegeven object. |
UPDATE |
Registreert UPDATE bewerkingen op een opgegeven object. |
DELETE |
Registreert DELETE bewerkingen op een opgegeven object. |
EXECUTE |
Registreert de uitvoering van opgeslagen procedures of functies. |
RECEIVE |
Registreert RECEIVE bewerkingen op Service Broker-wachtrijen. |
REFERENCES |
Registreert machtigingscontroles met betrekking tot vreemde-sleutelbeperkingen. |
Verminder auditruis met predicaatfiltering
Om te filteren welke gebeurtenissen worden vastgelegd, gebruik je het optionele predicaatexpressiefilter .
Gebruik predicaatfiltering om ruis te verminderen van verwachte, repetitieve activiteiten, zoals automatiseringsidentiteiten, servicehoofden of geplande taken, zonder de actiegroepen die uw organisatie nodig heeft voor compliance of onderzoek uit te schakelen.
- Alleen wanneer een gebeurtenis overeenkomt met het geconfigureerde predicaat, wordt het SQL-auditlog-event voor die actie gegenereerd.
- Filteren gebeurt voordat het evenement wordt geschreven, dus uitgesloten gebeurtenissen zijn later niet beschikbaar voor retrospectief onderzoek. Behandel predicaatuitsluitingen als een bewuste auditbeleidsbeslissing en bekijk het geconfigureerde predicat periodiek naarmate eigendom, permissies en risicoprofielen veranderen.
- Predicaatfiltering evalueert alleen gebeurtenissen die al zijn geconfigureerd om vastgelegd te worden door een ingeschakelde auditactiegroep of -actie.
- Als de onderliggende actiegroep niet is ingeschakeld, wordt er geen gebeurtenis gegenereerd voor het predicaat om te evalueren, en heeft het filter geen effect. Om bijvoorbeeld statements te filteren
SELECTmet een predikaat op hetstatementveld, moet je eerst de actiegroep Batch Was Completed (BATCH_COMPLETED_GROUP) inschakelen.
- Als de onderliggende actiegroep niet is ingeschakeld, wordt er geen gebeurtenis gegenereerd voor het predicaat om te evalueren, en heeft het filter geen effect. Om bijvoorbeeld statements te filteren
Je kunt een predicaatexpressie configureren door gebruik te maken van het Fabric-portaal of de REST API. Voor stappen, zie Configureer een predicaatexpressie.
Syntaxis van predikaatexpressie
Predicaatexpressies gebruiken dezelfde syntaxis als de <predicate_expression> clausule in CREATE SERVER AUDIT (Transact-SQL), zonder het WHERE trefwoord:
<predicate_expression> ::=
{ [ NOT ] <predicate_factor>
[ { AND | OR } [ NOT ] { <predicate_factor> } ] [ ,... n ] }
<predicate_factor> ::=
event_field_name { = | <> | != | > | >= | < | <= | LIKE }
{ number | 'string' }
-
event_field_namekomt overeen met een kolom die wordt teruggegeven door sys.fn_get_audit_file (Transact-SQL). Je kunt alle gedocumenteerde kolommen gebruiken, behalvefile_name,audit_file_offset, enevent_time. -
action_idenclass_typezijn strings, maar je kunt ze alleen vergelijken met numerieke waarden in een predicaat. - Stringvergelijkingen voeren geen impliciete typeconversie uit.
- De maximale expressielengte is 3.000 tekens.
- Een lege string betekent dat er geen predicaat wordt toegepast.
Om bijvoorbeeld activiteit uit te sluiten die wordt gegenereerd door een bekende serviceprincipal of automatiseringsidentiteit, filter je op server_principal_name. Om herhalende SELECT uitspraken uit te sluiten, filter je op het statement veld: NOT statement LIKE 'SELECT %'.
Beperkingen
- Uw standaardwerkruimte biedt geen ondersteuning voor SQL-auditlogboeken.
- SQL-auditlogboeken worden niet ondersteund voor momentopnamen van het magazijn.
Belangrijk
Auditlogboeken worden opgeslagen in het magazijnitem in OneLake. Als u het magazijn verwijdert, verwijdert u ook de bijbehorende auditlogboekbestanden en hebt u er geen toegang meer toe.
Als u auditlogboeken wilt bewaren voor nalevings- of onderzoeksdoeleinden, kopieert u de .XEL bestanden naar een andere opslaglocatie voordat u het magazijn verwijdert.
Beperkingen voor SQL Analytics-eindpunten
De volgende beperkingen gelden voor het controleren van SQL Analytics-eindpunten:
- DML-bewerkingen worden niet vastgelegd. De audit registreert geen bewerkingen zoals
INSERT,UPDATE,DELETE, enMERGEomdat gegevensbewerkingen voor Lakehouse-tabellen plaatsvinden via de Lakehouse-runtime in plaats van via het SQL-analyse-eindpunt. - Directe toegang tot de auditmap wordt momenteel niet ondersteund. Gebruikers kunnen de onderliggende
.XELauditbestanden niet uit de Lakehouse-auditmap doorzoeken of downloaden.
Je kunt nog steeds auditgebeurtenissen voor SQL-analytics-endpoints opvragen met de T-SQL-functie sys.fn_get_audit_file_v2.
Volgende stap
SQL-auditlogs configureren in Fabric Data Warehouse