Een overzicht van de beveiligings mogelijkheden van Azure SQL Database en SQL Managed instanceAn overview of Azure SQL Database and SQL Managed Instance security capabilities

VAN TOEPASSING OP: jaAzure SQL Database jaMet Azure SQL beheerd exemplaar APPLIES TO: yesAzure SQL Database yesAzure SQL Managed Instance

In dit artikel vindt u een overzicht van de basis principes van het beveiligen van de gegevenslaag van een toepassing met behulp van Azure SQL database en Azure SQL Managed instance.This article outlines the basics of securing the data tier of an application using Azure SQL Database and Azure SQL Managed Instance. De beschreven beveiligings strategie volgt de gelaagde ingrijpende aanpak zoals wordt weer gegeven in de onderstaande afbeelding, en verplaatst van de buiten kant naar:The security strategy described follows the layered defense-in-depth approach as shown in the picture below, and moves from the outside in:

sql-security-layer.png

NetwerkbeveiligingNetwork security

Microsoft Azure SQL Database en SQL Managed instance bieden een relationele database service voor Cloud-en bedrijfs toepassingen.Microsoft Azure SQL Database and SQL Managed Instance provide a relational database service for cloud and enterprise applications. Om klant gegevens te helpen beschermen, worden netwerk toegang tot de server voor komen door firewalls, totdat de toegang expliciet wordt verleend op basis van het IP-adres of de oorsprong van het virtuele netwerk verkeer van Azure.To help protect customer data, firewalls prevent network access to the server until access is explicitly granted based on IP address or Azure Virtual network traffic origin.

IP-firewallregelsIP firewall rules

IP-firewall regels verlenen toegang tot data bases op basis van het oorspronkelijke IP-adres van elke aanvraag.IP firewall rules grant access to databases based on the originating IP address of each request. Zie overzicht van de firewall regels voor Azure SQL database en Azure Synapse Analyticsvoor meer informatie.For more information, see Overview of Azure SQL Database and Azure Synapse Analytics firewall rules.

Firewallregels voor virtueel netwerkVirtual network firewall rules

Met virtuele netwerk service-eind punten wordt de verbinding van het virtuele netwerk via de Azure-backbone uitgebreid en kunnen Azure SQL database het subnet van het virtuele netwerk identificeren waaruit het verkeer afkomstig is.Virtual network service endpoints extend your virtual network connectivity over the Azure backbone and enable Azure SQL Database to identify the virtual network subnet that traffic originates from. Als u wilt toestaan dat verkeer wordt bereikt Azure SQL Database, gebruikt u de SQL service-Tags om uitgaand verkeer via netwerk beveiligings groepen toe te staan.To allow traffic to reach Azure SQL Database, use the SQL service tags to allow outbound traffic through Network Security Groups.

Met regels voor virtuele netwerken kunnen Azure SQL database alleen communicatie accepteren die worden verzonden vanuit geselecteerde subnetten binnen een virtueel netwerk.Virtual network rules enable Azure SQL Database to only accept communications that are sent from selected subnets inside a virtual network.

Notitie

Het beheren van toegang met firewall regels is niet van toepassing op een SQL Managed instance.Controlling access with firewall rules does not apply to SQL Managed Instance. Zie verbinding maken met een beheerd exemplaar voor meer informatie over de benodigde netwerk configuratieFor more information about the networking configuration needed, see Connecting to a managed instance

ToegangsbeheerAccess management

Belangrijk

Het beheren van data bases en servers binnen Azure wordt bepaald door de roltoewijzingen van uw portal-gebruikers account.Managing databases and servers within Azure is controlled by your portal user account's role assignments. Zie op rollen gebaseerd toegangs beheer in de Azure Portalvoor meer informatie over dit artikel.For more information on this article, see Role-based access control in the Azure portal.

VerificatieAuthentication

Verificatie is het proces waarbij de gebruiker wordt geclaimd.Authentication is the process of proving the user is who they claim to be. Azure SQL Database en SQL Managed instance ondersteunen twee typen verificatie:Azure SQL Database and SQL Managed Instance support two types of authentication:

  • SQL-verificatie:SQL authentication:

    SQL-verificatie verwijst naar de verificatie van een gebruiker wanneer er verbinding wordt gemaakt met Azure SQL Database of een door Azure SQL beheerd exemplaar met behulp van de gebruikers naam en het wacht woord.SQL authentication refers to the authentication of a user when connecting to Azure SQL Database or Azure SQL Managed Instance using username and password. Een Server beheerder meldt zich aan met een gebruikers naam en wacht woord wanneer de server wordt gemaakt.A server admin login with a username and password must be specified when the server is being created. Met deze referenties kan een Server beheerder zich verifiëren bij elke Data Base op die server of instantie als de eigenaar van de data base.Using these credentials, a server admin can authenticate to any database on that server or instance as the database owner. Daarna kunnen extra SQL-aanmeldingen en-gebruikers worden gemaakt door de server beheerder, waarmee gebruikers verbinding maken met behulp van de gebruikers naam en het wacht woord.After that, additional SQL logins and users can be created by the server admin, which enable users to connect using username and password.

  • Azure Active Directory-verificatie:Azure Active Directory authentication:

    Azure Active Directory-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 azure Active Directory (Azure AD).Azure Active Directory authentication is a mechanism of connecting to Azure SQL Database, Azure SQL Managed Instance and Azure Synapse Analytics by using identities in Azure Active Directory (Azure AD). Met Azure AD-verificatie kunnen beheerders de identiteiten en machtigingen van database gebruikers centraal beheren, samen met andere Azure-Services op één centrale locatie.Azure AD authentication allows administrators to centrally manage the identities and permissions of database users along with other Azure services in one central location. Dit omvat de minimale wacht woord opslag en maakt beleid voor gecentraliseerde wachtwoord rotatie mogelijk.This includes the minimization of password storage and enables centralized password rotation policies.

    Een server beheerder met de naam Active Directory beheerder moet worden gemaakt voor het gebruik van Azure AD-verificatie met SQL database.A server admin called the Active Directory administrator must be created to use Azure AD authentication with SQL Database. Zie verbinding maken met SQL database met behulp van Azure Active Directory-verificatievoor meer informatie.For more information, see Connecting to SQL Database By Using Azure Active Directory Authentication. Azure AD-verificatie ondersteunt zowel beheerde als federatieve accounts.Azure AD authentication supports both managed and federated accounts. De federatieve accounts ondersteunen Windows-gebruikers en-groepen voor een klant domein Federated met Azure AD.The federated accounts support Windows users and groups for a customer domain federated with Azure AD.

    Er zijn extra Azure AD-verificatie opties beschikbaar Active Directory universele verificatie voor SQL Server Management Studio verbindingen, waaronder multi-factor Authentication en voorwaardelijke toegang.Additional Azure AD authentication options available are Active Directory Universal Authentication for SQL Server Management Studio connections including Multi-Factor Authentication and Conditional Access.

Belangrijk

Het beheren van data bases en servers binnen Azure wordt bepaald door de roltoewijzingen van uw portal-gebruikers account.Managing databases and servers within Azure is controlled by your portal user account's role assignments. Zie op rollen gebaseerd toegangs beheer in azure Portalvoor meer informatie over dit artikel.For more information on this article, see Role-based access control in Azure portal. Het beheren van toegang met firewall regels is niet van toepassing op een SQL Managed instance.Controlling access with firewall rules does not apply to SQL Managed Instance. Raadpleeg het volgende artikel over het maken van een verbinding met een beheerd exemplaar voor meer informatie over de benodigde netwerk configuratie.Please see the following article on connecting to a managed instance for more information about the networking configuration needed.

AutorisatieAuthorization

Autorisatie verwijst naar de machtigingen die zijn toegewezen aan een gebruiker in een data base in Azure SQL Database of Azure SQL Managed instance en bepaalt wat de gebruiker mag doen.Authorization refers to the permissions assigned to a user within a database in Azure SQL Database or Azure SQL Managed Instance, and determines what the user is allowed to do. Machtigingen worden beheerd door gebruikers accounts toe te voegen aan database rollen en machtigingen op database niveau toe te wijzen aan deze rollen of door de gebruiker bepaalde machtigingen op object niveautoe te kennen.Permissions are controlled by adding user accounts to database roles and assigning database-level permissions to those roles or by granting the user certain object-level permissions. Zie aanmeldingen en gebruikers voor meer informatieFor more information, see Logins and users

Maak als best practice aangepaste rollen wanneer dat nodig is.As a best practice, create custom roles when needed. Voeg gebruikers toe aan de rol met de mini maal benodigde bevoegdheden voor het uitvoeren van hun functie.Add users to the role with the least privileges required to do their job function. Wijs machtigingen niet rechtstreeks toe aan gebruikers.Do not assign permissions directly to users. Het account van de server beheerder is lid van de ingebouwde db_owner rol, met uitgebreide machtigingen en mag alleen worden toegekend aan een beperkt aantal gebruikers met beheerders rechten.The server admin account is a member of the built-in db_owner role, which has extensive permissions and should only be granted to few users with administrative duties. Gebruik voor toepassingen de uitvoeren als om de uitvoerings context van de aangeroepen module op te geven of gebruik toepassings rollen met beperkte machtigingen.For applications, use the EXECUTE AS to specify the execution context of the called module or use Application Roles with limited permissions. Op deze manier zorgt u ervoor dat de toepassing die verbinding maakt met de data base, over de minste bevoegdheden beschikt die nodig zijn voor de toepassing.This practice ensures that the application that connects to the database has the least privileges needed by the application. Het volgen van deze aanbevolen procedures bevordert ook de schei ding van taken.Following these best practices also fosters separation of duties.

Beveiliging op rijniveauRow-level security

Met beveiliging op rijniveau kunnen klanten de toegang tot rijen in een database tabel beheren op basis van de kenmerken van de gebruiker die een query uitvoert (bijvoorbeeld groepslid maatschap of uitvoerings context).Row-Level Security enables customers to control access to rows in a database table based on the characteristics of the user executing a query (for example, group membership or execution context). Beveiliging op rijniveau kan ook worden gebruikt voor het implementeren van op aangepaste labels gebaseerde beveiligings concepten.Row-Level Security can also be used to implement custom Label-based security concepts. Zie beveiliging op rijniveauvoor meer informatie.For more information, see Row-Level security.

azure-database-rls.png

Threat ProtectionThreat protection

SQL Database en SQL Managed instance beveiligde klant gegevens door de mogelijkheden voor controle en detectie van bedreigingen op te geven.SQL Database and SQL Managed Instance secure customer data by providing auditing and threat detection capabilities.

SQL-controle in Azure Monitor logboeken en Event HubsSQL auditing in Azure Monitor logs and Event Hubs

SQL Database en SQL Managed instance audit traceert database activiteiten en helpt bij het behoud van de naleving van beveiligings standaarden door database gebeurtenissen te registreren bij een audit logboek in een Azure Storage-account dat eigendom is van de klant.SQL Database and SQL Managed Instance auditing tracks database activities and helps maintain compliance with security standards by recording database events to an audit log in a customer-owned Azure storage account. Met controle kunnen gebruikers doorlopende database activiteiten bewaken en historische activiteiten analyseren en onderzoeken om mogelijke dreigingen of verdachte misbruik en beveiligings schendingen te identificeren.Auditing allows users to monitor ongoing database activities, as well as analyze and investigate historical activity to identify potential threats or suspected abuse and security violations. Zie aan de slag met SQL database auditingvoor meer informatie.For more information, see Get started with SQL Database Auditing.

Advanced Threat ProtectionAdvanced Threat Protection

Geavanceerde beveiliging tegen bedreigingen is een analyse van uw logboeken om ongebruikelijk gedrag en mogelijk schadelijke pogingen om toegang te krijgen tot data bases te detecterenAdvanced Threat Protection is analyzing your logs to detect unusual behavior and potentially harmful attempts to access or exploit databases. Er worden waarschuwingen gemaakt voor verdachte activiteiten, zoals SQL-injectie, mogelijke gegevens infiltratie en beveiligings aanvallen, of voor afwijkingen in toegangs patronen om escalaties van bevoegdheden te ondervangen en gekraakte referenties te gebruiken.Alerts are created for suspicious activities such as SQL injection, potential data infiltration, and brute force attacks or for anomalies in access patterns to catch privilege escalations and breached credentials use. Er worden waarschuwingen weer gegeven uit de Azure Security Center, waar de details van de verdachte activiteiten worden verstrekt en aanbevelingen voor verder onderzoek worden gegeven, samen met acties voor het beperken van de dreiging.Alerts are viewed from the Azure Security Center, where the details of the suspicious activities are provided and recommendations for further investigation given along with actions to mitigate the threat. Geavanceerde beveiliging tegen bedreigingen kan per server worden ingeschakeld voor extra kosten.Advanced Threat Protection can be enabled per server for an additional fee. Zie aan de slag met SQL database Advanced Threat Protectionvoor meer informatie.For more information, see Get started with SQL Database Advanced Threat Protection.

azure-database-td.jpg

Gegevens beveiliging en-versleutelingInformation protection and encryption

Transport Layer Security (versleuteling-in-transit)Transport Layer Security (Encryption-in-transit)

SQL Database en SQL Managed instance beveiligde klant gegevens door gegevens in beweging te versleutelen met Transport Layer Security (TLS).SQL Database and SQL Managed Instance secure customer data by encrypting data in motion with Transport Layer Security (TLS).

SQL Database en SQL Managed instance worden te allen tijde Encryption (SSL/TLS) afgedwongen voor alle verbindingen.SQL Database and SQL Managed Instance enforce encryption (SSL/TLS) at all times for all connections. Dit zorgt ervoor dat alle gegevens in transit tussen de client en server worden versleuteld, ongeacht de instelling van versleutelen of TrustServerCertificate in de Connection String.This ensures all data is encrypted "in transit" between the client and server irrespective of the setting of Encrypt or TrustServerCertificate in the connection string.

Als best practice kunt u het beste een versleutelde verbinding opgeven in de connection string die door de toepassing wordt gebruikt en het server certificaat niet vertrouwen.As a best practice, recommend that in the connection string used by the application, you specify an encrypted connection and not trust the server certificate. Dit dwingt uw toepassing af om het server certificaat te verifiëren en zorgt er daarom voor dat uw toepassing kwetsbaar is voor man in het middelste type aanvallen.This forces your application to verify the server certificate and thus prevents your application from being vulnerable to man in the middle type attacks.

Als u bijvoorbeeld het ADO.NET-stuur programma gebruikt, wordt dit bereikt via versleutelen = True en TrustServerCertificate = False.For example when using the ADO.NET driver this is accomplished via Encrypt=True and TrustServerCertificate=False. Als u uw connection string van de Azure Portal opvraagt, worden de juiste instellingen weer geven.If you obtain your connection string from the Azure portal, it will have the correct settings.

Belangrijk

Houd er rekening mee dat sommige niet-micro soft-Stuur Programma's standaard geen gebruikmaken van TLS of gebruikmaken van een oudere versie van TLS (<1,2) om te kunnen werken.Note that some non-Microsoft drivers may not use TLS by default or rely on an older version of TLS (<1.2) in order to function. In dit geval kunt u met de server nog steeds verbinding maken met uw data base.In this case the server still allows you to connect to your database. We raden u echter aan de beveiligings Risico's te evalueren waarmee dergelijke Stuur Programma's en toepassingen verbinding kunnen maken met SQL Database, met name als u gevoelige gegevens opslaat.However, we recommend that you evaluate the security risks of allowing such drivers and application to connect to SQL Database, especially if you store sensitive data.

Zie voor meer informatie over TLS en connectiviteit TLS-overwegingenFor further information about TLS and connectivity, see TLS considerations

Transparent Data Encryption (versleuteling-at-rest)Transparent Data Encryption (Encryption-at-rest)

Transparent Data Encryption (TDE) voor Azure SQL database en SQL Managed instance voegt een beveiligingslaag toe om gegevens op rest te helpen beschermen tegen onbevoegde of offline toegang tot onbewerkte bestanden of back-ups.Transparent Data Encryption (TDE) for Azure SQL Database and SQL Managed Instance adds a layer of security to help protect data at rest from unauthorized or offline access to raw files or backups. Veelvoorkomende scenario's zijn onder andere het vergoedings proces van data centers of de verwijdering van hardware of media, zoals schijf stations en back-uptapes.Common scenarios include data center theft or unsecured disposal of hardware or media such as disk drives and backup tapes.TDE versleutelt de gehele data base met behulp van een AES-versleutelings algoritme, waarvoor ontwikkel aars van toepassingen geen wijzigingen in bestaande toepassingen hoeven aan te brengen. TDE encrypts the entire database using an AES encryption algorithm, which doesn't require application developers to make any changes to existing applications.

In Azure worden alle nieuw gemaakte data bases standaard versleuteld en wordt de database versleutelings sleutel beveiligd door een ingebouwd server certificaat.In Azure, all newly created databases are encrypted by default and the database encryption key is protected by a built-in server certificate. Het onderhoud en de rotatie van het certificaat worden beheerd door de service en vereisen geen invoer van de gebruiker.Certificate maintenance and rotation are managed by the service and require no input from the user. Klanten die de controle over de versleutelings sleutels liever overnemen, kunnen de sleutels in Azure Key Vaultbeheren.Customers who prefer to take control of the encryption keys can manage the keys in Azure Key Vault.

Sleutel beheer met Azure Key VaultKey management with Azure Key Vault

Met Bring your own Key -ondersteuning (BYOK) voor transparent Data Encryption (TDE) kunnen klanten eigenaar worden van sleutel beheer en draaiing met behulp van Azure Key Vault, het op de cloud gebaseerde externe sleutel beheer systeem van Azure.Bring Your Own Key (BYOK) support for Transparent Data Encryption (TDE) allows customers to take ownership of key management and rotation using Azure Key Vault, Azure's cloud-based external key management system. Als de data base toegang tot de sleutel kluis wordt ingetrokken, kan een Data Base niet worden ontsleuteld en in het geheugen worden gelezen.If the database's access to the key vault is revoked, a database cannot be decrypted and read into memory. Azure Key Vault biedt een centraal platform voor sleutel beheer, maakt gebruik van nauw bewaakte Hardware Security modules (Hsm's) en stelt schei ding van taken mogelijk te maken tussen het beheer van sleutels en gegevens om te voldoen aan de vereisten voor naleving van de beveiliging.Azure Key Vault provides a central key management platform, leverages tightly monitored hardware security modules (HSMs), and enables separation of duties between management of keys and data to help meet security compliance requirements.

Always Encrypted (versleuteling-in-gebruik)Always Encrypted (Encryption-in-use)

azure-database-ae.png

Always encrypted is een functie die is ontworpen om gevoelige gegevens die zijn opgeslagen in specifieke database kolommen, te beveiligen tegen toegang (bijvoorbeeld creditcard nummers, nationale identificatie nummers of gegevens die op basis van kennis moeten worden genoteerd).Always Encrypted is a feature designed to protect sensitive data stored in specific database columns from access (for example, credit card numbers, national identification numbers, or data on a need to know basis). Dit zijn onder andere database beheerders of andere bevoegde gebruikers die gemachtigd zijn om toegang te krijgen tot de data base om beheer taken uit te voeren, maar geen toegang hebben tot de specifieke gegevens in de versleutelde kolommen.This includes database administrators or other privileged users who are authorized to access the database to perform management tasks, but have no business need to access the particular data in the encrypted columns. De gegevens worden altijd versleuteld, wat betekent dat de versleutelde gegevens alleen worden ontsleuteld voor verwerking door client toepassingen met toegang tot de versleutelings sleutel.The data is always encrypted, which means the encrypted data is decrypted only for processing by client applications with access to the encryption key. De versleutelings sleutel wordt nooit blootgesteld aan SQL Database of een door SQL beheerd exemplaar en kan worden opgeslagen in het Windows-certificaat archief of in Azure Key Vault.The encryption key is never exposed to SQL Database or SQL Managed Instance and can be stored either in the Windows Certificate Store or in Azure Key Vault.

Dynamische gegevensmaskeringDynamic data masking

azure-database-ddm.png

Dynamische gegevens maskering beperkt de bloot stelling van gevoelige gegevens door deze te maskeren voor niet-bevoegde gebruikers.Dynamic data masking limits sensitive data exposure by masking it to non-privileged users. Met dynamische gegevens maskering worden mogelijk gevoelige gegevens in Azure SQL Database en SQL Managed instance automatisch gedetecteerd en kunnen actie-aanbevelingen worden gemaskeerd om deze velden te maskeren, met minimale impact op de toepassingslaag.Dynamic data masking automatically discovers potentially sensitive data in Azure SQL Database and SQL Managed Instance and provides actionable recommendations to mask these fields, with minimal impact to the application layer. 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.It works by obfuscating the sensitive data in the result set of a query over designated database fields, while the data in the database is not changed. Zie aan de slag met SQL database en SQL Managed instance Dynamic Data masking(Engelstalig) voor meer informatie.For more information, see Get started with SQL Database and SQL Managed Instance dynamic data masking.

BeveiligingsbeheerSecurity management

Evaluatie van beveiligingsproblemenVulnerability assessment

Evaluatie van beveiligings problemen is een eenvoudig te configureren service waarmee mogelijke beveiligings problemen met een Data Base kunnen worden gedetecteerd, gevolgd en opgelost, waardoor de algehele beveiliging van de data base proactief wordt verbeterd.Vulnerability assessment is an easy to configure service that can discover, track, and help remediate potential database vulnerabilities with the goal to proactively improve overall database security. Beoordeling van beveiligings problemen (VA) maakt deel uit van de geavanceerde gegevens beveiliging. Dit is een uniform pakket voor geavanceerde SQL-beveiligings mogelijkheden.Vulnerability assessment (VA) is part of the advanced data security offering, which is a unified package for advanced SQL security capabilities. De evaluatie van beveiligings problemen kan worden geopend en beheerd via de centrale SQL Advanced Data Security-Portal.Vulnerability assessment can be accessed and managed via the central SQL Advanced Data Security portal.

Gegevensdetectie en -classificatieData discovery and classification

Gegevens detectie en-classificatie (momenteel in Preview) biedt geavanceerde functies die zijn ingebouwd in Azure SQL Database en SQL Managed instance voor het detecteren, classificeren, labelen en beveiligen van gevoelige gegevens in uw data bases.Data discovery and classification (currently in preview) provides advanced capabilities built into Azure SQL Database and SQL Managed Instance for discovering, classifying, labeling, and protecting the sensitive data in your databases. Het detecteren en classificeren van uw meest gevoelige gegevens (bedrijfs-en financiële, gezondheids zorg, persoonlijke gegevens, enz.) kunnen een rol draaien in uw organisatie voor Information Protection stature.Discovering and classifying your utmost sensitive data (business/financial, healthcare, personal data, etc.) can play a pivotal role in your organizational Information protection stature. Dit kan dienen als infrastructuur om:It can serve as infrastructure for:

  • Diverse beveiligings scenario's, zoals controle (controle) en waarschuwingen over afwijkende toegang tot gevoelige gegevens.Various security scenarios, such as monitoring (auditing) and alerting on anomalous access to sensitive data.
  • Het beheren van toegang tot en het beveiligen van de beveiliging van data bases met zeer gevoelige gegevens.Controlling access to, and hardening the security of, databases containing highly sensitive data.
  • Te helpen voldoen aan standaarden op het gebied van gegevensbescherming en aan vereisten voor naleving van regelgeving.Helping meet data privacy standards and regulatory compliance requirements.

Zie aan de slag met gegevens detectie en-classificatievoor meer informatie.For more information, see Get started with data discovery and classification.

NalevingCompliance

Naast de bovenstaande functies en functionaliteit die uw toepassing kunnen helpen voldoen aan verschillende beveiligings vereisten, is Azure SQL Database ook betrokken bij regel matige controles en is gecertificeerd voor een aantal nalevings standaarden.In addition to the above features and functionality that can help your application meet various security requirements, Azure SQL Database also participates in regular audits, and has been certified against a number of compliance standards. Zie het vertrouwens centrum van Microsoft Azure voor meer informatie over de meest recente lijst met SQL database nalevings certificeringen.For more information, see the Microsoft Azure Trust Center where you can find the most current list of SQL Database compliance certifications.

Volgende stappenNext steps