Delen via


Aan de slag met azure SQL Managed Instance-controle

Van toepassing op:Azure SQL Managed Instance

Controle van Azure SQL Managed Instance houdt databasegebeurtenissen bij en schrijft deze naar een auditlogboek in uw Azure-opslagaccount.

Ook het controleren van:

  • Helpt u naleving van regelgeving te handhaven, databaseactiviteit te begrijpen en inzicht te krijgen in verschillen en afwijkingen die kunnen duiden op zakelijke problemen of vermoedelijke schendingen van de beveiliging.
  • Maakt naleving van nalevingsstandaarden mogelijk en faciliteert, hoewel dit geen naleving garandeert. Zie het Vertrouwenscentrum van Microsoft Azure voor meer informatie, waar u de meest recente lijst met nalevingscertificeringen voor SQL Managed Instance kunt vinden.

Belangrijk

De controle van Azure SQL Managed Instance is geoptimaliseerd voor beschikbaarheid en prestaties. Tijdens een hoge activiteit of een hoge netwerkbelasting kunnen bewerkingen worden uitgevoerd met Azure SQL Managed Instance en kunnen sommige gecontroleerde gebeurtenissen mogelijk niet worden vastgelegd.

Controle voor uw exemplaar instellen op Azure Storage

In de volgende sectie wordt de configuratie van controle op uw met SQL beheerde exemplaar beschreven.

  1. Ga naar de Azure Portal.

  2. Maak een Azure Storage-container waarin auditlogboeken worden opgeslagen.

    1. Navigeer naar het Azure-opslagaccount waar u uw auditlogboeken wilt opslaan.

      • Gebruik een opslagaccount in dezelfde regio als het beheerde SQL-exemplaar, zodat u lees-/schrijfbewerkingen tussen regio's kunt voorkomen.
      • Als uw opslagaccount zich achter een virtueel netwerk of een firewall bevindt, raadpleegt u Toegang verlenen vanuit een virtueel netwerk.
      • Als u de bewaarperiode wijzigt van 0 (onbeperkte retentie) in een andere waarde, is retentie alleen van toepassing op logboeken die zijn geschreven nadat de retentiewaarde is gewijzigd. Logboeken die zijn geschreven tijdens de periode waarin retentie op onbeperkt is ingesteld, blijven behouden, zelfs nadat retentie is ingeschakeld.
    2. Ga in het opslagaccount naar Overzicht en selecteer Blobs.

      Schermopname van de Azure Blobs-widget.

    3. Selecteer + Container in het bovenste menu om een nieuwe container te maken.

      Schermopname van het pictogram Blobcontainer maken.

    4. Geef een containernaam op, stel openbaar toegangsniveau in op Privé en selecteer VERVOLGENS OK.

      Schermopname van de configuratie van de blobcontainer maken.

    Belangrijk

    Klanten die een onveranderbaar logboekarchief willen configureren voor hun controlegebeurtenissen op server- of databaseniveau, moeten de instructies van Azure Storage volgen. (Zorg ervoor dat u extra toevoegingen toestaan selecteert wanneer u de onveranderbare blobopslag configureert.)

  3. Nadat u de container voor de auditlogboeken hebt gemaakt, zijn er twee manieren om deze te configureren als het doel voor de auditlogboeken: T-SQL of de gebruikersinterface van SQL Server Management Studio (SSMS):

  • Blob Storage configureren voor auditlogboeken met behulp van T-SQL:

    1. Selecteer in de lijst met containers de zojuist gemaakte container en selecteer vervolgens Containereigenschappen.

      Schermopname van de knop Blob-containereigenschappen.

    2. Kopieer de container-URL door het kopieerpictogram te selecteren en de URL (bijvoorbeeld in Kladblok) op te slaan voor toekomstig gebruik. De indeling van de container-URL moet zijn https://<StorageName>.blob.core.windows.net/<ContainerName>

      Schermopname van de url voor het kopiëren van blobcontainers.

    3. Genereer een SAS-token van Azure Storage om sql Managed Instance toegangsrechten te verlenen voor het opslagaccount:

      • Navigeer naar het Azure-opslagaccount waar u de container in de vorige stap hebt gemaakt.

      • Selecteer Shared Access Signature in het menu Opslaginstellingen .

        Pictogram Shared Access Signature in het menu Opslaginstellingen.

      • Configureer de SAS als volgt:

        • Toegestane services: Blob

        • Begindatum: gebruik de datum van gisteren om problemen met betrekking tot tijdzones te voorkomen

        • Einddatum: kies de datum waarop dit SAS-token verloopt

          Opmerking

          Als u controlefouten wilt voorkomen, vernieuwt u het token na afloop.

        • Selecteer SAS genereren.

          Schermopname van de SAS-configuratie.

      • Het SAS-token wordt onderaan weergegeven. Kopieer het token door het kopieerpictogram te selecteren en op te slaan (bijvoorbeeld in Kladblok) voor toekomstig gebruik.

        Schermopname die laat zien hoe u een SAS-token kopieert.

        Belangrijk

        Verwijder het vraagteken (?) aan het begin van het token.

    4. Maak verbinding met uw met SQL beheerde exemplaar via SQL Server Management Studio of een ander ondersteund hulpprogramma.

    5. Voer de volgende T-SQL-instructie uit om een nieuwe referentie te maken met behulp van de container-URL en het SAS-token dat u in de vorige stappen hebt gemaakt:

      CREATE CREDENTIAL [<container_url>]
      WITH IDENTITY='SHARED ACCESS SIGNATURE',
      SECRET = '<SAS KEY>'
      GO
      
    6. Voer de volgende T-SQL-instructie uit om een nieuwe servercontrole te maken (kies uw eigen auditnaam en gebruik de container-URL die u in de vorige stappen hebt gemaakt). Als dit niet is opgegeven, is de RETENTION_DAYS standaardwaarde 0 (onbeperkte retentie):

      CREATE SERVER AUDIT [<your_audit_name>]
      TO URL (PATH ='<container_url>', RETENTION_DAYS = <integer>);
      GO
      
    7. Ga door met het maken van een servercontrolespecificatie of databasecontrolespecificatie.

  • Blob Storage configureren voor auditlogboeken met behulp van SQL Server Management Studio 18 en latere versies:

    1. Maak verbinding met het beheerde SQL-exemplaar met behulp van de gebruikersinterface van SQL Server Management Studio.

    2. Vouw de hoofdnotitie van Objectverkenner uit.

    3. Vouw het beveiligingsknooppunt uit, klik met de rechtermuisknop op het knooppunt Audits en selecteer Nieuwe controle:

      Schermopname die laat zien hoe u het beveiligings- en controleknooppunt uitvouwt.

    4. Zorg ervoor dat de URL is geselecteerd in de controlebestemming en selecteer Bladeren:

      Schermopname die laat zien hoe u door Azure Storage bladert.

    5. (Optioneel) Meld u aan bij uw Azure-account:

      Schermopname die laat zien hoe u zich aanmeldt bij Azure.

    6. Selecteer een abonnement, opslagaccount en blobcontainer in de vervolgkeuzelijsten of maak uw eigen container door te selecteren in Maken. Zodra u klaar bent, selecteert u OK:

      Selecteer een Azure-abonnement, opslagaccount en blobcontainer.

    7. Selecteer OK in het dialoogvenster Audit maken .

      Opmerking

      Wanneer u de GEBRUIKERSinterface van SQL Server Management Studio gebruikt om een controle te maken, wordt automatisch een referentie voor de container met een SAS-sleutel gemaakt.

Nadat u de blobcontainer hebt geconfigureerd als doel voor de auditlogboeken, maakt en schakelt u een servercontrolespecificatie of databasecontrolespecificatie in zoals u zou doen voor SQL Server:

Gebruik de volgende T-SQL-instructie om de servercontrole in te schakelen:

ALTER SERVER AUDIT [<your_audit_name>]
WITH (STATE = ON);
GO

Voor meer informatie:

Controle van Microsoft-ondersteuningsbewerkingen

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

Als u controle van Microsoft-ondersteuningsbewerkingen wilt inschakelen, gaat u naar Controle maken onder Beveiligingscontrole> in uw SQL Manage Instance en selecteert u Microsoft-ondersteuningsbewerkingen.

Schermopname van het pictogram Audit maken.

Opmerking

U moet een afzonderlijke servercontrole maken voor het controleren van Microsoft-bewerkingen. Als u dit selectievakje inschakelt voor een bestaande controle, wordt de controle overschreven en worden alleen ondersteuningsbewerkingen in logboeken opgeslagen.

Controle voor uw server instellen op Event Hubs- of Azure Monitor-logboeken

Auditlogboeken van een met SQL beheerd exemplaar kunnen worden verzonden naar Azure Event Hubs- of Azure Monitor-logboeken. In deze sectie wordt beschreven hoe u deze configuratie maakt:

  1. Navigeer in Azure Portal naar het beheerde SQL-exemplaar.

  2. Selecteer Diagnostische instellingen.

  3. Selecteer Diagnostische gegevens inschakelen. Als diagnostische gegevens al zijn ingeschakeld, is +Diagnostische instelling toevoegen beschikbaar.

  4. Selecteer SQLSecurityAuditEvents in de lijst met logboeken.

  5. Als u Microsoft-ondersteuningsbewerkingen configureert, selecteert u Auditlogboeken voor DevOps-bewerkingen in de lijst met logboeken.

  6. Selecteer een bestemming voor de controlegebeurtenissen: Event Hubs, Azure Monitor-logboeken of beide. Configureer voor elk doel de vereiste parameters (bijvoorbeeld Log Analytics-werkruimte).

  7. Selecteer Opslaan.

    Schermopname van het configureren van diagnostische instellingen.

  8. Maak verbinding met het beheerde SQL-exemplaar met behulp van SQL Server Management Studio (SSMS) of een andere ondersteunde client.

  9. Voer de volgende T-SQL-instructie uit om een servercontrole te maken:

    CREATE SERVER AUDIT [<your_audit_name>] TO EXTERNAL_MONITOR;
    GO
    
  10. Maak en schakel een servercontrolespecificatie of databasecontrolespecificatie in zoals u zou doen voor SQL Server:

  11. Schakel de servercontrole in die in stap 8 is gemaakt:

    ALTER SERVER AUDIT [<your_audit_name>]
    WITH (STATE = ON);
    GO
    

Controle instellen met T-SQL

-- Create audit without OPERATOR_AUDIT - Will audit standard SQL Audit events
USE [master];
GO

CREATE SERVER AUDIT testingauditnodevops TO EXTERNAL_MONITOR;
GO

CREATE SERVER AUDIT SPECIFICATION testingaudit_Specification_nodevops
FOR SERVER AUDIT testingauditnodevops ADD (SUCCESSFUL_LOGIN_GROUP),
    ADD (BATCH_COMPLETED_GROUP),
    ADD (FAILED_LOGIN_GROUP)
WITH (STATE = ON);
GO

ALTER SERVER AUDIT testingauditnodevops
    WITH (STATE = ON);
GO

-- Create separate audit without OPERATOR_AUDIT ON - Will audit Microsoft Support Operations
USE [master]

CREATE SERVER AUDIT testingauditdevops TO EXTERNAL_MONITOR
    WITH (OPERATOR_AUDIT = ON);
GO

CREATE SERVER AUDIT SPECIFICATION testingaudit_Specification_devops
FOR SERVER AUDIT testingauditdevops ADD (SUCCESSFUL_LOGIN_GROUP),
    ADD (BATCH_COMPLETED_GROUP),
    ADD (FAILED_LOGIN_GROUP)
WITH (STATE = ON);
GO

ALTER SERVER AUDIT testingauditdevops
    WITH (STATE = ON);
GO

Auditlogboeken gebruiken

Logboeken gebruiken die zijn opgeslagen in Azure Storage

Er zijn verschillende methoden die u kunt gebruiken om logboeken voor blobcontrole weer te geven.

Logboeken gebruiken die zijn opgeslagen in Event Hubs

Als u auditlogboekgegevens van Event Hubs wilt gebruiken, moet u een stream instellen om gebeurtenissen te gebruiken en naar een doel te schrijven. Zie de documentatie van Azure Event Hubs voor meer informatie.

Logboeken gebruiken en analyseren die zijn opgeslagen in Azure Monitor-logboeken

Als auditlogboeken naar Azure Monitor-logboeken worden geschreven, zijn ze beschikbaar in de Log Analytics-werkruimte, waar u geavanceerde zoekopdrachten kunt uitvoeren op de controlegegevens. Navigeer als uitgangspunt naar de Log Analytics-werkruimte. Selecteer in de sectie Algemeenlogboeken en voer een basisquery in, zoals: search "SQLSecurityAuditEvents" om de auditlogboeken weer te geven.

Azure Monitor-logboeken bieden u realtime operationele inzichten met behulp van geïntegreerde zoek- en aangepaste dashboards om miljoenen records gemakkelijk te analyseren in al uw workloads en servers. Zie de zoekreferentie voor Azure Monitor-logboeken voor meer informatie over zoektaal en opdrachten in Azure Monitor-logboeken.

Verschillen tussen databases in Azure SQL Managed Instance en databases in SQL Server controleren

De belangrijkste verschillen tussen controle in databases in Azure SQL Managed Instance en databases in SQL Server zijn:

  • Met Azure SQL Managed Instance werkt controle op serverniveau en slaat .xel logboekbestanden op in Azure Blob Storage.
  • In SQL Server werkt controle op serverniveau, maar slaat gebeurtenissen op in het bestandssysteem en Windows-gebeurtenislogboeken.

XEvent-controle in beheerde exemplaren ondersteunt Azure Blob Storage-doelen. Bestands- en Windows-logboeken worden niet ondersteund.

De belangrijkste verschillen in de CREATE AUDIT syntaxis voor controle naar Azure Blob Storage zijn:

  • Er wordt een nieuwe syntaxis TO URL opgegeven en kunt u de URL opgeven van de Azure Blob Storage-container waarin de .xel bestanden worden geplaatst.
  • Er wordt een nieuwe syntaxis TO EXTERNAL MONITOR opgegeven om Event Hubs en Azure Monitor-logboekdoelen in te schakelen.
  • De syntaxis TO FILE wordt niet ondersteund omdat Azure SQL Managed Instance geen toegang heeft tot Windows-bestandsshares.
  • De optie Afsluiten wordt niet ondersteund.
  • queue_delay van 0 wordt niet ondersteund.

Volgende stap