Uw gegevens beveiligen
Nu uw netwerk- en identiteitstoegang zijn geconfigureerd en beveiligd, moet u overwegen hoe u uw gegevens kunt beveiligen, ongeacht of deze inactief zijn, actief zijn of door gebruikers en beheerders worden weergegeven.
Gegevensversleuteling
Versleutelde verbindingen worden geforceerd door Azure SQL Database, met de optie om ook de inkomende TLS -versie (Transport Layer Security) op te geven die minimaal is vereist (>1.0, >1.1 of >1.2). We raden u aan versleuteling op de client af te dwingen om serveronderhandeling te voorkomen en het servercertificaat niet als best practice te vertrouwen.
Transparent Data Encryption
Transparent Data Encryption (TDE) biedt versleuteling voor data-at-rest en is standaard ingeschakeld voor alle nieuwe databases in Azure SQL Database. U kunt deze configureren voor alle implementatieopties met een switch in Azure Portal, zoals hier wordt weergegeven:
Op serverniveau kunt u er ook voor kiezen om een door de service beheerde sleutel te gebruiken of BYOK (Bring Your Own Key) te gebruiken met behulp van de door de klant beheerde sleuteloptie. De standaardinstelling is om de Azure-service uw sleutel te laten beheren. Azure genereert automatisch een sleutel voor het versleutelen van uw databases en beheert de sleutelrotaties. U hebt geleerd hoe u dit kunt doen met Azure Portal, maar u kunt ook Azure PowerShell, de Azure CLI, Transact-SQL (T-SQL) of REST API's gebruiken.
Door de klant beheerde sleutels met TDE
U kunt ook BYOK gebruiken en profiteren van een Azure-sleutelkluis. De voordelen van het gebruik van door de klant beheerde sleutels zijn:
- Volledige en gedetailleerde controle over het gebruik en beheer van de TDE-protector
- Transparantie van het gebruik van de TDE-protector
- Mogelijkheid om scheiding van taken in het beheer van sleutels en gegevens binnen de organisatie te implementeren
- De key vault-beheerder kan toegangsmachtigingen voor sleutels intrekken om versleutelde database ontoegankelijk te maken
- Centraal beheer van sleutels in AKV
- Meer vertrouwen van uw eindklanten omdat AKV is ontworpen zodat Microsoft geen versleutelingssleutels kan zien of extraheren
U kunt ook profiteren van het gebruik van een door de gebruiker toegewezen beheerde identiteit (UMI) met door de klant beheerde sleutels voor TDE, die:
- Hiermee kunt u key vault-toegang vooraf autoriseren voor logische Azure SQL-servers door een door de gebruiker toegewezen beheerde identiteit te maken en toegang te verlenen tot de sleutelkluis, zelfs voordat de server of database is gemaakt.
- Hiermee kunt u een logische Azure SQL-server maken waarvoor TDE en CMK zijn ingeschakeld.
- Hiermee kan dezelfde door de gebruiker toegewezen beheerde identiteit worden toegewezen aan meerdere servers, waardoor de noodzaak om door het systeem toegewezen beheerde identiteit voor elke logische Azure SQL-server afzonderlijk in te schakelen en toegang te verlenen tot de sleutelkluis.
- Biedt de mogelijkheid om CMK af te dwingen tijdens het maken van de server met een beschikbaar ingebouwd Azure-beleid.
Automatische sleutelrotatie is geïntroduceerd voor door de klant beheerde sleutels met behulp van TDE. Wanneer deze functie is ingeschakeld, controleert de server continu de sleutelkluis op nieuwe versies van de sleutel die worden gebruikt als de TDE-beveiliging. Als er een nieuwe versie van de sleutel wordt gedetecteerd, wordt de TDE-beveiliging op de server binnen 60 minuten automatisch geroteerd naar de nieuwste sleutelversie.
Altijd versleuteld
U kunt ook profiteren van versleuteling op kolomniveau, dat in Azure SQL op dezelfde manier wordt ondersteund als in SQL Server. Dit proces omvat het versleutelen van gevoelige gegevens aan de clientzijde met het gebruik van sleutels die nooit aan het databasesysteem worden verstrekt. Daarnaast versleutelt het clientstuurprogramma de queryparameters op transparante wijze en worden de versleutelde resultaten ontsleuteld. Er is momenteel ondersteuning voor versleutelde gegevens voor gelijkheidsvergelijking, waaronder JOIN
, GROUP BY
en DISTINCT
operators door deterministische versleuteling.
Always Encrypted met beveiligde enclaves breidt de mogelijkheden van Always Encrypted uit door in-place versleuteling en uitgebreidere vertrouwelijke query's in te schakelen. De functie Always Encrypted met beveiligde enclaves is nu beschikbaar voor Azure SQL Database, maar wordt nog niet ondersteund voor Azure SQL Managed Instance.
Dynamische gegevensmaskering
Soms is het verstandig om bepaalde gegevens te maskeren of te wijzigen, zodat niet-gemachtigde gebruikers deze niet kunnen zien. Ze kunnen echter nog steeds query's uitvoeren die deze gegevens bevatten. Deze mogelijkheid wordt ondersteund op dezelfde manier als in SQL Server. Er zijn echter extra mogelijkheden en weergaven in Azure Portal waarmee u aanbevelingen kunt zien voor velden die kunnen worden gemaskeerd.
Laten we eens kijken naar een voorbeeld waarin de gegevens gevoelige informatie bevatten, zoals namen en e-mailadressen. U kunt een masker toepassen op deze kolommen in Azure Portal door het menu Dynamische gegevensmaskering te selecteren onder Beveiliging in het configuratiedeelvenster van uw SQL-database of met behulp van de volgende T-SQL-opdrachten:
ALTER TABLE Data.Membership ALTER COLUMN FirstName
ADD MASKED WITH (FUNCTION = 'partial(1, "xxxxx", 1)')
ALTER TABLE Data.Membership ALTER COLUMN Email
ADD MASKED WITH (FUNCTION = 'email()')
ALTER TABLE Data.Membership ALTER COLUMN DiscountCode
ADD MASKED WITH (FUNCTION = 'random(1, 100)')
GRANT UNMASK to DataOfficers
Op basis van de voorgaande opdrachten ziet u dat er meerdere manieren zijn om maskering toe te passen via functies.
Als ze bijvoorbeeld zijn toegewezen aan een rol zoals DataOfficers (dit is alleen een voorbeeld, geen officiële rol), moeten sommige gebruikers de gemaskeerde gegevens mogelijk kunnen weergeven. U kunt ze UNMASK
bevoegdheden geven met de volgende T-SQL-opdracht:
GRANT UNMASK TO DataOfficers
Afhankelijk van wie de query's uitvoert, zijn de resultaten zoals hier wordt weergegeven:
Met de inleiding tot gedetailleerde machtigingen voor dynamische gegevensmaskering kunt u machtigingen verlenen of intrekken UNMASK
op databaseniveau, schemaniveau, tabelniveau of op kolomniveau aan een databasegebruiker, Microsoft Entra-identiteit, Microsoft Entra-groep of databaserol.
Taken voor gegevensbeveiliging
Om gegevensbeveiliging in te stellen en te configureren, moet u het volgende doen:
- Zorg ervoor dat uw toepassingen verbindingsversleuteling afdwingen en de hoogste TLS-versie gebruiken die compatibel is met uw toepassing, clients en stuurprogramma's.
- Evalueer en schakel TDE in. Dit is de standaardinstelling voor nieuwe databases, maar bij migratie moet u deze mogelijk inschakelen.
- Profiteer van dynamische gegevensmaskering.
- Voor geavanceerde beveiliging kunt u de functie Always Encrypted configureren met beveiligde enclaves .