Controle voor Azure SQL Database en Azure Synapse Analytics

VAN TOEPASSING OP: Azure SQL Database Azure Synapse Analytics

Controle voor Azure SQL Database en Azure Synapse Analytics houdt databasegebeurtenissen bij en schrijft deze naar een auditlogboek in uw Azure-opslagaccount, Log Analytics-werkruimte of Event Hubs.

De controlefunctie biedt ook deze mogelijkheden:

  • Naleving van wet- en regelgeving, inzicht in activiteiten in de database en in de afwijkingen en discrepanties die kunnen wijzen op problemen voor het bedrijf of vermoedelijke schendingen van de beveiliging.

  • Mogelijk maken en faciliteren van nalevingsstandaarden, hoewel dit geen garantie biedt voor naleving. Zie het Vertrouwenscentrum van Azure, waar u de meest recente lijst met nalevingscertificeringen van Azure SQL kunt vinden, voor meer informatie over Azure-programma's die nalevingsstandaarden ondersteunen.

Notitie

Zie het volgende artikel Aan de SQL slag met SQL Managed Instance-controlevoor meer informatie over de controle van Azure SQL managed instance.

Overzicht

U kunt de SQL Database gebruiken om het volgende te doen:

  • Behoud een audittrail van geselecteerde gebeurtenissen. U kunt categorieën van database-acties definiëren die moeten worden gecontroleerd.
  • Rapporteren over databaseactiviteit. U kunt vooraf geconfigureerde rapporten en een dashboard gebruiken om snel aan de slag te gaan met de rapportage bvavan activiteiten en gebeurtenissen.
  • Rapporten analyseren. U kunt verdachte gebeurtenissen, ongebruikelijke activiteiten en trends vinden.

Belangrijk

Controle voor Azure SQL Database, Azure Synapse en Azure SQL Managed Instance is geoptimaliseerd voor beschikbaarheid en prestaties. Tijdens een zeer hoge activiteit, of een hoge netwerkbelasting, kunnen Azure SQL Database, Azure Synapse en Azure SQL Managed Instance bewerkingen uitvoeren en worden sommige gecontroleerde gebeurtenissen mogelijk niet vastgelogd.

Controlebeperkingen

  • Premium opslag wordt momenteel niet ondersteund.
  • Hiërarchische naamruimte voor Azure Data Lake Storage Gen2-opslagaccount wordt momenteel niet ondersteund.
  • Het inschakelen van controle op een onderbroken Azure Synapse wordt niet ondersteund. Als u controle wilt inschakelen, hervat u Azure Synapse.
  • Controle voor Azure Synapse SQL ondersteunt alleen standaardcontroleactiegroepen.

Controlebeleid op serverniveau versus databaseniveau definiëren

Een controlebeleid kan worden gedefinieerd voor een specifieke database of als een standaardserverbeleid in Azure (dat als host voor SQL Database of Azure Synapse):

  • Een serverbeleid is van toepassing op alle bestaande en nieuw gemaakte databases op de server.

  • Als servercontrole is ingeschakeld, is dit altijd van toepassing op de database. De database wordt gecontroleerd, ongeacht de controle-instellingen van de database.

  • Wanneer controlebeleid wordt gedefinieerd op databaseniveau naar een Log Analytics-werkruimte of een Event Hub-bestemming, behouden de volgende bewerkingen het controlebeleid op brondatabaseniveau niet:

  • Het inschakelen van controle op de database, naast het inschakelen ervan op de server, overschrijven of wijzigen van een van de instellingen van de servercontrole. Beide controles bestaan naast elkaar. Met andere woorden, de database wordt tweemaal parallel gecontroleerd; eenmaal door het serverbeleid en eenmaal door het databasebeleid.

    Notitie

    U moet voorkomen dat zowel servercontrole als databaseblobcontrole samen worden inschakelen, tenzij:

    • U wilt een ander opslagaccount, retentieperiode of Log Analytics-werkruimte gebruiken voor een specifieke database.
    • U wilt gebeurtenistypen of categorieën controleren voor een specifieke database die verschillen van de rest van de databases op de server. U kunt bijvoorbeeld tabel invoegen die alleen voor een specifieke database moeten worden gecontroleerd.

    Anders raden we u aan alleen controle op serverniveau in te stellen en de controle op databaseniveau uitgeschakeld te laten voor alle databases.

Opmerkingen

  • Auditlogboeken worden geschreven naar Blobs in een Azure Blob-opslag in uw Azure-abonnement
  • Auditlogboeken hebben de indeling .xel en kunnen worden geopend met SQL Server Management Studio (SSMS).
  • Als u een onveranderbaar logboekopslag wilt configureren voor de controlegebeurtenissen op server- of databaseniveau,volgt u de instructies van Azure Storage . Zorg ervoor dat u Aanvullende gegevens toestaan hebt geselecteerd wanneer u de onveranderbare blobopslag configureert.
  • U kunt auditlogboeken schrijven naar een Azure Storage-account achter een VNet of firewall. Zie Audit schrijven naar een opslagaccount achter VNet en firewall voor specifieke instructies.
  • Voor meer informatie over de logboekindeling, hiërarchie van de opslagmap en naamconventieën, zie de Blob Audit Log Format Reference (Verwijzing naar de indeling van het auditlogboek voor blobs).
  • Controle op alleen-lezen replica's wordt automatisch ingeschakeld. Zie de SQL Database auditlogboekindeling voor meer informatie over de hiërarchie van de opslagmappen, naamconventieën en logboekindeling.
  • Wanneer u Azure AD-verificatie gebruikt, worden records met mislukte aanmeldingen niet weergegeven in SQL auditlogboek. Als u mislukte auditrecords voor aanmeldingen wilt weergeven, gaat u naar de Azure Active Directory portal,waar details van deze gebeurtenissen worden op een logboek in de logboeken.
  • Aanmeldingen worden door de gateway doorgestuurd naar het specifieke exemplaar waarin de database zich bevindt. In het geval van AAD-aanmeldingen worden de referenties gecontroleerd voordat deze wordt gebruikt om u aan te melden bij de aangevraagde database. In het geval van een storing wordt de aangevraagde database nooit geopend, dus wordt er geen controle uitgevoerd. In het geval van SQL worden de referenties geverifieerd op de aangevraagde gegevens, zodat ze in dit geval kunnen worden gecontroleerd. Geslaagde aanmeldingen, die uiteraard de database bereiken, worden in beide gevallen gecontroleerd.
  • Nadat u uw controle-instellingen hebt geconfigureerd, kunt u de nieuwe functie voor detectie van bedreigingen in- en configureren om e-mailberichten te ontvangen voor het ontvangen van beveiligingswaarschuwingen. Wanneer u detectie van bedreigingen gebruikt, ontvangt u proactieve waarschuwingen over afwijkende databaseactiviteiten die kunnen duiden op mogelijke beveiligingsrisico's. Zie Aan de slag met detectie van bedreigingen voor meer informatie.
  • Nadat een database met controle is ingeschakeld is gekopieerd naar een andere logische Azure SQL-server, ontvangt u mogelijk een e-mail met de melding dat de controle is mislukt. Dit is een bekend probleem en de controle zou moeten werken zoals verwacht voor de zojuist gekopieerde database.

Controle instellen voor uw server

Het standaardcontrolebeleid omvat alle acties en de volgende set actiegroepen, waarmee alle query's en opgeslagen procedures worden gecontroleerd die worden uitgevoerd op de database, evenals geslaagde en mislukte aanmeldingen:

  • BATCH_COMPLETED_GROUP
  • SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP
  • FAILED_DATABASE_AUTHENTICATION_GROUP

U kunt de controle voor verschillende soorten acties en actiegroepen configureren met behulp van PowerShell, zoals beschreven in de sectie SQL Database controleren met Azure PowerShell beheren.

Azure SQL Database en Azure Synapse Audit slaat 4000 tekens aan gegevens op voor tekenvelden in een controlerecord. Wanneer de instructie of de data_sensitivity_information geretourneerd door een controleerbare actie meer dan 4000 tekens bevatten, worden alle gegevens buiten de eerste 4000 tekens afgekapt en niet gecontroleerd. In de volgende sectie wordt de configuratie van de controle beschreven met behulp van Azure Portal.

Notitie

  • Controle inschakelen voor een onderbroken toegewezen SQL is niet mogelijk. Als u controle wilt inschakelen, moet u de toegewezen SQL inschakelen. Meer informatie over toegewezen SQL-pool.
  • Wanneer controle is geconfigureerd voor een Log Analytics-werkruimte of een Event Hub-bestemming via de Azure Portal- of PowerShell-cmdlet, wordt een diagnostische instelling gemaakt met de categorie SQLSecurityAuditEvents ingeschakeld.
  1. Ga naar de Azure Portal.

  2. Navigeer naar Controle onder de kop Beveiliging in SQL database of SQL servervenster.

  3. Als u liever een controlebeleid voor de server in stelt, kunt u de koppeling Serverinstellingen weergeven selecteren op de controlepagina van de database. Vervolgens kunt u de controle-instellingen van de server weergeven of wijzigen. Controlebeleid voor servers is van toepassing op alle bestaande en nieuw gemaakte databases op deze server.

    Schermopname met de koppeling Serverinstellingen weergeven gemarkeerd op de pagina databasecontrole.

  4. Als u controle liever inschakelt op databaseniveau, schakelt u Controle over naar AAN. Als servercontrole is ingeschakeld, wordt de door de database geconfigureerde controle naast de servercontrole uitgevoerd.

  5. U hebt meerdere opties voor het configureren van waar auditlogboeken worden geschreven. U kunt logboeken schrijven naar een Azure-opslagaccount, naar een Log Analytics-werkruimte voor gebruik door Azure Monitor logboeken of naar event hub voor verbruik met behulp van Event Hub. U kunt elke combinatie van deze opties configureren en auditlogboeken worden naar elk van deze opties geschreven.

    opslagopties

Controle van Microsoft-ondersteuning bewerkingen

Door de controle van Microsoft-ondersteuning-bewerkingen voor Azure SQL Server kunt u de bewerkingen van microsoft-ondersteuningstechnici controleren wanneer ze toegang nodig hebben tot uw server tijdens een ondersteuningsaanvraag. Het gebruik van deze mogelijkheid, samen met uw controle, zorgt voor meer transparantie onder uw werknemers en maakt anomaliedetectie, trendvisualisatie en preventie van gegevensverlies mogelijk.

Als u de controle van Microsoft-ondersteuning-bewerkingen wilt inschakelen, gaat u naar Controleren onder de kop Beveiliging in het deelvenster van uw Azure SQL-server en schakelt u Controle van Microsoft-ondersteuningsbewerkingen inschakelen in op AAN.

Schermopname van Microsoft-ondersteuning-bewerkingen

Als u de auditlogboeken van Microsoft-ondersteuning bewerkingen in uw Log Analytics-werkruimte wilt bekijken, gebruikt u de volgende query:

AzureDiagnostics
| where Category == "DevOpsOperationsAudit"

U kunt voor dit controlelogboek een andere opslagbestemming kiezen of dezelfde controleconfiguratie gebruiken voor uw server.

Schermopname van controleconfiguratie voor controleondersteuningsbewerkingen

Controle naar opslagbestemming

Als u het schrijven van auditlogboeken naar een opslagaccount wilt configureren, selecteert Storage wanneer u bij de sectie Controle komt. Selecteer het Azure-opslagaccount waarin logboeken worden opgeslagen en selecteer vervolgens de bewaarperiode door Geavanceerde eigenschappen te openen. Klik vervolgens op Opslaan. Logboeken die ouder zijn dan de bewaarperiode, worden verwijderd.

  • De standaardwaarde voor de retentieperiode is 0 (onbeperkte retentie). U kunt deze waarde wijzigen door de schuifregelaar Retentie (dagen) in Geavanceerde eigenschappen te verplaatsen bij het configureren van het opslagaccount voor controle.

    • Als u de retentieperiode van 0 (onbeperkte retentie) wijzigt in een andere waarde, moet u er rekening mee houden dat retentie alleen van toepassing is op logboeken die zijn geschreven nadat de waarde is gewijzigd, (logboeken die zijn geschreven tijdens de periode waarin de retentie was ingesteld op onbeperkt, blijven behouden, zelfs nadat retentie is ingeschakeld).

    opslagaccount

Controleren naar Log Analytics-bestemming

Als u het schrijven van auditlogboeken naar een Log Analytics-werkruimte wilt configureren, selecteert u Log Analytics en opent u Log Analytics-details. Selecteer de Log Analytics-werkruimte waar logboeken worden geschreven en klik vervolgens op OK. Zie Een Log Analytics-werkruimte maken in de Azure Portal als u nog geen Log Analytics-werkruimte hebt Azure Portal.

LogAnalyticsworkspace

Zie De implementatie van Azure Monitor Logboeken ontwerpen voor meer informatie over Azure Monitor Log Analytics-werkruimte

Controleren naar Event Hub-bestemming

Selecteer Event Hub om het schrijven van auditlogboeken naar een Event Hub te configureren. Selecteer de Event Hub waar logboeken worden geschreven en klik vervolgens op Opslaan. Zorg ervoor dat de Event Hub zich in dezelfde regio als uw database en server.

Eventhub

Auditlogboeken en -rapporten analyseren

Als u ervoor hebt gekozen om auditlogboeken naar Log Analytics te schrijven:

  • Gebruik Azure Portal. Open de relevante database. Selecteer boven aan de pagina Controle van de database auditlogboeken weergeven.

    auditlogboeken weergeven

  • Vervolgens kunt u de logboeken op twee manieren weergeven:

    Als u bovenaan de pagina Records controleren op Log Analytics klikt, wordt de weergave Logboeken in de Log Analytics-werkruimte geopend, waar u het tijdsbereik en de zoekquery kunt aanpassen.

    openen in Log Analytics-werkruimte

    Als u op Dashboard weergeven bovenaan de pagina Controlerecords klikt, wordt een dashboard geopend met informatie over auditlogboeken, waar u kunt inzoomen op Security Insights, Toegang tot gevoelige gegevens en meer. Dit dashboard is ontworpen om u te helpen beveiligingsinzichten te krijgen voor uw gegevens. U kunt ook het tijdsbereik en de zoekquery aanpassen. Log Analytics-dashboard weergeven

    Log Analytics-dashboard

    Log Analytics Security Insights

  • U kunt ook toegang krijgen tot de auditlogboeken via de blade Log Analytics. Open uw Log Analytics-werkruimte en klik onder de sectie Algemeen op Logboeken. U kunt beginnen met een eenvoudige query, zoals: zoek 'SQLSecurityAuditEvents' om de auditlogboeken weer te geven. Hier kunt u ook de logboeken Azure Monitor om geavanceerde zoekopdrachten uit te voeren op uw auditlogboekgegevens. Azure Monitor logboeken biedt u realtime operationele inzichten met behulp van geïntegreerd zoeken en aangepaste dashboards om eenvoudig miljoenen records te analyseren voor al uw workloads en servers. Zie de zoekverwijzing voor Azure Monitor logboeken voor aanvullende nuttige informatie over de zoektaal en opdrachten Azure Monitor logboeken.

Als u ervoor hebt gekozen om auditlogboeken naar Event Hub te schrijven:

  • Als u auditlogboeken van Event Hub wilt gebruiken, moet u een stroom instellen om gebeurtenissen te verbruiken en deze naar een doel te schrijven. Zie voor meer informatie Azure Event Hubs Documentatie.
  • Auditlogboeken in Event Hub worden vastgelegd in de body van Apache Avro-gebeurtenissen en opgeslagen met JSON-opmaak met UTF-8-codering. Als u de auditlogboeken wilt lezen, kunt u Avro-hulpprogramma's of gelijksoortige hulpmiddelen gebruiken waarmee deze indeling wordt verwerkt.

Als u ervoor kiest om auditlogboeken naar een Azure-opslagaccount te schrijven, zijn er verschillende methoden die u kunt gebruiken om de logboeken weer te bieden:

  • Auditlogboeken worden samengevoegd in het account dat u tijdens de installatie hebt gekozen. U kunt auditlogboeken verkennen met behulp van een hulpprogramma zoals Azure Storage Explorer. In Azure Storage worden auditlogboeken opgeslagen als een verzameling blob-bestanden in een container met de naam sqld sqlditlogs. Zie de SQL Database AuditLogboekindeling voor meer informatie over de hiërarchie van de opslagmappen, naamconventie en logboekindeling.

  • Gebruik Azure Portal. Open de relevante database. Klik boven aan de pagina Controle van de database op Auditlogboeken weergeven.

    auditlogboeken weergeven

    Controlerecords worden geopend, van waaruit u de logboeken kunt bekijken.

    • U kunt specifieke datums weergeven door boven aan de pagina Controlerecords op Filteren te klikken.

    • U kunt schakelen tussen auditrecords die zijn gemaakt door het controlebeleid van de server en het databasecontrolebeleid door Controlebron in te schakelen.

      Schermopname met de opties voor het weergeven van de controlerecords.

  • Gebruik de systeemfunctie sys.fn_get_audit_file (T-SQL) om de auditlogboekgegevens in tabelvorm te retourneren. Zie voor meer informatie over het gebruik van deze functie sys.fn_get_audit_file.

  • Gebruik Auditbestanden samenvoegen in SQL Server Management Studio (vanaf SSMS 17):

    1. Selecteer in het menu SSMS bestand > Auditbestanden > samenvoegen openen.

      Schermopname van de menuoptie Auditbestanden samenvoegen.

    2. Het dialoogvenster Auditbestanden toevoegen wordt geopend. Selecteer een van de opties Toevoegen om te kiezen of u auditbestanden van een lokale schijf wilt samenvoegen of wilt importeren uit Azure Storage. U moet uw persoonlijke gegevens en accountsleutel Azure Storage op te geven.

    3. Nadat alle bestanden die moeten worden samengevoegd zijn toegevoegd, klikt u op OK om de samenvoegbewerking te voltooien.

    4. Het samengevoegde bestand wordt geopend in SSMS, waar u het kunt bekijken en analyseren, en het bestand kunt exporteren naar een XEL- of CSV-bestand of naar een tabel.

  • Gebruik Power BI. U kunt auditlogboekgegevens weergeven en analyseren in Power BI. Zie Auditlogboekgegevens analyseren in Power BI voor meer informatie en om toegang te krijgen tot Power BI.

  • Download logboekbestanden van uw Azure Storage blobcontainer via de portal of met behulp van een hulpprogramma zoals Azure Storage Explorer.

    • Nadat u een logboekbestand lokaal hebt gedownload, dubbelklikt u op het bestand om de logboeken in SSMS te openen, weer te geven en te analyseren.
    • U kunt ook meerdere bestanden tegelijk downloaden via Azure Storage Explorer. Als u dit wilt doen, klikt u met de rechtermuisknop op een specifieke submap en selecteert u Opslaan als om op te slaan in een lokale map.
  • Aanvullende methoden:

    • Nadat u verschillende bestanden of een submap met logboekbestanden hebt gedownload, kunt u deze lokaal samenvoegen, zoals beschreven in de SSMS Merge Audit Files-instructies die eerder zijn beschreven.
    • Blob-auditlogboeken programmatisch weergeven: Query's uitvoeren op uitgebreide gebeurtenisbestanden met behulp van PowerShell.

Productieprocedures

Geo-gerepliceerde databases controleren

Wanneer u met geo-gerepliceerde databases controle in de primaire database inschakelen, heeft de secundaire database een identiek controlebeleid. Het is ook mogelijk om controle in te stellen voor de secundaire database door controle in te stellen op de secundaire server, onafhankelijk van de primaire database.

  • Serverniveau (aanbevolen): schakel controle in op zowel de primaire server als de secundaire server. De primaire en secundaire databases worden elk onafhankelijk gecontroleerd op basis van hun respectieve beleid op serverniveau.
  • Databaseniveau: Controle op databaseniveau voor secundaire databases kan alleen worden geconfigureerd vanuit de controle-instellingen van de primaire database.
    • Controle moet zijn ingeschakeld op de primaire database zelf, niet op de server.

    • Nadat controle is ingeschakeld op de primaire database, wordt deze ook ingeschakeld op de secundaire database.

      Belangrijk

      Bij controle op databaseniveau zijn de opslaginstellingen voor de secundaire database identiek aan die van de primaire database, waardoor regionaal verkeer wordt veroorzaakt. U wordt aangeraden alleen controle op serverniveau in te stellen en de controle op databaseniveau uitgeschakeld te laten voor alle databases.

Storage sleutel opnieuw maken

In productie vernieuwt u waarschijnlijk regelmatig uw opslagsleutels. Wanneer u auditlogboeken naar Azure Storage schrijft, moet u uw controlebeleid opnieuw opslaan bij het vernieuwen van uw sleutels. Het proces verloopt als volgt:

  1. Open Geavanceerde eigenschappen onder Storage. Selecteer secundaire Storage in het vak Toegangssleutel. Klik vervolgens boven aan de pagina controleconfiguratie op Opslaan.

    Schermopname van het proces voor het selecteren van een secundaire toegangssleutel voor opslag.

  2. Ga naar de pagina opslagconfiguratie en regenerer de primaire toegangssleutel opnieuw.

    Navigatievenster

  3. Terug naar de pagina controleconfiguratie, zet de toegangssleutel voor opslag over van secundair naar primair en klik vervolgens op OK. Klik vervolgens boven aan de pagina controleconfiguratie op Opslaan.

  4. Terug naar de configuratiepagina van de opslag en de secundaire toegangssleutel opnieuw (ter voorbereiding op de vernieuwingscyclus van de volgende sleutel).

Controle van Azure SQL Database beheren

Azure PowerShell gebruiken

PowerShell-cmdlets (inclusief ondersteuning voor WHERE-component voor aanvullende filtering):

Zie Controle en detectie van bedreigingen configureren met Behulp van PowerShell voor een voorbeeld van een script.

REST API gebruiken

REST API:

Uitgebreid beleid met ondersteuning voor WHERE-component voor aanvullende filtering:

Azure CLI gebruiken

Azure Resource Manager-sjablonen gebruiken

U kunt de Azure SQL Database beheren met behulp Azure Resource Manager sjablonen, zoals wordt weergegeven in de volgende voorbeelden:

Notitie

De gekoppelde voorbeelden staan in een externe openbare opslagplaats en worden zonder garantie geleverd en worden niet ondersteund onder een Programma/service van Microsoft.

Zie ook