Delen via


Zelfstudie: Een database beveiligen in Azure SQL Database

van toepassing op:Azure SQL Database-

In deze zelfstudie leert u het volgende:

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

Notitie

Microsoft Entra ID voorheen Azure Active Directory (Azure AD) werd genoemd.

Azure SQL Database beveiligt gegevens door het volgende mogelijk te maken:

  • Toegang beperken met behulp van firewallregels
  • Verificatiemechanismen gebruiken waarvoor identiteit is vereist
  • Gebruik autorisatie met rolegebaseerde lidmaatschappen en machtigingen
  • Beveiligingsfuncties inschakelen

Notitie

Azure SQL Managed Instance wordt beveiligd met behulp van netwerkbeveiligingsregels en privé-eindpunten, zoals beschreven in Azure SQL Managed Instance en connectiviteitsarchitectuur.

Voor meer informatie, zie het Azure SQL Database-beveiligingsoverzicht en de mogelijkheden artikelen.

Tip

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

Voorwaarden

Zorg ervoor dat u aan de volgende vereisten voldoet om de zelfstudie te voltooien:

Als u geen Azure-abonnement hebt, maak dan een gratis account aan voordat u begint.

Aanmelden bij Azure Portal

Meld u voor alle stappen in de zelfstudie aan bij de Azure Portal

Firewallregels maken

Databases in SQL Database worden beveiligd door firewalls in Azure. Standaard worden alle verbindingen met de server en database geweigerd. Zie firewallregels op server- en databaseniveauvoor meer informatie.

Stel Toegang tot Azure-services toestaan in op UIT voor de meest veilige configuratie. Maak vervolgens een gereserveerd IP-adres (klassieke implementatie) voor de resource die verbinding moet maken, zoals een Azure-VM of cloudservice, en alleen dat IP-adres toegang via de firewall toestaan. Als u het Resource Manager-implementatiemodel gebruikt, is een toegewezen openbaar IP-adres vereist voor elke resource.

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 door de firewall van uw netwerk. Zo ja, dan kunt u geen verbinding maken met de server, tenzij de beheerder poort 1433 opent.

Firewallregels op serverniveau instellen

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

Een firewallregel op serverniveau instellen:

  1. Selecteer in Azure Portal SQL-databases in het menu aan de linkerkant en selecteer uw database op de pagina SQL-databases.

    schermopname van de pagina Azure Portal voor een logische SQL-database, waarbij de servernaam wordt gemarkeerd.

    Notitie

    Zorg ervoor dat u de volledig gekwalificeerde servernaam (zoals yourserver.database.windows.net) kopieert voor later gebruik 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.

    Schermopname van de pagina Netwerken in Azure Portal voor een logische SQL Server, met de IP-firewallregel op serverniveau.

  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 één IP-adres of een bereik van 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.

Firewallregels voor databases instellen

Firewallregels op databaseniveau zijn alleen van toepassing op afzonderlijke databases. De database behoudt deze regels tijdens een serverfailover. Firewallregels op databaseniveau kunnen alleen worden geconfigureerd met behulp van Transact-SQL -instructies (T-SQL) en pas nadat u een firewallregel op serverniveau hebt geconfigureerd.

Een firewallregel op databaseniveau instellen:

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

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

  3. Voeg in het queryvenster deze instructie toe en wijzig het IP-adres 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 op de werkbalk Voer uit 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 database.

Een Microsoft Entra-beheerder maken

Zorg ervoor dat u het juiste door Microsoft Entra ID (voorheen Azure Active Directory) beheerde 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.

Schermopname van het Azure-portaal met de pagina Directory + abonnementsfilter, waar u de directory zou kunnen kiezen.

De Microsoft Entra-beheerder instellen:

  1. Selecteer in Azure Portal op de pagina SQL ServerMicrosoft Entra ID in het resourcemenu en selecteer vervolgens Beheerder instellen om het deelvenster Microsoft Entra ID te openen.

    Schermopname van de Azure Portal-pagina Microsoft Entra ID voor een logische server.

    Belangrijk

    U moet een beheerder van bevoorrechte rollen of een hogere rol 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 worden grijs weergegeven niet ondersteund als Microsoft Entra-beheerders.

    schermopname van de azure-portalpagina om een Microsoft Entra-beheerder toe te voegen.

    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 boven aan de pagina Microsoft Entra-beheerderOpslaan.

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

Notitie

Wanneer u een Microsoft Entra-beheerder instelt, kan de nieuwe beheerdersnaam (gebruiker of groep) niet bestaan als een aanmelding of gebruiker in de hoofddatabase. Indien aanwezig, mislukt de installatie en worden wijzigingen teruggedraaid, waarmee wordt aangegeven dat er al een dergelijke beheerdersnaam 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

Databasetoegang beheren door gebruikers toe te voegen aan de database of gebruikerstoegang met beveiligde verbindingsreeksen toe te staan. Verbindingsreeksen zijn handig voor externe toepassingen. Zie Aanmeldingen en gebruikersaccounts beheren en Microsoft Entra-verificatievoor meer informatie.

Als u gebruikers wilt toevoegen, kiest u het type databaseverificatie:

  • SQL-verificatie, gebruik een gebruikersnaam en wachtwoord voor aanmeldingen en zijn alleen geldig in de context van een specifieke database binnen de server

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

SQL-verificatie

Een gebruiker met SQL-verificatie toevoegen:

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

  2. Klik in Objectverkennermet 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 op de werkbalk Voer uit om de gebruiker te maken.

  5. De gebruiker kan standaard verbinding maken met de database, maar heeft geen machtigingen voor het lezen of schrijven van gegevens. Als u deze machtigingen wilt verlenen, 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 moeten 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 draagbare en bekijk de Microsoft Entra-zelfstudie over verificatie met behulp van Microsoft Entra ID.

Notitie

Databasegebruikers (met uitzondering van beheerders) kunnen niet worden gemaakt met behulp van Azure Portal. 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.

De rol SQL Server-inzender verleent bijvoorbeeld geen toegang om verbinding te maken met een database of datawarehouse. Deze machtiging moet worden verleend in de database met behulp van T-SQL-instructies.

Belangrijk

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

Een gebruiker toevoegen met Microsoft Entra-verificatie:

  1. Maak verbinding met uw server in Azure met behulp van een Microsoft Entra-account met ten minste de ALTER ANY USER machtiging.

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

  3. Voer in het queryvenster de volgende opdracht in en wijzig <Azure_AD_principal_name> 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 het type E (EXTERNAL_USER) en X (EXTERNAL_GROUPS) voor groepen. Zie sys.database_principalsvoor meer informatie.

Verbindingsreeksen beveiligen

Om een beveiligde, versleutelde verbinding tussen de clienttoepassing en SQL Database te garanderen, moet er een verbindingsreeks worden geconfigureerd voor:

  • Een versleutelde verbinding aanvragen
  • Het servercertificaat niet vertrouwen

De verbinding wordt tot stand gebracht met TLS (Transport Layer Security) en vermindert het risico van een man-in-the-middle-aanval. Verbindingsreeksen zijn beschikbaar per database en zijn vooraf geconfigureerd ter ondersteuning van clientstuurprogramma's zoals ADO.NET, JDBC, ODBC en PHP. Zie TLS-overwegingenvoor meer informatie over TLS en connectiviteit.

Een beveiligde verbindingsreeks kopiëren:

  1. Selecteer in Azure Portal SQL-databases in het menu aan de linkerkant en selecteer uw database op de pagina SQL-databases.

  2. Selecteer op de pagina Overzicht de optie Databaseverbindingsreeksen weergeven.

  3. Selecteer een stuurprogrammatabblad en kopieer de volledige verbindingsreeks.

    Schermopname van Azure Portal met de pagina verbindingsreeksen. Het tabblad ADO.NET is geselecteerd en de verbindingsreeks ADO.NET (SQL-verificatie) wordt weergegeven.

Beveiligingsfuncties inschakelen

Azure SQL Database biedt beveiligingsfuncties die toegankelijk zijn via Azure Portal. Deze functies zijn beschikbaar voor zowel de database als de server, met uitzondering van gegevensmaskering, die alleen beschikbaar is in de database. Zie voor meer informatie Microsoft Defender voor SQL, Controleren, Dynamische gegevensmaskeringen Transparante gegevensversleuteling.

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 deze verdachte gebeurtenissen verkennen met behulp van de controlefunctie en bepalen of de gebeurtenis toegang heeft tot, inbreuk maakt op of misbruik maakt 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 injecteren in toepassingsinvoer. Een toepassing kan vervolgens onbewust de schadelijke SQL uitvoeren en aanvallers toegang geven tot inbreuk of het wijzigen van gegevens in de database.

Microsoft Defender voor SQL inschakelen:

  1. Selecteer in Azure Portal SQL-databases in het menu aan de linkerkant en selecteer uw database op de pagina SQL-databases.

  2. Selecteer op de pagina Overzicht de Servernaam link. De serverpagina wordt geopend.

  3. Zoek op de pagina SQL Server de sectie Security en selecteer Defender for Cloud.

    1. Selecteer ON onder Microsoft Defender voor SQL- om de functie in te schakelen. Kies een opslagaccount voor het opslaan van resultaten van evaluatie van beveiligingsproblemen. Selecteer vervolgens Opslaan.

      Schermopname van het navigatiedeelvenster van Azure Portal voor instellingen voor detectie van bedreigingen.

      U kunt ook e-mailberichten configureren voor het ontvangen van beveiligingswaarschuwingen, opslagdetails en typen bedreigingsdetectie.

  4. Ga terug naar de sql-databases pagina van uw database en selecteer Defender for Cloud in de sectie Security. Hier vindt u verschillende beveiligingsindicatoren die beschikbaar zijn voor de database.

    Schermopname van de pagina Bedreigingsstatus van Azure Portal met cirkeldiagrammen voor gegevensdetectie & classificatie, evaluatie van beveiligingsproblemen en detectie van bedreigingen.

Als afwijkende activiteiten worden gedetecteerd, ontvangt u een e-mailbericht met informatie over de gebeurtenis. Dit omvat de aard van de activiteit, database, server, gebeurtenistijd, mogelijke oorzaken en aanbevolen acties om de potentiële bedreiging te onderzoeken en te beperken. Als een dergelijke e-mail wordt ontvangen, selecteert u de Azure SQL-controlelogboekverwijzing om de Azure-portal te starten en relevante controlerecords weer te geven voor het tijdstip van de gebeurtenis.

Schermopname van een voorbeeld-e-mail van Azure, waarmee een detectie van bedreigingen voor sql-injectie wordt aangegeven. Er is een koppeling in de hoofdtekst van het e-mailbericht naar Auditlogboeken van Azure SQL DB gemarkeerd.

Controle

De controlefunctie houdt databasegebeurtenissen bij en schrijft gebeurtenissen naar een auditlogboek in Azure Storage, Azure Monitor-logboeken of naar een Event Hub. Controle helpt naleving van regelgeving te behouden, inzicht te krijgen in databaseactiviteit en inzicht te krijgen in verschillen en afwijkingen die kunnen duiden op mogelijke schendingen van de beveiliging.

Om controle in te schakelen:

  1. Selecteer in Azure Portal SQL-databases in het menu aan de linkerkant en selecteer uw database op de pagina SQL-databases.

  2. Selecteer Auditingin de Security sectie.

  3. Stel onder -instellingen controleren de volgende waarden in:

    1. Stel Audit- in op AAN.

    2. Selecteer bestemming van het auditlogboek als een van de volgende:

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

        Fooi

        Gebruik hetzelfde opslagaccount voor alle gecontroleerde databases om optimaal gebruik te maken van rapportsjablonen voor controle.

      • Log Analytics-, waarin automatisch gebeurtenissen worden opgeslagen voor query's of verdere analyse

        Notitie

        Een Log Analytics-werkruimte is vereist om geavanceerde functies te ondersteunen, zoals analyses, aangepaste waarschuwingsregels en Excel- of Power BI-exports. Zonder een werkruimte is alleen de query-editor beschikbaar.

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

    3. Selecteer opslaan.

      Schermopname van de pagina Auditinstellingen in Azure Portal. De knop Opslaan is gemarkeerd. Doelvelden voor auditlogboeken zijn gemarkeerd.

  4. U kunt nu Controlelogboeken weergeven selecteren om database-evenementgegevens te bekijken.

    Schermopname van de pagina Azure Portal met auditrecords voor een SQL-database.

Belangrijk

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

Dynamische gegevensmaskering

De functie voor gegevensmaskering verbergt automatisch gevoelige gegevens in uw database.

Gegevensmaskering inschakelen:

  1. Selecteer in Azure Portal SQL-databases in het menu aan de linkerkant en selecteer uw database op de pagina SQL-databases.

  2. Selecteer in de sectie BeveiligingDynamic Data Masking.

  3. Selecteer onder Instellingen voor dynamische gegevensmaskeringMasker toevoegen om een maskeringsregel toe te voegen. In Azure worden automatisch beschikbare databaseschema's, tabellen en kolommen ingevuld waaruit u kunt kiezen.

    schermopname van de pagina Azure Portal voor het opslaan of toevoegen van velden voor dynamisch gegevensmasker. Aanbevolen velden om het weergaveschema, de tabel en de kolommen van tabellen te maskeren.

  4. Selecteer opslaan. De geselecteerde informatie wordt nu gemaskeerd voor privacy.

    schermopname van SQL Server Management Studio (SSMS) met een eenvoudige INSERT- en SELECT-instructie. De SELECT-instructie geeft gemaskeerde gegevens weer in de kolom LastName.

Transparante gegevensversleuteling

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

Versleuteling inschakelen of verifiëren:

  1. Selecteer in Azure Portal SQL-databases in het menu aan de linkerkant en selecteer uw database op de pagina SQL-databases.

  2. Selecteer in de sectie Securitytransparante gegevensversleuteling.

  3. Stel indien nodig Gegevensversleuteling in op AAN. Selecteer opslaan.

    schermopname van de pagina Azure Portal om Transparent Data Encryption in te schakelen.

Notitie

Als u de versleutelingsstatus wilt weergeven, maakt u verbinding met de database met behulp van SSMS- en voert u een query uit op de encryption_state kolom van de sys.dm_database_encryption_keys weergave. Een status van 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.

Fooi

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 query's worden uitgevoerd op een Azure SQL Database-, inclusief het maken van een eenvoudige database.

Volgende stap

Ga verder met de volgende zelfstudie om te leren hoe je geo-distributie implementeert.