Delen via


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 die gebruikmaakt van Azure SQL Database, Azure SQL Managed Instance en Azure Synapse Analytics. De beveiligingsstrategie die in dit artikel wordt beschreven, volgt de gelaagde verdediging-in-de-diepte benadering, zoals weergegeven in het volgende diagram, en gaat van buiten naar binnen.

Diagram van gelaagde verdedigingsdiepte. Klantgegevens worden in lagen van netwerkbeveiliging, toegangsbeheer en bedreigings- en informatiebeveiliging opgenomen.

Netwerkbeveiliging

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 u expliciet toegang verleent op basis van IP-adres of oorsprong van verkeer van virtuele Azure-netwerken.

IP-firewallregels

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

Firewallregels voor virtuele netwerken

service-eindpunten voor virtuele netwerken de connectiviteit van uw virtuele netwerk uitbreiden via de Azure-backbone en Azure SQL Database inschakelen 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.

  • regels voor virtuele netwerken Azure SQL Database in staat stellen alleen communicatie te accepteren die vanuit geselecteerde subnetten in een virtueel netwerk worden verzonden.
  • Toegang beheren met firewallregels is niet van toepassing op SQL Managed Instance. Zie Verbinding maken met een beheerd exemplaar voor meer informatie over de benodigde netwerkconfiguratie

Notitie

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

Netwerkbeveiligingsperimeter

Een Azure-netwerkbeveiligingsperimeter maakt logische netwerkgrenzen rond uw PaaS-resources (Platform-as-a-Service) die u buiten uw virtuele netwerken implementeert.

  • Met een Azure-netwerkbeveiligingsperimeter kunt u de toegang tot openbare netwerken tot Azure SQL Database beheren.
  • Toegang beheren met een Azure-netwerkbeveiligingsperimeter is niet van toepassing op Azure SQL Managed Instance.

Belangrijk

Azure SQL Database met netwerkbeveiligingsperimeter is momenteel beschikbaar als preview-versie. De previews worden aangeboden zonder service level agreement en worden niet aanbevolen voor productie-workloads. Bepaalde functies worden mogelijk niet ondersteund of hebben mogelijk beperkte mogelijkheden. Voor meer informatie, zie Aanvullende Gebruiksvoorwaarden voor Microsoft Azure Previews.

Authenticatie

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

  • 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. Met deze functie kunt u het gebruik van geheimen en wachtwoorden elimineren.

    Als u Microsoft Entra-verificatie wilt gebruiken met SQL Database, maakt u een serverbeheerder met de naam Microsoft Entra-beheerder. Zie Verbinding maken met SQL Database met Microsoft Entra-verificatievoor 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-verificatieen voorwaardelijke toegang.

  • Windows-verificatie voor Microsoft Entra-principals:

    Kerberos-authenticatie voor Microsoft Entra-principals stelt Windows-authenticatie voor Azure SQL Managed Instance in. 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.

    Om Windows-verificatie voor Microsoft Entra-principals in te schakelen, moet u uw Microsoft Entra-tenant omzetten in een onafhankelijke Kerberos-realm en een inkomende trust maken in het domein van de klant. Leer hoe Windows-verificatie voor Azure SQL Managed Instance wordt geïmplementeerd met Microsoft Entra ID en Kerberos.

  • 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 een gebruikersnaam en wachtwoord. U moet een serverbeheerderaanmelding met een gebruikersnaam en wachtwoord opgeven bij het maken van de server. Met behulp van deze referenties kan een serverbeheerder zich als eigenaar van de database verifiëren bij elke database op die server of instantie. Daarna kan de serverbeheerder andere SQL-aanmeldingen en -gebruikers maken, zodat gebruikers verbinding kunnen maken met behulp van een gebruikersnaam en wachtwoord.

Autorisatie- en toegangsbeheer

Autorisatie verwijst naar het beheren van de toegang tot het beheer van servers en databases, en naar gegevens, resources en opdrachten in een database. U wijst machtigingen toe aan een gebruiker in een database in Azure SQL Database of Azure SQL Managed Instance. De roltoewijzingen van uw portalgebruikersaccount beheren databases en servers in Azure. Zie Op rollen gebaseerd toegangsbeheer van Azure in Azure Portal voor meer informatie.

Machtigingen beheren door gebruikersaccounts toe te voegen aan databaserollen en machtigingen op databaseniveau toe te wijzen aan deze rollen. U kunt ook bepaalde machtigingen op objectniveau verlenen aan een afzonderlijke gebruiker. Zie Aanmeldingen en gebruikers voor meer informatie.

Daarnaast biedt Azure SQL Managed Instance functies op serverniveau (vast of aangepast) voor het beheren van machtigingen voor een exemplaar. Functies op serverniveau hebben een machtigingsbereik voor de hele server. U kunt principals op serverniveau toevoegen aan rollen op serverniveau.

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 beheerdersaccount van de server is lid van de ingebouwde db_owner rol, die uitgebreide machtigingen heeft en slechts aan enkele gebruikers met beheerderstaken mag worden verleend. Als u het bereik van wat een gebruiker kan doen verder wilt beperken, gebruikt u de EXECUTE AS om de uitvoeringscontext van de aangeroepen module op te geven. Het volgen van deze aanbevolen procedures is ook een fundamentele stap in de richting van scheiding van taken.

Beveiliging op rijniveau

Row-Level Security kunt u de toegang tot rijen in een databasetabel beheren op basis van de kenmerken van de gebruiker die een query uitvoert (bijvoorbeeld groepslidmaatschap of uitvoeringscontext). Gebruik Row-Level Security om aangepaste beveiligingsconcepten op basis van labels te implementeren. Zie Row-Level securityvoor meer informatie.

Diagram waarin wordt weergegeven dat Row-Level Security afzonderlijke rijen van een SQL-database afschermt van toegang door gebruikers via een client-app.

Beveiliging tegen bedreigingen

Azure 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 kunt u actieve 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 Auditingvoor meer informatie.

Geavanceerde dreigingsbescherming

Advanced Threat Protection analyseert uw logboeken om ongebruikelijk gedrag en mogelijk schadelijke pogingen om toegang te krijgen tot of misbruik te maken van databases. Er worden waarschuwingen 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. U kunt waarschuwingen van Microsoft Defender voor Cloud bekijken, waarbij de details van de verdachte activiteiten worden verstrekt en aanbevelingen voor nader onderzoek, samen met acties om de bedreiging te beperken. U kunt Advanced Threat Protection per server inschakelen tegen extra kosten. Zie Aan de slag met SQL Database Advanced Threat Protectionvoor meer informatie.

Diagram dat laat zien hoe SQL-Dreigingsdetectie de toegang tot de SQL-database bewaakt voor een web-app, met bescherming tegen een externe aanvaller en een kwaadwillende insider.

Gegevensbeveiliging en -versleuteling

Transport Layer Security (versleuteling tijdens vervoer)

SQL Database, SQL Managed Instance en Azure Synapse Analytics beveiligen klantgegevens door gegevens in beweging te versleutelen met TLS-(Transport Layer Security). Deze services dwingen altijd versleutelde TLS-verbindingen af om ervoor te zorgen dat alle gegevens worden versleuteld tijdens de overdracht tussen de client en de server.

Sql Database, SQL Managed Instance en Azure Synapse Analytics stellen de configuratievlag ForceEncryptionYesin op . Clients en stuurprogramma's moeten versleutelde verbindingen ondersteunen om verbinding te maken met deze services. De laagste versie van het TDS-protocol waarmee verbinding kan worden gemaakt, is TDS 7.1.

Als u TDS 8.0-compatibele SQL-stuurprogramma's hebt, gebruikt u strikte verbindingsversleuteling.

Als uw stuurprogramma's geen ondersteuning bieden voor TDS 8.0, gebruikt u verplichte versleuteling en vertrouwt u het servercertificaat niet. Wanneer u bijvoorbeeld het ADO.NET-stuurprogramma gebruikt, gebruikt Encrypt=True en TrustServerCertificate=False in de verbindingsreeks om dit te bereiken. De verbindingsreeks die u uit Azure Portal krijgt, is al geconfigureerd met deze waarden.

Vermijd het instellen van de parameter TrustServerCertificateTrue in productiegebruik. TrustServerCertificate=True is te permissief en beschermt niet tegen man-in-the-middle-aanvallen. Als uw client in plaats daarvan een andere domeinnaam verwacht in het servercertificaat, gebruikt u de HostNameInCertificate parameter om de juiste domeinnaam op te geven voor validatie.

Als u bijvoorbeeld het stuurprogramma ADO.NET gebruikt om verbinding te maken met uw beheerde exemplaar contoso-instance.123456.database.windows.net via een aangepaste domeinnaam contoso-instance.contoso.com, stelt u de verbindingsparameters Encrypt=True in en configureert u HostNameInCertificate=contoso-instance.123456.database.windows.net. Met deze configuratie kan het stuurprogramma het servercertificaat valideren op basis van een verwachte VNet-lokale eindpuntdomeinnaam.

Belangrijk

Sommige niet-Microsoft-stuurprogramma's maken mogelijk niet standaard gebruik van TLS of zijn afhankelijk van een oudere versie van TLS (ouder dan 1.2) om te functioneren. In dit geval kunt u met de server nog steeds verbinding maken met uw database. Evalueer echter de beveiligingsrisico's van het toestaan van dergelijke stuurprogramma's en toepassingen om verbinding te maken met SQL Database, met name als u gevoelige gegevens opslaat.

Zie TLS-overwegingen voor meer informatie over TLS en connectiviteit.

Transparante gegevensversleuteling (versleuteling in rust) met door de service beheerde sleutels

Transparent Data Encryption (TDE) voor SQL Database, SQL Managed Instance en Azure Synapse Analytics voegt een beveiligingslaag toe om gegevens in rust te beschermen tegen onbevoegde toegang of offlinetoegang tot ruwe 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 ontwikkelaars van toepassingen 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. De service beheert certificaatonderhoud en rotatie en vereist geen invoer van de gebruiker. Als u de controle over de versleutelingssleutels wilt overnemen, kunt u de sleutels beheren in Azure Key Vault.

Transparante gegevensversleuteling (versleuteling in rust) met door de klant beheerde sleutels

Als u meer controle nodig hebt over versleutelingssleutels, ondersteunt Transparent Data Encryption (TDE) door de klant beheerde sleutels (CMK). Deze CMK is gekoppeld aan de logische server en verpakt de databaseversleutelingssleutels voor alle databases op die server. U kunt ook een CMK configureren op het niveau van de afzonderlijke database. Door de CMK te beheren, kunt u sleutelrotatie, intrekking en controle beheren, wat vaak nodig is voor naleving of strikt beveiligingsbeleid.

Always Encrypted en Always Encrypted met beveiligde enclaves (versleuteling in gebruik)

Diagram met de basisbeginselen van de functie Always Encrypted. Een SQL-database met een vergrendeling wordt alleen geopend door een app die een sleutel bevat.

Always Encrypted en Always Encrypted met beveiligde enclaves zijn functies die zijn ontworpen om gevoelige gegevens te beveiligen die zijn opgeslagen in specifieke databasekolommen tegen toegang (bijvoorbeeld creditcardnummers, nationale/regionale identificatienummers of gegevens op basis van noodzaak). Deze beveiliging 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 met dynamische gegevensmaskering. Een zakelijke app verzendt gegevens naar een SQL-database waarmee de gegevens worden gemaskeerd voordat deze naar de zakelijke app worden verzonden.

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. Het werkt door de gevoelige gegevens in de resultatenset van een query te verbergen boven aangewezen databasevelden, terwijl de gegevens in de database niet worden gewijzigd. Zie Aan de slag met dynamische gegevensmaskering van SQL Database en SQL Managed Instancevoor meer informatie.

Grootboek

Grootboek in Azure SQL Database en SQL Managed Instance is een functie die cryptografisch bewijs van gegevensintegriteit biedt. Met ledgerfunctionaliteit beschikt u over mogelijkheden om te zien of uw gegevens zijn gemanipuleerd. U kunt cryptografisch attesteren aan andere partijen, zoals auditors of andere zakelijke partijen, waarmee uw gegevens niet zijn geknoeid.

Grootboek maakt gebruik van manipulatie-opsporende technologie om databasewijzigingen vast te leggen in een onveranderbaar register, zodat ongeautoriseerde wijzigingen kunnen worden opgespoord. Deze functie is met name handig voor scenario's die naleving van regelgeving, controlebaarheid en vertrouwen tussen meerdere partijen vereisen. Door grootboek in te schakelen, kunt u de integriteit van uw gegevens controleren, waardoor het risico op fraude of gegevensmanipulatie wordt verminderd.

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. U kunt de evaluatie van beveiligingsproblemen openen en beheren via de centrale Microsoft Defender voor SQL-portal.

Gegevensdetectie en -classificatie

Gegevensdetectie en -classificatie biedt 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 ontdekken en classificeren van uw meest gevoelige gegevens (zakelijk, financieel, gezondheidszorg, persoonlijke gegevens en meer) speelt een centrale rol in de bescherming van uw organisatiegegevens. Het fungeert als infrastructuur voor:

  • 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 versterken.
  • Helpen voldoen aan de vereisten voor gegevensprivacy en naleving van regelgeving.

Zie Aan de slag met gegevensdetectie en -classificatievoor meer informatie.

Naleving

Naast de functies en functionaliteit die uw toepassing helpen voldoen aan verschillende beveiligingsvereisten, neemt Azure SQL Database ook deel aan regelmatige audits. Het is gecertificeerd volgens een aantal nalevingsstandaarden. Zie het Microsoft Azure Trust Center waar u de meest recente lijst met SQL Database-nalevingscertificeringen kunt vinden voor meer informatie.