Delen via


Kolomversleuteling configureren met de wizard Always Encrypted

Van toepassing op:SQL ServerAzure SQL DatabaseAzure SQL Managed Instance

De wizard Always Encrypted is een krachtig hulpprogramma waarmee u de gewenste Always Encrypted-configuratie kunt instellen voor geselecteerde databasekolommen. Afhankelijk van de huidige configuratie en de gewenste doelconfiguratie kan de wizard een kolom versleutelen, ontsleutelen (versleuteling verwijderen) of opnieuw versleutelen (bijvoorbeeld met een nieuwe kolomversleutelingssleutel of een versleutelingstype dat verschilt van het huidige type, geconfigureerd voor de kolom). Meerdere kolommen kunnen worden geconfigureerd in één uitvoering van de wizard.

Met de wizard kunt u kolommen versleutelen met bestaande kolomversleutelingssleutels, of u kunt ervoor kiezen om een nieuwe kolomversleutelingssleutel of zowel een nieuwe kolomversleutelingssleutel als een nieuwe kolomhoofdsleutel te genereren.

Wanneer uw database is geconfigureerd met een beveiligde enclave, kunt u cryptografische bewerkingen in-place uitvoeren zonder gegevens uit de database te verplaatsen. De wizard verwijdert alle afhankelijkheden die de schemawijziging van de kolom blokkeren die moeten worden versleuteld. Er wordt een in-place versleuteling voor elke kolom uitgevoerd met behulp van de enclave in de database-engine. Wanneer de versleuteling is voltooid, maakt de wizard de afhankelijkheden opnieuw aan. Zie Always Encrypted met beveiligde enclavesvoor meer informatie over Always Encrypted met beveiligde enclaves.

Wanneer uw database niet* is geconfigureerd met een beveiligde enclave, krijgt u de mogelijkheid om een beveiligde enclave in te schakelen. Als u ervoor kiest om een beveiligde enclave niet in te schakelen of als u geen* enclavesleutels gebruikt, werkt de wizard door gegevens uit de database te verplaatsen en cryptografische bewerkingen uit te voeren binnen het SSMS-proces (SQL Server Management Studio). De wizard maakt een nieuwe tabel (of tabellen) met de gewenste versleutelingsconfiguratie in de database, laadt alle gegevens uit de oorspronkelijke tabellen, voert de aangevraagde cryptografische bewerkingen uit, uploadt de gegevens naar de nieuwe tabel(en) en wisselt vervolgens de oorspronkelijke tabel(s) door de nieuwe tabel(en).

Aanbeveling

Het gebruik van in-place versleuteling met Always Encrypted met beveiligde enclaves, indien beschikbaar in uw omgeving, kan de tijd en betrouwbaarheid van cryptografische bewerkingen aanzienlijk verminderen.

Opmerking

Het uitvoeren van cryptografische bewerkingen kan lang duren. Gedurende die tijd is uw database niet beschikbaar voor het schrijven van transacties. PowerShell is een aanbevolen hulpprogramma voor cryptografische bewerkingen op grotere tabellen. Raadpleeg Kolomversleuteling configureren met Always Encrypted en PowerShell of Kolomversleuteling in-place configureren met PowerShell.

Machtigingen

Als u cryptografische bewerkingen wilt uitvoeren met behulp van de wizard, moet u de RECHTEN ELKE KOLOMHOOFDSLEUTELDEFINITIE WEERGEVEN en RECHTEN ELKE KOLOMVERSLEUTELINGSDEFINITIE WEERGEVEN hebben. U hebt ook sleutelarchiefmachtigingen nodig om uw kolomhoofdsleutel te maken, te openen en te gebruiken. Voor gedetailleerde informatie over sleutelarchiefmachtigingen gaat u naar Hoofdsleutels maken en opslaan voor Always Encrypted of een sectie zoeken die relevant is voor uw sleutelarchief.

De wizard Always Encrypted openen

U kunt de wizard op drie verschillende niveaus starten:

  • Op databaseniveau: als u meerdere kolommen in verschillende tabellen wilt versleutelen.
  • Op tabelniveau: als u meerdere kolommen in dezelfde tabel wilt versleutelen.
  • Op kolomniveau: als u één specifieke kolom wilt versleutelen.
  1. Maak verbinding met uw SQL Server met het objectverkenner-onderdeel van SQL Server Management Studio.

  2. Versleutelen:

    1. Meerdere kolommen in een andere tabel in een database, klik met de rechtermuisknop op uw database, wijs Taken aan en selecteer Kolommen versleutelen.
    2. Meerdere kolommen in dezelfde tabel, navigeer naar de tabel, klik er met de rechtermuisknop op en selecteer Kolommen versleutelen.
    3. Een afzonderlijke kolom, navigeer naar de kolom, klik er met de rechtermuisknop op en selecteer Kolommen versleutelen.

Kolomselectiepagina

Op deze pagina selecteert u kolommen die u wilt versleutelen, opnieuw versleutelen of ontsleutelen en definieert u de doelversleutelingsconfiguratie voor de geselecteerde kolommen.

Als u een kolom zonder tekst (een kolom die niet is versleuteld), wilt versleutelen, selecteert u een versleutelingstype (deterministisch of willekeurig) en een versleutelingssleutel voor de kolom.

Als u een versleutelingstype wilt wijzigen of een kolomversleutelingssleutel wilt draaien (wijzigen) voor een al versleutelde kolom, selecteert u het gewenste versleutelingstype en de sleutel.

Als u wilt dat de wizard een of meer kolommen versleutelt of opnieuw versleutelt met behulp van een nieuwe kolomversleutelingssleutel, kiest u een sleutel met (nieuw) in de naam. De wizard genereert de sleutel.

Als u een kolom wilt ontsleutelen die momenteel is versleuteld, selecteert u Plaintext voor het versleutelingstype.

Opmerking

Als u in-place versleuteling wilt gebruiken en bestaande sleutels gebruikt, moet u sleutels selecteren die enclave-ingeschakeld zijn – geannoteerd met (enclave-ingeschakeld).

Opmerking

De wizard biedt geen ondersteuning voor cryptografische bewerkingen voor tijdelijke en in-memory tabellen. U kunt lege tijdelijke of in-memory tabellen maken met behulp van Transact-SQL en gegevens invoegen met behulp van uw toepassing.

Pagina Basissleutelconfiguratie

Als u een automatisch gegenereerde kolomversleutelingssleutel hebt geselecteerd voor een kolom op de vorige pagina, moet u op deze pagina een bestaande kolomhoofdsleutel selecteren of een nieuwe kolomhoofdsleutel configureren waarmee de kolomversleutelingssleutel wordt versleuteld.

Wanneer u een nieuwe kolomhoofdsleutel configureert, kunt u een bestaande sleutel kiezen in het Windows-certificaatarchief of in Azure Key Vault en de wizard gebruiken om alleen een metagegevensobject voor de sleutel in de database te maken, of u kunt ervoor kiezen om zowel de sleutel als het metagegevensobject te genereren dat de sleutel in de database beschrijft.

Als u in-place versleuteling wilt gebruiken, selecteert u Enclaveberekeningen toestaan voor een nieuwe kolomhoofdsleutel. Het inschakelen van dit selectievakje is alleen toegestaan als uw database is geconfigureerd met een beveiligde enclave.

Zie Kolomhoofdsleutels maken en opslaan voor Always Encrypted of Beheer sleutels voor Always Encrypted met beveiligde enclaves voor meer informatie over het maken en opslaan van kolomhoofdsleutels in Windows Certificate Store, Azure Key Vault of andere sleutelarchieven.

Aanbeveling

Met de wizard kunt u alleen sleutels bekijken en maken in Windows Certificate Store en Azure Key Vault. Ook worden de namen van zowel de nieuwe sleutels als de metagegevensobjecten van de database automatisch gegenereerd met een beschrijving van de sleutels. Als u meer controle nodig hebt over de inrichting van uw sleutels (en meer opties voor een sleutelarchief met de hoofdsleutel van de kolom), kunt u de dialoogvensters Nieuwe kolomhoofdsleutel en Nieuwe kolomversleutelingssleutel gebruiken om eerst de sleutels te maken en vervolgens de wizard uit te voeren en de sleutels te kiezen die u hebt gemaakt. Zie Kolomhoofdsleutels inrichten met het dialoogvenster Nieuwe kolomhoofdsleutel of Enclave-sleutels inrichten en Kolomversleutelingssleutels inrichten met het dialoogvenster Nieuwe kolomversleutelingssleutel.

In-Place Pagina Versleutelingsinstellingen

Als u een beveiligde enclave in uw database hebt geconfigureerd en u enclavesleutels gebruikt, kunt u op deze pagina de enclave-attestation-parameters opgeven die vereist zijn voor in-place versleuteling. Als u in-place versleuteling niet wilt gebruiken, schakelt u de selectie Van in-place versleuteling gebruiken voor in aanmerking komende kolommen uit om door te gaan met versleuteling aan de clientzijde. U wordt aangeraden dit selectievakje ingeschakeld te laten zodat de wizard in-place versleuteling kan gebruiken.

Zie Attestation configureren voor Always Encrypted met behulp van Azure Attestation voor meer informatie over enclave-attestation

Postversleuteling

Wis de plancache voor alle batches en opgeslagen procedures die toegang hebben tot de tabel om informatie over de versleuteling van parameters te vernieuwen.

ALTER DATABASE SCOPED CONFIGURATION CLEAR PROCEDURE_CACHE;

Opmerking

Als u het plan voor de betreffende query niet uit de cache verwijdert, kan de eerste uitvoering van de query na versleuteling mislukken.

Gebruik ALTER DATABASE SCOPED CONFIGURATION CLEAR PROCEDURE_CACHE of DBCC FREEPROCCACHE om de plancache zorgvuldig te wissen, omdat dit kan leiden tot een tijdelijke afname van de queryprestaties. Als u de negatieve gevolgen van het wissen van de cache wilt minimaliseren, kunt u de plannen voor alleen de betrokken query's selectief verwijderen.

Roep sp_refresh_parameter_encryption aan om de metagegevens bij te werken voor de parameters van elke module (opgeslagen procedure, functie, weergave, trigger) die behouden blijven in sys.parameters en mogelijk ongeldig zijn gemaakt door de kolommen te versleutelen.