Delen via


Gegevensversleuteling in SQL-database in Microsoft Fabric

Van toepassing op:SQL-database in Microsoft Fabric

Belangrijk

Deze functie is beschikbaar als preview-versie.

Microsoft Fabric versleutelt alle data-at-rest met behulp van door Microsoft beheerde sleutels. Alle SQL-databasegegevens worden opgeslagen in externe Azure Storage-accounts. Om te voldoen aan versleutelings-at-rest-vereisten met behulp van door Microsoft beheerde sleutels, wordt elk Azure Storage-account dat wordt gebruikt door de SQL-database geconfigureerd met versleuteling aan de servicezijde ingeschakeld.

Met door de klant beheerde sleutels voor Fabric-werkruimten kunt u uw Azure Key Vault-sleutels gebruiken om een andere beveiligingslaag toe te voegen aan de gegevens in uw Microsoft Fabric-werkruimten, inclusief alle gegevens in SQL Database in Microsoft Fabric. Een door de klant beheerde sleutel biedt meer flexibiliteit, zodat u de rotatie kunt beheren, de toegang kunt beheren en de gebruikscontrole kunt beheren. Door de klant beheerde sleutels helpen organisaties ook te voldoen aan de behoeften van gegevensbeheer en te voldoen aan de normen voor gegevensbescherming en versleuteling.

  • Wanneer een door de klant beheerde sleutel is geconfigureerd voor een werkruimte in Microsoft Fabric, wordt transparante gegevensversleuteling automatisch ingeschakeld voor alle SQL-databases (en tempdb) in die werkruimte met behulp van de opgegeven door de klant beheerde sleutel. Dit proces is volledig naadloos en vereist geen handmatige tussenkomst.
    • Hoewel het versleutelingsproces automatisch wordt gestart voor alle bestaande SQL-databases, is het niet onmiddellijk; de duur is afhankelijk van de grootte van elke SQL-database, waarbij grotere SQL-databases meer tijd nodig hebben om de versleuteling te voltooien.
    • Nadat de door de klant beheerde sleutel is geconfigureerd, worden alle SQL-databases die in de werkruimte zijn gemaakt, ook versleuteld met behulp van de door de klant beheerde sleutel.
  • Als de door de klant beheerde sleutel wordt verwijderd, wordt het ontsleutelingsproces geactiveerd voor alle SQL-databases in de werkruimte. Net als versleuteling is ontsleuteling ook afhankelijk van de grootte van de SQL-database en kan het even duren voordat deze is voltooid. Zodra de SQL-databases zijn ontsleuteld, worden de door Microsoft beheerde sleutels opnieuw gebruikt voor versleuteling.

Hoe transparante gegevensversleuteling werkt in SQL Database in Microsoft Fabric

Transparante gegevensversleuteling voert versleuteling en ontsleuteling in realtime uit van de database, de gekoppelde back-ups en transactionele logboekbestanden wanneer ze niet actief zijn.

  • Dit proces vindt plaats op paginaniveau, wat betekent dat elke pagina wordt ontsleuteld wanneer deze in het geheugen wordt gelezen en opnieuw wordt versleuteld voordat deze naar de schijf wordt teruggeschreven.
  • Transparante gegevensversleuteling beveiligt de hele database met behulp van een symmetrische sleutel die de DEK (Database Encryption Key) wordt genoemd.
  • Wanneer de database wordt gestart, wordt de versleutelde DEK ontsleuteld en gebruikt door de SQL Server-database-engine om versleutelings- en ontsleutelingsbewerkingen te beheren.
  • De DEK zelf wordt beveiligd door de transparante gegevensversleutelingsbeveiliging, een door de klant beheerde asymmetrische sleutel, met name de door de klant beheerde sleutel die is geconfigureerd op werkruimteniveau.

Diagram van versleuteling voor SQL-database in Microsoft Fabric.

Backups en herstel

Zodra een SQL-database is versleuteld met een door de klant beheerde sleutel, worden alle nieuw gegenereerde back-ups ook versleuteld met dezelfde sleutel.

Wanneer de sleutel wordt gewijzigd, worden oude back-ups van de SQL-database niet bijgewerkt om de meest recente sleutel te gebruiken. Als u een back-up wilt herstellen die is versleuteld met een door de klant beheerde sleutel, moet u ervoor zorgen dat het sleutelmateriaal beschikbaar is in Azure Key Vault. Daarom raden we klanten aan alle oude versies van de door de klant beheerde sleutels in Azure Key Vault te bewaren, zodat back-ups van SQL-databases kunnen worden hersteld.

Het herstelproces van de SQL-database houdt altijd rekening met de door de klant beheerde werkruimte-instelling. In de onderstaande tabel worden verschillende herstelscenario's beschreven op basis van de door de klant beheerde sleutelinstellingen en of de back-up is versleuteld.

De back-up is... Door de klant beheerde sleutelwerkruimte-instelling Versleutelingsstatus na herstel
Niet versleuteld Disabled SQL-database is niet versleuteld
Niet versleuteld Ingeschakeld SQL-database wordt versleuteld met door de klant beheerde sleutel
Versleuteld met door de klant beheerde sleutel Disabled SQL-database is niet versleuteld
Versleuteld met door de klant beheerde sleutel Ingeschakeld SQL-database wordt versleuteld met door de klant beheerde sleutel
Versleuteld met door de klant beheerde sleutel Ingeschakeld maar verschil in door de klant beheerde sleutel SQL-database wordt versleuteld met de nieuwe door de klant beheerde sleutel

Geslaagde door de klant beheerde sleutel controleren

Zodra u door de klant beheerde sleutelversleuteling in de werkruimte hebt ingeschakeld, wordt de bestaande database versleuteld. Een nieuwe database in een werkruimte wordt ook versleuteld wanneer de door de klant beheerde sleutel is ingeschakeld. Voer de volgende T-SQL-query uit om te controleren of uw database is versleuteld:

SELECT DB_NAME(database_id) as DatabaseName, * 
FROM sys.dm_database_encryption_keys 
WHERE database_id <> 2;
  • Een database wordt versleuteld als het encryption_state_desc veld wordt weergegeven ENCRYPTEDASYMMETRIC_KEY als de encryptor_type.
  • Als de status is ENCRYPTION_IN_PROGRESS, geeft de percent_complete kolom de voortgang aan van de wijziging van de versleutelingsstatus. Dit zal 0 zijn indien er geen statuswijziging gaande is.
  • Als deze niet is versleuteld, wordt een database niet weergegeven in de queryresultaten van sys.dm_database_encryption_keys.

Problemen met niet-toegankelijke door de klant beheerde sleutel oplossen

Wanneer een door de klant beheerde sleutel is geconfigureerd voor een werkruimte in Microsoft Fabric, is continue toegang tot de sleutel vereist om de SQL-database online te houden. Als de SQL-database geen toegang meer heeft tot de sleutel in Azure Key Vault, wordt de SQL-database in maximaal 10 minuten gestart met het weigeren van alle verbindingen en wordt de status gewijzigd in Ontoegankelijk. Gebruikers ontvangen een overeenkomend foutbericht, zoals 'Database <database ID>.database.fabric.microsoft.com is niet toegankelijk vanwege kritieke fout in Azure Key Vault'.

  • Als de sleuteltoegang binnen 30 minuten wordt hersteld, wordt de SQL-database binnen het volgende uur automatisch hersteld.
  • Als toegang tot sleutels na meer dan 30 minuten wordt hersteld, is automatische herstel van de SQL-database niet mogelijk. Het terugbrengen van de SQL-database vereist extra stappen en kan een aanzienlijke hoeveelheid tijd in beslag nemen, afhankelijk van de grootte van de SQL-database.

Gebruik de volgende stappen om de door de klant beheerde sleutel opnieuw te valideren:

  1. Klik in uw werkruimte met de rechtermuisknop op de SQL-database of het ... contextmenu. Selecteer Instellingen.
  2. Selecteer Versleuteling (preview).
  3. Als u de door de klant beheerde sleutel opnieuw wiltvalideren, selecteert u de knop Door de klant beheerde sleutel opnieuwvalideren . Als de hervalidatie is geslaagd, kan het herstellen van de toegang tot uw SQL-database enige tijd duren.

Opmerking

Wanneer u de sleutel voor één SQL-database opnieuwvalideert, wordt de sleutel automatisch opnieuw gevalideerd voor alle SQL-databases in uw werkruimte.

Beperkingen

Huidige beperkingen bij het gebruik van door de klant beheerde sleutel voor een SQL-database in Microsoft Fabric:

  • 4096-bits sleutels worden niet ondersteund voor SQL Database in Microsoft Fabric. Ondersteunde sleutellengten zijn 2048 bits en 3.072 bits.
  • De door de klant beheerde sleutel moet een RSA of RSA-HSM asymmetrische sleutel zijn.
  • Op dit moment is door de klant beheerde sleutelversleuteling beschikbaar in de volgende regio's:
    • VS: Oost US 2, Noord Centraal US, Zuid Centraal US
    • Azië: Australië - oost, Azië - zuidoost, UAE - noord
    • Europa: Europa - noord, Europa - west