Een overzicht van de beveiligingsmogelijkheden van Azure SQL Database en SQL Managed Instance
van toepassing op:Azure SQL Database
Azure SQL Managed Instance
Azure 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 Instanceen 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:
Notitie
Microsoft Entra ID voorheen Azure Active Directory (Azure AD) werd genoemd.
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 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.
Notitie
Het beheren van de toegang met firewallregels is niet van toepassing op sql Managed Instance. Zie Verbinding maken met 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 in Azure Portalvoor meer informatie over dit artikel.
Authenticatie
Verificatie is het proces om aan te tonen 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. Bij het aanmaken van de server moet een serverbeheerder inloggegevens met een gebruikersnaam en wachtwoord worden opgegeven. 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 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.
Een serverbeheerder met de naam Microsoft Entra-beheerder moet worden gemaakt voor het gebruik van Microsoft Entra-verificatie met SQL Database. 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.
Als u Windows-verificatie voor Microsoft Entra-onderdelen wilt inschakelen, verandert u uw Microsoft Entra-tenant in een onafhankelijke Kerberos-realm en creëert u vertrouwen in het klantdomein. Leer 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 Portalvoor meer informatie over dit artikel. Het beheren van de toegang met firewallregels is niet van toepassing op sql Managed Instance. Raadpleeg het volgende artikel over verbinding maken met een beheerd exemplaar voor meer informatie over de benodigde netwerkconfiguratie.
Machtiging
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
Row-Level Beveiliging stelt klanten in staat om de toegang tot rijen in een databasetabel te beheren op basis van de kenmerken van de gebruiker die een query uitvoert (bijvoorbeeld groepslidmaatschap of uitvoeringscontext). Row-Level Beveiliging kan ook worden gebruikt om aangepaste beveiligingsconcepten op basis van labels te implementeren. Zie Row-Level securityvoor meer informatie.
Beveiliging 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 Auditingvoor meer informatie.
Geavanceerde dreigingsbescherming
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 Protectionvoor meer informatie.
Gegevensbeveiliging en -versleuteling
Transport Layer Security (Encryptie tijdens transport)
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' worden versleuteld tussen de client en de server, ongeacht de instelling van 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 vertrouwen. Dit dwingt uw toepassing om het servercertificaat te verifiëren en voorkomt zo dat uw toepassing kwetsbaar is voor man in het middelste type aanvallen.
Als u bijvoorbeeld het ADO.NET-stuurprogramma gebruikt, wordt dit bereikt via Encrypt=True en TrustServerCertificate=False. Als u de verbindingsreeks van Azure Portal ophaalt, 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 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 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
BYOK-ondersteuning (Bring Your Own Key) voor Transparent Data Encryption (TDE) stelt klanten in staat om het beheer en de rotatie van sleutels zelf te beheren door gebruik te maken 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)
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 een need-to-know basis). 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
Dynamische gegevensmaskering beperkt de blootstelling van gevoelige gegevens door deze te maskeren voor niet-bevoegde 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 over aangewezen databasevelden te verbergen, 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.
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.
Gegevensdetectie en -classificatie
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. Het kan fungeren 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 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 Microsoft Azure Trust Center waar u de meest recente lijst met SQL Database-nalevingscertificeringen kunt vinden voor meer informatie.
Volgende stappen
- Zie Aanmeldingen en gebruikersaccounts beherenvoor een bespreking van het gebruik van aanmeldingen, gebruikersaccounts, databaserollen en machtigingen in SQL Database en SQL Managed Instance.
- Raadpleeg auditingvoor een bespreking van de controle van gegevensbanken.
- Zie bedreigingsdetectievoor een bespreking van bedreigingsdetectie.