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:
- SQL Server Management Studio
- Een server en één database
- Maak deze met de Azure-portal, CLI of PowerShell
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:
Selecteer in de Azure-portal SQL-databases in het menu links en selecteer uw database op de pagina SQL-databases.
Notitie
Kopieer de volledig gekwalificeerde naam van uw server (zoals uwserver.database.windows.net) voor gebruik verderop in de zelfstudie.
Selecteer Netwerken onder Instellingen. Kies het tabblad Openbare toegang en selecteer vervolgens Geselecteerde netwerken onder Openbare netwerktoegang om de sectie Firewallregels weer te geven .
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.
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:
Maak verbinding met de database, bijvoorbeeld met behulp van SQL Server Management Studio.
Klik in Objectverkenner met de rechtermuisknop op de database en selecteer Nieuwe query.
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';
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.
De Microsoft Entra-beheerder instellen:
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.
Belangrijk
U moet een 'Global Beheer istrator' zijn om deze taak uit te voeren.
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.
Belangrijk
Op rollen gebaseerd toegangsbeheer van Azure (Azure RBAC) is alleen van toepassing op de portal en wordt niet doorgegeven aan SQL Server.
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:
- Uw on-premises identiteiten integreren met Microsoft Entra-id
- Uw eigen domeinnaam toevoegen aan Microsoft Entra-id
- Federatie met Microsoft Entra-id
- Beheer ister uw Microsoft Entra-map
- Microsoft Entra-id beheren met PowerShell
- Voor hybride identiteit benodigde poorten en protocollen
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 gebruikersaccounts en 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:
Maak verbinding met de database, bijvoorbeeld met behulp van SQL Server Management Studio.
Klik in Objectverkenner met de rechtermuisknop op de database en kies Nieuwe query.
Voer in het queryvenster de volgende opdracht in:
CREATE USER ApplicationUser WITH PASSWORD = 'YourStrongPassword1';
Selecteer Uitvoeren op de werkbalk om de gebruiker te maken.
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:
Verbinding maken naar uw server in Azure met behulp van een Microsoft Entra-account met ten minste de ALTER ANY USER permission.
Klik in Objectverkenner met de rechtermuisknop op de database en selecteer Nieuwe query.
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:
Selecteer in de Azure-portal SQL-databases in het menu links en selecteer uw database op de pagina SQL-databases.
Selecteer Databaseverbindingsreeksen tonen op de pagina Overzicht.
Selecteer een stuurprogrammatabblad en kopieer de volledige verbindingsreeks.
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:
Selecteer in de Azure-portal SQL-databases in het menu links en selecteer uw database op de pagina SQL-databases.
Selecteer op de pagina Overzicht de koppeling Servernaam. De pagina Server wordt geopend.
Zoek op de pagina SQL Server de sectie Beveiliging en selecteer Defender voor Cloud.
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.
U kunt ook e-mailberichten configureren voor het ontvangen van beveiligingswaarschuwingen, opslaggegevens en detectie van typen bedreigingen.
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.
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.
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:
Selecteer in de Azure-portal SQL-databases in het menu links en selecteer uw database op de pagina SQL-databases.
Selecteer Controle in de sectie Beveiliging.
Stel bij de Controle-instellingen de volgende waarden in:
Stel Controle in op AAN.
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
Selecteer Opslaan.
Nu kunt u Auditlogboeken weergeven om gegevens van databasegebeurtenissen weer te geven.
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:
Selecteer in de Azure-portal SQL-databases in het menu links en selecteer uw database op de pagina SQL-databases.
Selecteer Dynamische gegevensmaskering in de sectie Beveiliging.
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.
Selecteer Opslaan. De geselecteerde gegevens wordt nu voor privacy gemaskeerd.
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:
Selecteer in de Azure-portal SQL-databases in het menu links en selecteer uw database op de pagina SQL-databases.
Selecteer Transparante gegevensversleuteling in de sectie Beveiliging.
Zet Gegevensversleuteling indien nodig AAN. Selecteer Opslaan.
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.
Gerelateerde inhoud
- Probeer Azure SQL Database gratis (preview)
- Wat is er nieuw in Azure SQL Database?
- Inhoudsverwijzing configureren en beheren - Azure SQL Database
- Kosten voor Azure SQL Database plannen en beheren
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.