Delen via


Transparant Data Encryption voor SQL Database, SQL Managed Instance en Azure Synapse Analytics

Van toepassing op: Azure SQL DatabaseAzure SQL Managed InstanceAzure Synapse Analytics

Transparent Data Encryption (TDE) helpt Azure SQL Database, Azure SQL Managed Instance en Azure Synapse Analytics te beveiligen tegen de bedreiging van schadelijke offlineactiviteiten door data-at-rest te versleutelen. Het voert in realtime versleuteling en ontsleuteling van de database, bijbehorende back-ups en transactielogboekbestanden 'at-rest' uit, zonder dat er wijzigingen in de toepassing moeten worden aangebracht. TDE is standaard ingeschakeld voor alle nieuw geïmplementeerde Azure SQL-databases en moet handmatig worden ingeschakeld voor oudere databases van Azure SQL Database. Voor Azure SQL Managed Instance is TDE ingeschakeld op exemplaarniveau en zojuist gemaakte databases. TDE moet handmatig zijn ingeschakeld voor Azure Synapse Analytics.

Notitie

Dit artikel is van toepassing op Azure SQL Database, Azure SQL Managed Instance en Azure Synapse Analytics (toegewezen SQL-pools (voorheen SQL DW)). Zie Azure Synapse Analytics-versleuteling voor documentatie over Transparent Data Encryption voor toegewezen SQL-pools in Synapse-werkruimten.

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

TDE voert realtime I/O-versleuteling en ontsleuteling van de gegevens op paginaniveau uit. Elke pagina wordt ontsleuteld wanneer deze wordt ingelezen in het geheugen en vervolgens versleuteld voordat deze naar een schijf wordt geschreven. TDE versleutelt de opslag van een hele database met behulp van een symmetrische sleutel met de naam Database Encryption Key (DEK). Bij het opstarten van de database wordt de versleutelde DEK ontsleuteld en vervolgens gebruikt voor ontsleuteling en herversleuteling van de databasebestanden in het SQL Server-database-engineproces. DEK wordt beschermd door de TDE-protector. TDE-beveiliging is een door de service beheerd certificaat (door de service beheerde transparante gegevensversleuteling) of een asymmetrische sleutel die is opgeslagen in Azure Key Vault (door de klant beheerde transparante gegevensversleuteling).

Voor Azure SQL Database en Azure Synapse wordt de TDE-beveiliging ingesteld op serverniveau en overgenomen door alle databases die aan die server zijn gekoppeld. Voor Azure SQL Managed Instance wordt de TDE-beveiliging ingesteld op exemplaarniveau en overgenomen door alle versleutelde databases op dat exemplaar. De term server verwijst zowel naar de server als het exemplaar in dit document, tenzij anders vermeld.

Belangrijk

Alle nieuw gemaakte SQL-databases worden standaard versleuteld met behulp van door de service beheerde transparante gegevensversleuteling. Wanneer de databasebron is versleuteld, worden de doeldatabases die zijn gemaakt via herstel, geo-replicatie en databasekopie standaard versleuteld. Wanneer de databasebron echter niet is versleuteld, worden de doeldatabases die zijn gemaakt via herstel, geo-replicatie en databasekopie niet standaard versleuteld. Bestaande SQL-databases die vóór mei 2017 zijn gemaakt en bestaande SQL Managed Instance-databases die vóór februari 2019 zijn gemaakt, worden niet standaard versleuteld. SQL Managed Instance-databases die zijn gemaakt via herstel nemen de versleutelingsstatus over van de bron. Als u een bestaande met TDE versleutelde database wilt herstellen, moet het vereiste TDE-certificaat eerst worden geïmporteerd in de SQL Managed Instance. Als u de versleutelingsstatus voor een database wilt achterhalen, voert u een selectiequery uit in de sys.dm_database_encryption_keys DMV en controleert u de status van de encryption_state_desc kolom.

Notitie

TDE kan niet worden gebruikt voor het versleutelen van systeemdatabases, zoals de master database, in SQL Database en SQL Managed Instance. De master database bevat objecten die nodig zijn om TDE-bewerkingen uit te voeren op gebruikersdatabases. Het wordt aanbevolen geen gevoelige gegevens op te slaan in systeemdatabases. De uitzondering hierop is tempdb, dat altijd wordt versleuteld met TDE om de gegevens te beveiligen die daar zijn opgeslagen.

Door de service beheerde transparante gegevensversleuteling

In Azure is de standaardinstelling voor TDE dat de DEK door een ingebouwd servercertificaat wordt beschermd. Het ingebouwde servercertificaat is uniek voor elke server en het gebruikte versleutelingsalgoritme is AES 256. Als een database een geo-replicatierelatie heeft, worden zowel de primaire als de secundaire geodatabase beveiligd door de bovenliggende serversleutel van de primaire database. Als twee databases zijn verbonden met dezelfde server, delen ze ook hetzelfde ingebouwde certificaat. Deze certificaten worden automatisch geroteerd in overeenstemming met het interne beveiligingsbeleid. De hoofdsleutel wordt beveiligd door een intern geheim Microsoft-archief. Klanten kunnen controleren of SQL Database en SQL Managed Instance voldoen aan intern beveiligingsbeleid in onafhankelijke auditrapporten van derden die beschikbaar zijn in het Vertrouwenscentrum van Microsoft.

Microsoft verplaatst en beheert de sleutels ook naadloos, indien nodig voor geo-replicatie en herstelbewerkingen.

Door de klant beheerde transparante gegevensversleuteling - Bring Your Own Key

Door de klant beheerde TDE wordt ook wel BYOK-ondersteuning (Bring Your Own Key) genoemd voor TDE. In dit scenario is de TDE-protector die de DEK versleutelt een door de klant beheerde asymmetrische sleutel, die wordt opgeslagen in een door de klant eigendom en beheerde Azure Key Vault (het cloudgebaseerde externe sleutelbeheersysteem van Azure) en nooit de sleutelkluis verlaat. De TDE-beveiliging kan worden gegenereerd door de sleutelkluis of worden overgedragen naar de sleutelkluis vanaf een on-premises HSM-apparaat (Hardware Security Module). SQL Database, SQL Managed Instance en Azure Synapse moeten machtigingen krijgen voor de sleutelkluis die eigendom is van de klant om de DEK te ontsleutelen en te versleutelen. Als machtigingen van de server voor de sleutelkluis worden ingetrokken, is een database niet toegankelijk en worden alle gegevens versleuteld.

Met TDE met Azure Key Vault-integratie kunnen gebruikers sleutelbeheertaken beheren, waaronder sleutelrotaties, sleutelkluismachtigingen, sleutelback-ups en controle/rapportage inschakelen voor alle TDE-beveiligingen met behulp van de Azure Key Vault-functionaliteit. Key Vault biedt centraal sleutelbeheer, maakt gebruik van nauw bewaakte HSM's en maakt scheiding van taken mogelijk tussen het beheer van sleutels en gegevens om te voldoen aan het beveiligingsbeleid. Zie Transparent Data Encryption met Azure Key Vault-integratie voor meer informatie over BYOK voor Azure SQL Database en Azure Synapse.

Als u TDE wilt gaan gebruiken met Azure Key Vault-integratie , raadpleegt u de instructies voor het inschakelen van transparante gegevensversleuteling met behulp van uw eigen sleutel uit Key Vault.

Een met transparante gegevensversleuteling beveiligde database verplaatsen

U hoeft databases niet te ontsleutelen voor bewerkingen in Azure. De TDE-instellingen voor de brondatabase of primaire database worden transparant overgenomen op het doel. Bewerkingen die zijn opgenomen, omvatten:

  • Geo-herstel
  • Selfservice voor herstel naar een bepaald tijdstip
  • Herstel van een verwijderde database
  • Actieve geo-replicatie
  • Een databasekopie maken
  • Back-upbestand herstellen naar Azure SQL Managed Instance

Belangrijk

Handmatige COPY-ONLY-back-up maken van een database die is versleuteld door door de service beheerde TDE wordt niet ondersteund in Azure SQL Managed Instance, omdat het certificaat dat wordt gebruikt voor versleuteling niet toegankelijk is. Gebruik de functie voor herstel naar een bepaald tijdstip om dit type database naar een ander beheerd SQL-exemplaar te verplaatsen of over te schakelen naar een door de klant beheerde sleutel.

Wanneer u een met TDE beveiligde database exporteert, wordt de geëxporteerde inhoud van de database niet versleuteld. Deze geëxporteerde inhoud wordt opgeslagen in niet-versleutelde BACPAC-bestanden. Zorg ervoor dat u de BACPAC-bestanden op de juiste manier beveiligt en TDE inschakelt nadat het importeren van de nieuwe database is voltooid.

Als het BACPAC-bestand bijvoorbeeld wordt geëxporteerd vanuit een SQL Server-exemplaar, wordt de geïmporteerde inhoud van de nieuwe database niet automatisch versleuteld. Als het BACPAC-bestand wordt geïmporteerd in een SQL Server-exemplaar, wordt de nieuwe database ook niet automatisch versleuteld.

De enige uitzondering is wanneer u een database naar en van SQL Database exporteert. TDE is ingeschakeld voor de nieuwe database, maar het BACPAC-bestand zelf is nog steeds niet versleuteld.

Transparante gegevensversleuteling beheren

TDE beheren in Azure Portal.

Als u TDE wilt configureren via Azure Portal, moet u zijn verbonden als de Azure-eigenaar, -inzender of SQL Security Manager.

Schakel TDE in en uit op databaseniveau. Voor Azure SQL Managed Instance gebruikt u Transact-SQL (T-SQL) om TDE in en uit te schakelen in een database. Voor Azure SQL Database en Azure Synapse kunt u TDE beheren voor de database in Azure Portal nadat u zich hebt aangemeld met het Azure Beheer istrator- of Inzender-account. Zoek de TDE-instellingen onder uw gebruikersdatabase. Standaard wordt versleutelingssleutel op serverniveau gebruikt. Er wordt automatisch een TDE-certificaat gegenereerd voor de server die de database bevat.

Service-managed transparent data encryption

U stelt de TDE-hoofdsleutel, ook wel de TDE-protector genoemd, in op server- of exemplaarniveau. Als u TDE wilt gebruiken met BYOK-ondersteuning en uw databases wilt beveiligen met een sleutel uit Azure Key Vault, opent u de TDE-instellingen onder uw server of beheerd exemplaar.

Transparent data encryption with Bring Your Own Key support

U kunt ook een door de klant beheerde sleutel voor TDE gebruiken op databaseniveau voor Azure SQL Database. Zie TDE (Transparent Data Encryption) met door de klant beheerde sleutels op databaseniveau voor meer informatie.

Volgende stappen

Meer informatie over gerelateerde concepten vindt u in de volgende artikelen: