Delen via


Transparante gegevensversleuteling voor SQL Database, SQL Managed Instance en Azure Synapse Analytics

van toepassing op:Azure SQL DatabaseAzure SQL Managed InstanceAzure Synapse Analytics-

TDE (Transparent Data Encryption) helpt azure SQL Database, Azure SQL Managed Instance en Azure Synapse Analytics te beschermen tegen de bedreiging van schadelijke offlineactiviteiten door data-at-rest te versleutelen. Het voert realtime versleuteling en ontsleuteling van de database, gekoppelde back-ups en transactielogboekbestanden in rust uit zonder dat wijzigingen in de toepassing nodig zijn. 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 nieuw 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-versleutelingvoor 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 in het geheugen wordt gelezen en vervolgens versleuteld voordat deze naar de 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 het serverniveau en wordt 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 herstellen, geo-replicatieen databasekopie standaard versleuteld. Wanneer de databasebron echter niet is versleuteld, worden de doeldatabases die zijn gemaakt via herstellen, geo-replicatieen databasekopie standaard niet 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 het beheerde SQL-exemplaar. 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 kolom encryption_state_desc.

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 is tempdb, die altijd wordt versleuteld met TDE om de daar opgeslagen gegevens te beveiligen.

Door de service beheerde transparante gegevensversleuteling

In Azure is de standaardinstelling voor TDE dat de DEK wordt beveiligd door een ingebouwd servercertificaat. Het ingebouwde servercertificaat is uniek voor elke server en het gebruikte versleutelingsalgoritmen zijn AES 256. Als een database zich in een geo-replicatierelatie bevindt, worden zowel de primaire als de geo-secundaire databases beveiligd door de bovenliggende serversleutel van de primaire database. Als twee databases zijn verbonden met dezelfde server, delen ze ook hetzelfde ingebouwde certificaat. Microsoft roteert deze certificaten automatisch één keer per jaar, in overeenstemming met het interne beveiligingsbeleid en de hoofdsleutel wordt beveiligd door een intern geheimarchief van Microsoft. Klanten kunnen controleren of SQL Database en SQL Managed Instance voldoen aan het interne beveiligingsbeleid in onafhankelijke auditrapporten van derden die beschikbaar zijn in het Microsoft Trust Center.

Microsoft verplaatst en beheert de sleutels naadloos naar behoefte 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 overgebracht 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-integratievoor 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 handleiding Transparante gegevensversleuteling inschakelen 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
  • Zelfbediening voor herstel naar een specifiek 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 andere SQL Managed Instance te verplaatsen, of schakel over naar een door de klant beheerd sleutelbeheer.

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. Gebruik voor Azure SQL Managed Instance Transact-SQL (T-SQL) om TDE in en uit te schakelen in een database. Voor Azure SQL Database en Azure Synapse kunt u TDE voor de database beheren in de Azure-portal nadat u zich hebt aangemeld met het Azure Administrator- 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.

Schermopname van het menu gegevensversleuteling in Azure Portal voor een database.

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.

Schermopname van het menu transparante gegevensversleuteling in Azure Portal voor een server.

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