Zelfstudie: Een database beveiligen in Azure SQL Database

Van toepassing op: Azure SQL Database

In deze zelfstudie leert u het volgende:

  • Firewallregels op server- en databaseniveau maken
  • Een Microsoft Entra-beheerder configureren
  • Gebruikerstoegang beheren met SQL-verificatie, Microsoft Entra-verificatie en beveiligde verbindingsreeks s
  • Beveiligingsfuncties inschakelen, zoals Microsoft Defender voor SQL, controle, gegevensmaskering en versleuteling

Notitie

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

Met Azure SQL Database kunt u gegevens beveiligen door:

  • Toegang te beperken met behulp van firewallregels
  • Verificatiemechanismen die identiteit vereisen
  • Autorisatie via op rollen gebaseerde lidmaatschappen en machtigingen
  • Beveiligingsfuncties inschakelen

Notitie

Een beheerd exemplaar voor Azure SQL wordt beveiligd met behulp van netwerkbeveiligingsregels en privé-eindpunten, zoals beschreven in Beheerd exemplaar voor Azure SQL en connectiviteitsarchitectuur.

Zie voor meer informatie de artikelen Overzicht van Azure SQL Database-beveiliging en -mogelijkheden.

Tip

Deze gratis Learn-module laat zien hoe u uw database kunt beveiligen in Azure SQL Database.

Vereisten

Zorg dat u over het volgende beschikt als u de zelfstudie wilt uitvoeren:

Als u geen Azure-abonnement hebt, maakt u een gratis account voordat u begint.

Meld u aan bij Azure Portal

Voor alle stappen in deze zelfstudie moet u zich aanmelden bij de Azure-portal

Firewallregels maken

Databases in SQL Database worden in Azure beveiligd door een firewall. Standaard worden alle verbindingen met de server en database geweigerd. Zie voor meer informatie Firewallregels op server- en databaseniveau maken.

Stel Toegang tot Azure services toestaan in op UIT voor de veiligste configuratie. Vervolgens maakt u een gereserveerd IP-adres (klassieke implementatie) voor de resource die verbinding moet maken, zoals een Azure-VM of cloudservice, en laat u alleen dat IP-adres toe door de firewall. Als u het Resource Manager-implementatiemodel gebruikt, is er voor elke resource een toegewezen openbaar IP-adres nodig.

Notitie

SQL Database communiceert via poort 1433. Als u verbinding probeert te maken vanuit een bedrijfsnetwerk, is uitgaand verkeer via poort 1433 mogelijk niet toegestaan vanwege de firewall van het netwerk. In dat geval kunt u geen verbinding maken met de server, tenzij de beheerder poort 1433 openstelt.

Firewallregels op serverniveau instellen

IP-firewallregels op serverniveau zijn van toepassing op alle databases binnen dezelfde server.

Stel als volgt een serverfirewallregel in:

  1. Selecteer in de Azure-portal SQL-databases in het menu links en selecteer uw database op de pagina SQL-databases.

    Screenshot of the Azure portal page for a logical SQL database, highlighting the server name.

    Notitie

    Kopieer de volledig gekwalificeerde naam van uw server (zoals uwserver.database.windows.net) voor gebruik verderop in de zelfstudie.

  2. Selecteer Netwerken onder Instellingen. Kies het tabblad Openbare toegang en selecteer vervolgens Geselecteerde netwerken onder Openbare netwerktoegang om de sectie Firewallregels weer te geven .

    Screenshot of the Azure portal Networking page for a logical SQL Server, showing the server-level IP firewall rule.

  3. Selecteer Client-IP toevoegen op de werkbalk om uw huidige IP-adres toe te voegen aan een nieuwe IP-firewallregel. Een IP-firewallregel kan poort 1433 openen voor een afzonderlijk IP-adres of voor een aantal IP-adressen.

  4. Selecteer OK om uw firewallinstellingen op te slaan.

U kunt nu verbinding maken met elke database op de server met het opgegeven IP-adres of IP-adresbereik.

Database-firewallregels instellen

Firewallregels op databaseniveau zijn alleen van toepassing op afzonderlijke databases. Deze regels worden tijdens een failover van de server bewaard in de database. Firewallregels op databaseniveau kunnen alleen worden geconfigureerd met behulp van T-SQL-instructies (Transact-SQL) en alleen nadat u een firewallregel op serverniveau hebt geconfigureerd.

Firewallregel op databaseniveau instellen:

  1. Maak verbinding met de database, bijvoorbeeld met behulp van SQL Server Management Studio.

  2. Klik in Objectverkenner met de rechtermuisknop op de database en selecteer Nieuwe query.

  3. Voeg in het queryvenster de volgende instructie toe, waarbij u het IP-adres wijzigt in uw openbare IP-adres:

    EXECUTE sp_set_database_firewall_rule N'Example DB Rule','0.0.0.4','0.0.0.4';
    
  4. Selecteer Uitvoeren op de werkbalk om de firewallregel te maken.

Notitie

U kunt ook een firewallregel op serverniveau maken in SSMS met behulp van de opdracht sp_set_firewall_rule, maar u moet zijn verbonden met de hoofddatabase.

Een Microsoft Entra-beheerder maken

Zorg ervoor dat u de juiste door Microsoft Entra ID (voorheen Azure Active Directory) beheerd domein gebruikt. Als u uw domein wilt selecteren, gebruikt u de rechterbovenhoek van Azure Portal. Dit proces bevestigt dat hetzelfde abonnement wordt gebruikt voor zowel Microsoft Entra ID als de logische server die als host fungeert voor uw database of datawarehouse.

Screenshot of the Azure portal showing the Directory + subscription filter page, where you would choose the directory.

De Microsoft Entra-beheerder instellen:

  1. Selecteer in De Azure-portal op de pagina SQL Server microsoft Entra-id in het resourcemenu en selecteer vervolgens Beheerder instellen om het deelvenster Microsoft Entra-id te openen.

    Screenshot of the Azure portal Microsoft Entra ID page for a logical server.

    Belangrijk

    U moet een 'Global Beheer istrator' zijn om deze taak uit te voeren.

  2. Zoek en selecteer in het deelvenster Microsoft Entra-id de Microsoft Entra-gebruiker of -groep en kies Selecteren. Alle leden en groepen van uw Microsoft Entra-organisatie worden vermeld en vermeldingen die grijs worden weergegeven, worden niet ondersteund als Microsoft Entra-beheerders. Zie functies en beperkingen van Microsoft Entra.

    Screenshot of the Azure portal page to add a Microsoft Entra admin.

    Belangrijk

    Op rollen gebaseerd toegangsbeheer van Azure (Azure RBAC) is alleen van toepassing op de portal en wordt niet doorgegeven aan SQL Server.

  3. Selecteer Opslaan boven aan de microsoft Entra-beheerpagina.

    Het wijzigen van een beheerder kan enkele minuten duren. De nieuwe beheerder wordt weergegeven in het beheerdersveld Microsoft Entra .

Notitie

Wanneer u een Microsoft Entra-beheerder instelt, kan de nieuwe beheerdersnaam (gebruiker of groep) niet bestaan als aanmelding of gebruiker in de hoofddatabase . Als deze aanwezig is, mislukt de installatie en worden de wijzigingen teruggedraaid, en wordt aangegeven dat die beheerdersnaam al bestaat. Omdat de serveraanmelding of -gebruiker geen deel uitmaakt van Microsoft Entra ID, mislukt het verbinden van de gebruiker met behulp van Microsoft Entra-verificatie.

Zie voor meer informatie over het configureren van Microsoft Entra-id:

Databasetoegang beheren

Beheer databasetoegang door gebruikers toe te voegen aan de database, of door gebruikerstoegang met beveiligde verbindingsreeksen toe te staan. Verbindingsreeksen zijn nuttig voor externe toepassingen. Zie Aanmeldingen en gebruikersaccountsen Microsoft Entra-verificatie beheren voor meer informatie.

Kies het databaseverificatietype om gebruikers toe te voegen:

  • SQL-verificatie, waarbij voor aanmelding gebruikersnamen en wachtwoorden worden gebruikt die alleen geldig zijn in de context van een bepaalde database binnen de server

  • Microsoft Entra-verificatie, identiteiten gebruiken die worden beheerd door Microsoft Entra-id

SQL-verificatie

Toevoegen van een gebruiker met SQL-verificatie:

  1. Maak verbinding met de database, bijvoorbeeld met behulp van SQL Server Management Studio.

  2. Klik in Objectverkenner met de rechtermuisknop op de database en kies Nieuwe query.

  3. Voer in het queryvenster de volgende opdracht in:

    CREATE USER ApplicationUser WITH PASSWORD = 'YourStrongPassword1';
    
  4. Selecteer Uitvoeren op de werkbalk om de gebruiker te maken.

  5. De standaardinstelling is dat de gebruiker verbinding kan maken met de database, maar geen machtigingen heeft om gegevens te lezen of te schrijven. Als u deze machtigingen wilt toekennen, voert u de volgende opdrachten uit in een nieuw queryvenster:

    ALTER ROLE db_datareader ADD MEMBER ApplicationUser;
    ALTER ROLE db_datawriter ADD MEMBER ApplicationUser;
    

Notitie

Maak niet-beheerdersaccounts op databaseniveau, tenzij ze beheerderstaken moet uitvoeren, zoals het maken van nieuwe gebruikers.

Microsoft Entra-verificatie

Omdat Azure SQL Database geen ondersteuning biedt voor Microsoft Entra-server-principals (aanmeldingen), worden databasegebruikers die zijn gemaakt met Microsoft Entra-accounts gemaakt als ingesloten databasegebruikers. Een ingesloten databasegebruiker is niet gekoppeld aan een aanmelding in de master database, zelfs als er een aanmelding met dezelfde naam bestaat. De Microsoft Entra-identiteit kan voor een afzonderlijke gebruiker of een groep zijn. Zie Ingesloten databasegebruikers voor meer informatie, maak uw database draagbaar en bekijk de Zelfstudie over Microsoft Entra over het verifiëren met behulp van Microsoft Entra ID.

Notitie

Databasegebruikers (behalve beheerders) kunnen niet in de Azure-portal worden gemaakt. Microsoft Entra-rollen worden niet doorgegeven aan SQL-servers, -databases of -datawarehouses. Ze worden alleen gebruikt voor het beheren van Azure-resources, en zijn niet van toepassing op databasemachtigingen.

Zo verleent de rol Inzender voor SQL Server geen toegang voor het maken van verbinding met een database of datawarehouse. Deze machtiging moet binnen de database worden verleend met behulp van T-SQL-instructies.

Belangrijk

Speciale tekens zoals dubbele punt : of en-teken & worden niet ondersteund in gebruikersnamen in de T-SQL-instructies CREATE LOGIN en CREATE USER.

Een gebruiker toevoegen met Microsoft Entra-verificatie:

  1. Verbinding maken naar uw server in Azure met behulp van een Microsoft Entra-account met ten minste de ALTER ANY USER permission.

  2. Klik in Objectverkenner met de rechtermuisknop op de database en selecteer Nieuwe query.

  3. Voer in het queryvenster de volgende opdracht in en wijzig <Azure_AD_principal_name> deze in de principal-naam van de Microsoft Entra-gebruiker of de weergavenaam van de Microsoft Entra-groep:

    CREATE USER [<Azure_AD_principal_name>] FROM EXTERNAL PROVIDER;
    

Notitie

Microsoft Entra-gebruikers worden gemarkeerd in de metagegevens van de database met type E (EXTERNAL_USER) en type X (EXTERNAL_GROUPS) voor groepen. Zie sys.database_principals voor meer informatie.

Beveiligde verbindingsreeksen

Om een beveiligde, gecodeerde verbinding tot stand te brengen tussen de clienttoepassing en SQL-database, moet er een verbindingsreeks worden geconfigureerd die:

  • Een versleutelde verbinding aanvraagt
  • Het servercertificaat niet vertrouwt

Er wordt verbinding gemaakt via TLS (Transport Layer Security), waardoor het risico op man-in-the-middle-aanvallen afneemt. Verbindingsreeksen zijn per database beschikbaar en zijn vooraf geconfigureerd om clientstuurprogramma’s zoals ADO.NET, JDBC, ODBC en PHP te ondersteunen. Voor informatie over TLS en connectiviteit, zie TLS-overwegingen.

Ga als volgt te werk om een beveiligde verbindingsreeks te kopiëren:

  1. Selecteer in de Azure-portal SQL-databases in het menu links en selecteer uw database op de pagina SQL-databases.

  2. Selecteer Databaseverbindingsreeksen tonen op de pagina Overzicht.

  3. Selecteer een stuurprogrammatabblad en kopieer de volledige verbindingsreeks.

    Screenshot of the Azure portal showing the connection strings page. The ADO.NET tab is selected and the ADO.NET (SQL authentication) connection string is displayed.

Beveiligingsfuncties inschakelen

Azure SQL Database biedt beveiligingsfuncties die toegankelijk zijn met behulp van de Azure-portal. Deze functies zijn beschikbaar voor zowel de database als de server, behalve gegevensmaskering, wat alleen beschikbaar is op de database. Zie Microsoft Defender voor SQL, Controle, Dynamische gegevensmaskering en Transparante gegevensversleuteling voor meer informatie.

Microsoft Defender voor SQL

De functie Microsoft Defender voor SQL detecteert potentiële bedreigingen wanneer deze optreden en biedt beveiligingswaarschuwingen voor afwijkende activiteiten. Gebruikers kunnen de controlefunctie gebruiken om deze verdachte gebeurtenissen te onderzoeken en te bepalen of die het gevolg zijn van pogingen om toegang te krijgen tot, of misbruik te maken van, gegevens in de database. Gebruikers krijgen ook een beveiligingsoverzicht met een evaluatie van beveiligingsproblemen en het hulpprogramma voor gegevensdetectie en -classificatie.

Notitie

Een voorbeeld van een bedreiging is SQL-injectie, een proces waarbij aanvallers schadelijke SQL in de invoer van de toepassing injecteren. Een toepassing kan dan onbewust de schadelijke SQL uitvoeren en aanvallers toegang geven om in te breken in de database of gegevens erin te wijzigen.

Microsoft Defender voor SQL inschakelen:

  1. Selecteer in de Azure-portal SQL-databases in het menu links en selecteer uw database op de pagina SQL-databases.

  2. Selecteer op de pagina Overzicht de koppeling Servernaam. De pagina Server wordt geopend.

  3. Zoek op de pagina SQL Server de sectie Beveiliging en selecteer Defender voor Cloud.

    1. Selecteer AAN onder Microsoft Defender voor SQL om de functie in te schakelen. Kies een opslagaccount om de evaluaties van beveiligingsproblemen in op te slaan. Selecteer vervolgens Opslaan.

      Screenshot of the Azure portal Navigation pane for threat detection settings.

      U kunt ook e-mailberichten configureren voor het ontvangen van beveiligingswaarschuwingen, opslaggegevens en detectie van typen bedreigingen.

  4. Ga terug naar de pagina SQL-databases van uw database en selecteer Defender voor Cloud onder de sectie Beveiliging. Hier vindt u verschillende beveiligingsindicatoren die beschikbaar zijn voor de database.

    Screenshot of the Azure portal Threat status page showing pie charts for Data Discovery & Classification, Vulnerability Assessment, and Threat Detection.

Als er afwijkende activiteiten worden gedetecteerd, ontvangt u een e-mailbericht met informatie over de gebeurtenis. Dit bevat de aard van de activiteit, database, server, tijd van de gebeurtenis, mogelijke oorzaken en aanbevolen acties om de potentiële dreiging te onderzoeken en tegen te gaan. Als een dergelijke e-mail wordt ontvangen, selecteert u de koppeling Azure SQL-auditlogboek om de Azure-portal te starten en relevante controlerecords weer te geven voor het tijdstip van de gebeurtenis.

Screenshot of a sample email from Azure, indicating a Potential Sql Injection Threat detection. A link in the body of the email to Azure SQL DB Audit Logs is highlighted.

Controle

De controlefunctie houdt databasegebeurtenissen bij en schrijft gebeurtenissen naar een auditlogboek in Azure-opslag, Azure Monitor-logboeken of naar een event hub. Dankzij controles kunt u wet- en regelgeving naleven en krijgt u inzicht in activiteiten in de database en in de afwijkingen en discrepanties die kunnen wijzen op mogelijke schendingen van de beveiliging.

Controle inschakelen:

  1. Selecteer in de Azure-portal SQL-databases in het menu links en selecteer uw database op de pagina SQL-databases.

  2. Selecteer Controle in de sectie Beveiliging.

  3. Stel bij de Controle-instellingen de volgende waarden in:

    1. Stel Controle in op AAN.

    2. Selecteer bij Bestemming voor auditlogboek een van de volgende mogelijkheden:

      • Storage, een Azure-opslagaccount waar gebeurtenislogboeken worden opgeslagen en als .xel-bestanden kunnen worden gedownload

        Tip

        Gebruik hetzelfde opslagaccount voor alle gecontroleerde databases om optimaal gebruik te maken van de sjablonen voor auditrapporten.

      • Log Analytics, waarin gebeurtenissen automatisch worden opgeslagen voor het uitvoeren query’s of verdere analyse

        Notitie

        Een Log Analytics-werkruimte is vereist voor de ondersteuning van geavanceerde functies zoals analyses, aangepaste waarschuwingsregels en uitvoer naar Excel of Power BI. Zonder een werkruimte is alleen de query-editor beschikbaar.

      • Event Hub, waarmee gebeurtenissen kunnen worden gerouteerd voor gebruik in andere toepassingen

    3. Selecteer Opslaan.

      Screenshot of the Azure portal Audit settings page. The Save button is highlighted. Audit log destination fields are highlighted.

  4. Nu kunt u Auditlogboeken weergeven om gegevens van databasegebeurtenissen weer te geven.

    Screenshot of the Azure portal page showing Audit records for a SQL database.

Belangrijk

Zie SQL Database controleren over het verder aanpassen van controlegebeurtenissen met behulp van PowerShell of REST API.

Dynamische gegevensmaskering

De functie voor het maskeren van gegevens verbergt automatisch gevoelige gegevens in uw database.

Gegevensmaskering inschakelen:

  1. Selecteer in de Azure-portal SQL-databases in het menu links en selecteer uw database op de pagina SQL-databases.

  2. Selecteer Dynamische gegevensmaskering in de sectie Beveiliging.

  3. Selecteer Masker toevoegen in de instellingen bij Dynamische gegevensmaskering om een maskeringsregel toe te voegen. Azure vult automatisch beschikbare databaseschema's, tabellen en kolommen in waaruit u kunt kiezen.

    Screenshot of the Azure portal page to Save or Add Dynamic Data Mask fields. Recommended fields to mask display schema, table, and columns of tables.

  4. Selecteer Opslaan. De geselecteerde gegevens wordt nu voor privacy gemaskeerd.

    Screenshot of SQL Server Management Studio (SSMS) showing a simple INSERT and SELECT statement. The SELECT statement displays masked data in the LastName column.

Transparent Data Encryption

De versleutelingsfunctie versleutelt automatisch uw data-at-rest en vereist geen wijzigingen in toepassingen die toegang hebben tot de versleutelde database. Voor nieuwe databases is versleuteling standaard ingeschakeld. U kunt gegevens ook versleutelen met behulp van SSMS en de functie Always Encrypted.

Versleuteling inschakelen of controleren:

  1. Selecteer in de Azure-portal SQL-databases in het menu links en selecteer uw database op de pagina SQL-databases.

  2. Selecteer Transparante gegevensversleuteling in de sectie Beveiliging.

  3. Zet Gegevensversleuteling indien nodig AAN. Selecteer Opslaan.

    Screenshot of the Azure portal page to enable Transparent Data Encryption.

Notitie

Als u de versleutelingsstatus wilt bekijken, maakt u verbinding met de database met behulp van SSMS en vraagt u de encryption_state-kolom van de weergave sys.dm_database_encrytion_keys op. De status 3 geeft aan dat de database is versleuteld.

Notitie

Sommige items die als klantinhoud worden beschouwd, zoals tabelnamen, objectnamen en indexnamen, kunnen worden verzonden in logboekbestanden voor ondersteuning en probleemoplossing door Microsoft.

Tip

Bent u klaar om te beginnen met het ontwikkelen van een .NET-toepassing? Deze gratis Learn-module laat zien hoe u een ASP.NET-toepassing ontwikkelt en configureert waarmee een query wordt uitgevoerd op een Azure SQL Database, inclusief het maken van een eenvoudige database.

Volgende stap

Ga door naar de volgende zelfstudie om te leren hoe u geo-replicatie kunt implementeren.