Een overzicht van de beveiligingsmogelijkheden van Azure SQL Database en SQL Managed Instance

Van toepassing op: Azure SQL DatabaseAzure SQL Managed InstanceAzure Synapse Analytics

In dit artikel worden de basisbeginselen beschreven van het beveiligen van de gegevenslaag van een toepassing met behulp van Azure SQL Database, Azure SQL Managed Instance en Azure Synapse Analytics. De beveiligingsstrategie die wordt beschreven, volgt de gelaagde diepgaande verdedigingsbenadering, zoals wordt weergegeven in de onderstaande afbeelding en van buiten naar binnen gaat:

Diagram of layered defense-in-depth. Customer data is encased in layers of network security, access management and threat and information protections.

Notitie

Microsoft Entra-id is de nieuwe naam voor Azure Active Directory (Azure AD). Op dit moment wordt de documentatie bijgewerkt.

Netwerkbeveiliging

Microsoft Azure SQL Database, Azure SQL Managed Instance en Azure Synapse Analytics bieden een relationele databaseservice voor cloud- en bedrijfstoepassingen. Om klantgegevens te beschermen, voorkomen firewalls netwerktoegang tot de server totdat de toegang expliciet wordt verleend op basis van IP-adres of oorsprong van virtueel netwerkverkeer van Azure.

IP-firewallregels

IP-firewallregels verlenen toegang tot databases op basis van het oorspronkelijke IP-adres van elke aanvraag. Zie Overzicht van firewallregels voor Azure SQL Database en Azure Synapse Analytics voor meer informatie.

Firewallregels voor virtueel netwerk

Service-eindpunten voor virtuele netwerken breiden de connectiviteit van uw virtuele netwerk via de Azure-backbone uit en stellen Azure SQL Database in staat om het subnet van het virtuele netwerk te identificeren waaruit verkeer afkomstig is. Als u verkeer wilt toestaan om Azure SQL Database te bereiken, gebruikt u de SQL-servicetags om uitgaand verkeer via netwerkbeveiligingsgroepen toe te staan.

Met regels voor virtuele netwerken kan Azure SQL Database alleen communicatie accepteren die vanuit geselecteerde subnetten in een virtueel netwerk worden verzonden.

Notitie

Toegang beheren met firewallregels is niet van toepassing op SQL Managed Instance. Zie Verbinding maken ing naar een beheerd exemplaar voor meer informatie over de benodigde netwerkconfiguratie

Toegangsbeheer

Belangrijk

Het beheren van databases en servers in Azure wordt beheerd door de roltoewijzingen van uw portalgebruikersaccount. Zie op rollen gebaseerd toegangsbeheer van Azure in Azure Portal voor meer informatie over dit artikel.

Verificatie

Verificatie is het proces waarmee kan worden bewezen dat de gebruiker is wie hij of zij beweert te zijn. SQL Database en SQL Managed Instance ondersteunen SQL-verificatie en -verificatie met Microsoft Entra ID (voorheen Azure Active Directory). Sql Managed Instance biedt ook ondersteuning voor Windows-verificatie voor Microsoft Entra-principals.

  • SQL-verificatie:

    SQL-verificatie verwijst naar de verificatie van een gebruiker bij het maken van verbinding met Azure SQL Database of Azure SQL Managed Instance met behulp van gebruikersnaam en wachtwoord. Er moet een beheerdersaanmelding met een gebruikersnaam en wachtwoord worden opgegeven wanneer de server wordt gemaakt. Met deze referenties kan een serverbeheerder zich verifiëren bij elke database op die server of instantie als de eigenaar van de database. Daarna kunnen extra SQL-aanmeldingen en -gebruikers worden gemaakt door de serverbeheerder, zodat gebruikers verbinding kunnen maken met behulp van gebruikersnaam en wachtwoord.

  • Microsoft Entra-verificatie:

    Microsoft Entra-verificatie is een mechanisme om verbinding te maken met Azure SQL Database, Azure SQL Managed Instance en Azure Synapse Analytics met behulp van identiteiten in Microsoft Entra-id. Met Microsoft Entra-verificatie kunnen beheerders de identiteiten en machtigingen van databasegebruikers centraal beheren, samen met andere Azure-services op één centrale locatie. Dit minimaliseert de opslag van wachtwoorden en maakt gecentraliseerd wachtwoordrotatiebeleid mogelijk.

    Er moet een serverbeheerder met de naam Microsoft Entra-beheerder worden gemaakt voor het gebruik van Microsoft Entra-verificatie met SQL Database. Zie Verbinding maken ing to SQL Database with Microsoft Entra authentication(s) voor meer informatie. Microsoft Entra-verificatie ondersteunt zowel beheerde als federatieve accounts. De federatieve accounts ondersteunen Windows-gebruikers en -groepen voor een klantdomein dat is gefedereerd met Microsoft Entra-id.

    Microsoft Entra ondersteunt verschillende verificatieopties, waaronder meervoudige verificatie, geïntegreerde Windows-verificatie en voorwaardelijke toegang.

  • Windows-verificatie voor Microsoft Entra-principals:

    Kerberos-verificatie voor Microsoft Entra-principals maakt Windows-verificatie mogelijk voor Azure SQL Managed Instance. Met Windows-verificatie voor beheerde exemplaren kunnen klanten bestaande services verplaatsen naar de cloud, terwijl ze een naadloze gebruikerservaring behouden en de basis bieden voor modernisering van de infrastructuur.

    Als u Windows-verificatie voor Microsoft Entra-principals wilt inschakelen, verandert u uw Microsoft Entra-tenant in een onafhankelijke Kerberos-realm en maakt u een binnenkomende vertrouwensrelatie in het klantdomein. Meer informatie over hoe Windows-verificatie voor Azure SQL Managed Instance wordt geïmplementeerd met Microsoft Entra ID en Kerberos.

Belangrijk

Het beheren van databases en servers in Azure wordt beheerd door de roltoewijzingen van uw portalgebruikersaccount. Zie op rollen gebaseerd toegangsbeheer in Azure Portal voor meer informatie over dit artikel. Toegang beheren met firewallregels is niet van toepassing op SQL Managed Instance. Raadpleeg het volgende artikel over het maken van verbinding met een beheerd exemplaar voor meer informatie over de benodigde netwerkconfiguratie.

Autorisatie

Autorisatie verwijst naar het beheren van de toegang tot resources en opdrachten in een database. Dit wordt gedaan door machtigingen toe te wijzen aan een gebruiker in een database in Azure SQL Database of Azure SQL Managed Instance. Machtigingen worden idealiter beheerd door gebruikersaccounts toe te voegen aan databaserollen en machtigingen op databaseniveau toe te wijzen aan deze rollen. Een afzonderlijke gebruiker kan ook bepaalde machtigingen op objectniveau krijgen. Zie Aanmeldingen en gebruikers voor meer informatie

Als best practice kunt u zo nodig aangepaste rollen maken. Voeg gebruikers toe aan de rol met de minste bevoegdheden die nodig zijn om hun taakfunctie uit te voeren. Wijs geen machtigingen rechtstreeks toe aan gebruikers. Het serverbeheerdersaccount is lid van de ingebouwde db_owner-rol, die uitgebreide machtigingen heeft en slechts aan enkele gebruikers met beheerdersrechten mag worden verleend. Om het bereik van wat een gebruiker kan doen verder te beperken, kan de EXECUTE AS worden gebruikt om de uitvoeringscontext van de aangeroepen module op te geven. Het volgen van deze best practices is ook een fundamentele stap in de richting van scheiding van taken.

Beveiliging op rijniveau

Met beveiliging op rijniveau kunnen klanten de toegang tot rijen in een databasetabel beheren op basis van de kenmerken van de gebruiker die een query uitvoert (bijvoorbeeld groepslidmaatschap of uitvoeringscontext). Beveiliging op rijniveau kan ook worden gebruikt om aangepaste beveiligingsconcepten op basis van labels te implementeren. Zie Beveiliging op rijniveau voor meer informatie.

Diagram showing that Row-Level Security shields individual rows of a SQL database from access by users via a client app.

Bescherming tegen bedreigingen

SQL Database en SQL Managed Instance beveiligen klantgegevens door controle- en detectiemogelijkheden voor bedreigingen te bieden.

SQL-controle in Azure Monitor-logboeken en Event Hubs

Controle van SQL Database en SQL Managed Instance houdt databaseactiviteiten bij en helpt de naleving van beveiligingsstandaarden te handhaven door databasegebeurtenissen vast te leggen in een auditlogboek in een Azure-opslagaccount dat eigendom is van de klant. Met controle kunnen gebruikers lopende databaseactiviteiten bewaken en historische activiteiten analyseren en onderzoeken om potentiële bedreigingen of vermoedelijk misbruik en schendingen van de beveiliging te identificeren. Zie Aan de slag met SQL Database Auditing voor meer informatie.

Advanced Threat Protection

Advanced Threat Protection analyseert uw logboeken om ongebruikelijk gedrag te detecteren en mogelijk schadelijke pogingen om toegang te krijgen tot of misbruik te maken van databases. Waarschuwingen worden gemaakt voor verdachte activiteiten zoals SQL-injectie, mogelijke infiltratie van gegevens en beveiligingsaanvallen of voor afwijkingen in toegangspatronen om escalaties van bevoegdheden en het gebruik van geschonden referenties te ondervangen. Waarschuwingen worden weergegeven vanuit de Microsoft Defender voor Cloud, waarbij de details van de verdachte activiteiten worden verstrekt en aanbevelingen voor nader onderzoek, samen met acties om de bedreiging te beperken. Advanced Threat Protection kan tegen extra kosten per server worden ingeschakeld. Zie Aan de slag met SQL Database Advanced Threat Protection voor meer informatie.

Diagram showing SQL Threat Detection monitoring access to the SQL database for a web app from an external attacker and malicious insider.

Gegevensbeveiliging en -versleuteling

Transport Layer Security (versleuteling in transit)

SQL Database, SQL Managed Instance en Azure Synapse Analytics beveiligen klantgegevens door gegevens in beweging te versleutelen met TLS (Transport Layer Security).

SQL Database, SQL Managed Instance en Azure Synapse Analytics dwingen altijd versleuteling (SSL/TLS) af voor alle verbindingen. Dit zorgt ervoor dat alle gegevens 'in transit' tussen de client en de server worden versleuteld, ongeacht de instelling Encrypt of TrustServerCertificate in de verbindingsreeks.

Aanbevolen wordt dat u in de verbindingsreeks die door de toepassing wordt gebruikt, een versleutelde verbinding opgeeft en het servercertificaat niet vertrouwt. Dit dwingt uw toepassing om het servercertificaat te verifiëren en voorkomt dat uw toepassing kwetsbaar is voor man in het middelste type aanvallen.

Wanneer u bijvoorbeeld het ADO.NET-stuurprogramma gebruikt, wordt dit bereikt via Encrypt=True en TrustServerCertificate=False. Als u uw connection string ophaalt uit de Azure Portal, beschikt deze over de juiste instellingen.

Belangrijk

Sommige niet-Microsoft-stuurprogramma's gebruiken mogelijk niet standaard TLS of zijn afhankelijk van een oudere versie van TLS (<1.2) om te kunnen functioneren. In dit geval kunt u met de server nog steeds verbinding maken met uw database. We raden u echter aan de beveiligingsrisico's te evalueren waardoor dergelijke stuurprogramma's en toepassingen verbinding kunnen maken met SQL Database, met name als u gevoelige gegevens opslaat.

Zie TLS-overwegingen voor meer informatie over TLS en connectiviteit

Transparent Data Encryption (versleuteling-at-rest)

Transparent Data Encryption (TDE) voor SQL Database, SQL Managed Instance en Azure Synapse Analytics voegt een beveiligingslaag toe om data-at-rest te beschermen tegen onbevoegde of offlinetoegang tot onbewerkte bestanden of back-ups. Veelvoorkomende scenario's zijn diefstal van datacenters of onbeveiligde verwijdering van hardware of media, zoals schijfstations en back-uptapes. TDE versleutelt de hele database met behulp van een AES-versleutelingsalgoritmen. Hiervoor hoeven toepassingsontwikkelaars geen wijzigingen aan te brengen in bestaande toepassingen.

In Azure worden alle zojuist gemaakte databases standaard versleuteld en wordt de databaseversleutelingssleutel beveiligd door een ingebouwd servercertificaat. Certificaatonderhoud en rotatie worden beheerd door de service en vereisen geen invoer van de gebruiker. Klanten die liever de controle over de versleutelingssleutels overnemen, kunnen de sleutels in Azure Key Vault beheren.

Sleutelbeheer met Azure Key Vault

Met BYOK-ondersteuning (Bring Your Own Key ) voor TDE (Transparent Data Encryption ) kunnen klanten eigenaar worden van sleutelbeheer en rotatie met behulp van Azure Key Vault, het cloudgebaseerde externe-sleutelbeheersysteem van Azure. Als de toegang van de database tot de sleutelkluis wordt ingetrokken, kan een database niet worden ontsleuteld en in het geheugen worden gelezen. Azure Key Vault biedt een centraal sleutelbeheerplatform, maakt gebruik van nauw bewaakte HSM's (Hardware Security Modules) en maakt scheiding van taken mogelijk tussen het beheer van sleutels en gegevens om te voldoen aan de vereisten voor beveiligingsnaleving.

Always Encrypted (versleuteling in gebruik)

Diagram showing the basics of the Always Encrypted feature. An SQL database with a lock is only accessed by an app containing a key.

Always Encrypted is een functie die is ontworpen om gevoelige gegevens die zijn opgeslagen in specifieke databasekolommen te beschermen tegen toegang (bijvoorbeeld creditcardnummers, nationale/regionale identificatienummers of gegevens op basis van kennis ). Dit omvat databasebeheerders of andere bevoegde gebruikers die gemachtigd zijn om toegang te krijgen tot de database om beheertaken uit te voeren, maar die geen toegang hebben tot de specifieke gegevens in de versleutelde kolommen. De gegevens worden altijd versleuteld, wat betekent dat de versleutelde gegevens alleen worden ontsleuteld voor verwerking door clienttoepassingen met toegang tot de versleutelingssleutel. De versleutelingssleutel wordt nooit blootgesteld aan SQL Database of SQL Managed Instance en kan worden opgeslagen in het Windows-certificaatarchief of in Azure Key Vault.

Dynamische gegevensmaskering

Diagram showing dynamic data masking. A business app sends data to a SQL database which masks the data before sending it back to the business app.

Met dynamische gegevensmaskering wordt de blootstelling van gevoelige gegevens beperkt door deze gegevens te maskeren voor niet-gemachtigde gebruikers. Dynamische gegevensmaskering detecteert automatisch potentieel gevoelige gegevens in Azure SQL Database en SQL Managed Instance en biedt bruikbare aanbevelingen voor het maskeren van deze velden, met minimale gevolgen voor de toepassingslaag. Dit werkt als volgt: de gevoelige gegevens in de resultatenset van een query die is uitgevoerd op toegewezen databasevelden, worden bedekt, terwijl de gegevens in de database niet worden gewijzigd. Zie Aan de slag met dynamische gegevensmaskering van SQL Database en SQL Managed Instance voor meer informatie.

Beveiligingsbeheer

Evaluatie van beveiligingsproblemen

Evaluatie van beveiligingsproblemen is een eenvoudig te configureren service waarmee potentiële beveiligingsproblemen in databases kunnen worden gedetecteerd, bijgehouden en hersteld met het doel om de algehele databasebeveiliging proactief te verbeteren. Evaluatie van beveiligingsproblemen (VA) maakt deel uit van de Microsoft Defender voor SQL-aanbieding. Dit is een geïntegreerd pakket voor geavanceerde SQL-beveiligingsmogelijkheden. Evaluatie van beveiligingsproblemen kan worden geopend en beheerd via de centrale Microsoft Defender voor SQL Portal.

Detectie en classificatie van gegevens

Gegevensdetectie en -classificatie (momenteel in preview) bieden basismogelijkheden die zijn ingebouwd in Azure SQL Database en SQL Managed Instance voor het detecteren, classificeren en labelen van gevoelige gegevens in uw databases. Het detecteren en classificeren van uw uiterst gevoelige gegevens (zakelijk/financieel, gezondheidszorg, persoonlijke gegevens, enzovoort) kan een belangrijke rol spelen in de status Van gegevensbescherming van uw organisatie. Dit kan dienen als infrastructuur om:

  • Verschillende beveiligingsscenario's, zoals bewaking (controle) en waarschuwingen over afwijkende toegang tot gevoelige gegevens.
  • De toegang tot en de beveiliging van databases met zeer gevoelige gegevens beheren en de beveiliging beperken.
  • Te helpen voldoen aan standaarden op het gebied van gegevensbescherming en aan vereisten voor naleving van regelgeving.

Zie Aan de slag met gegevensdetectie en -classificatie voor meer informatie.

Naleving

Naast de bovenstaande functies en functionaliteit die uw toepassing kunnen helpen voldoen aan verschillende beveiligingsvereisten, neemt Azure SQL Database ook deel aan regelmatige controles en is gecertificeerd op basis van een aantal nalevingsstandaarden. Zie het Vertrouwenscentrum van Microsoft Azure voor meer informatie, waar u de meest recente lijst met SQL Database-nalevingscertificeringen kunt vinden.

Volgende stappen