Delen via


Kolomversleuteling configureren met de wizard Always Encrypted in SSMS

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 versleutelingssleutels, een nieuwe kolomversleutelingssleutel genereren of zowel een nieuwe kolomversleutelingssleutel als een nieuwe kolomhoofdsleutel.

Met de evaluatie van de wizard kunt u de tabellen in een geselecteerde database evalueren of specifieke tabellen kiezen die u wilt analyseren. Het identificeert kolommen die geschikt zijn voor versleuteling en markeert die niet compatibel zijn met Always Encrypted vanwege hun gegevenstype, beperkingen en andere factoren. De wizard bevat een gedetailleerde lijst met beperkingen voor elk veld, waarin wordt uitgelegd waarom specifieke kolommen niet kunnen worden versleuteld.

Wanneer uw database is geconfigureerd met een beveiligde enclave, kunt u cryptografische bewerkingen 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, kunt u met de wizard een beveiligde enclave inschakelen. Stel dat u ervoor kiest geen beveiligde enclave in te schakelen of dat u geen enclavesleutels gebruikt. In dat geval verplaatst de wizard gegevens uit de database en voert deze cryptografische bewerkingen uit binnen het SSMS-proces. 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 tabellen en wisselt vervolgens een of meer oorspronkelijke tabellen met de nieuwe tabellen.

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.

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 over de VIEW ANY COLUMN MASTER KEY DEFINITION en VIEW ANY COLUMN ENCRYPTION KEY DEFINITION machtigingen beschikken. U hebt ook sleutelarchiefmachtigingen nodig om uw kolomhoofdsleutel te maken, te openen en te gebruiken. Ga naar Hoofdsleutels maken en opslaan voor Always Encrypted voor gedetailleerde informatie over sleutelmachtigingen of vind een sectie die relevant is voor uw sleutelarchief.

Always Encrypted-wizard openen

U kunt de wizard op drie verschillende niveaus starten:

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

  2. Versleutelen:

    • Meerdere kolommen in verschillende tabellen in een database; klik met de rechtermuisknop op uw database, wijs Taken aan en selecteer vervolgens Always Encrypted Wizard.

    • Meerdere kolommen in dezelfde tabel: navigeer naar de tabel, klik met de rechtermuisknop en selecteer Always Encrypted Wizard.

    • Een afzonderlijke kolom, navigeer naar de kolom, klik er met de rechtermuisknop op en selecteer de wizard Always Encrypted.

Kolomselectiepagina

Op deze pagina selecteert u kolommen voor het versleutelen, opnieuw versleutelen of ontsleutelen en definiëren van de doelversleutelingsconfiguratie voor deze 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.

Selecteer het gewenste versleutelingstype en de sleutel om een versleutelingstype te wijzigen of een kolomversleutelingssleutel te draaien (wijzigen) voor een al versleutelde kolom.

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 momenteel versleutelde kolom wilt ontsleutelen, selecteert u Plaintext voor het versleutelingstype.

Aanbeveling

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

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.

Kolom Beoordelingspagina

De geselecteerde tabellen en kolommen worden beoordeeld op geschiktheid voor Always Encrypted of Always Encrypted met beveiligde enclaves. De evaluatie wordt automatisch gestart door een statusbalk en een lijst met de tabellen en kolommen weer te geven die momenteel worden beoordeeld, die worden uitgevoerd en die moeten worden uitgevoerd. De evaluatie controleert of een tabelkolom voldoet aan de vereisten voor Always Encrypted of Always Encrypted met beveiligde enclaves op basis van de beperkingen.

Als een kolom niet aan de vereisten voldoet, wordt in de evaluatie de status Fout voor die kolom weergegeven. Als u de koppeling Berichten selecteert, krijgt u gedetailleerde informatie over waarom die specifieke kolom niet kan worden versleuteld.

U kunt de doorgegeven evaluatiekolommen versleutelen door het selectievakje in te schakelen. De wizard slaat automatisch kolommen over die de evaluatie niet doorstaan. Daarnaast kunt u de resultaten exporteren naar een CSV- of tekstbestand door de knop Rapport te selecteren.

Pagina Basissleutelconfiguratie

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

Wanneer u een nieuwe kolomhoofdsleutel configureert, kunt u een bestaande sleutel kiezen in Het Windows-certificaatarchief of Azure Key Vault en de wizard alleen een metagegevensobject voor de sleutel in de database laten 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 doorbladeren en creëren in het Windows-certificaatarchief en Azure Key Vault. Ook worden de namen van de nieuwe sleutels en de metagegevensobjecten van de database automatisch gegenereerd. Stel dat u meer controle nodig hebt over de inrichting van uw sleutels (en meer opties voor een sleutelarchief met uw kolomhoofdsleutel). In dat geval 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

Instellingenpagina uitvoeren

De wizard ondersteunt twee methoden voor het instellen van de doelversleutelingsconfiguratie: online en offline.

Met de offlinebenadering zijn de doeltabellen en eventuele tabellen die betrekking hebben op de doeltabellen (bijvoorbeeld tabellen waarmee een doeltabel een relatie heeft met behulp van refererende sleutels) niet beschikbaar voor het uitvoeren van schrijfbewerkingen gedurende de duur van de bewerking. De semantiek van restricties voor vreemde sleutels (CHECK of NOCHECK) wordt altijd behouden wanneer u de offline methode gebruikt.

Met de online aanpak wordt de werking van het kopiëren, versleutelen, ontsleutelen of opnieuw versleutelen van de gegevens stapsgewijs uitgevoerd. Toepassingen kunnen gegevens lezen en schrijven van en naar de doeltabellen tijdens de bewerking voor gegevensverplaatsing, met uitzondering van de laatste iteratie, waarvan de duur wordt beperkt door de parameter Maximale downtime . Als u de wijzigingen wilt detecteren en verwerken die toepassingen kunnen aanbrengen terwijl de gegevens worden gekopieerd, schakelt de wizard Wijzigingen bijhouden in de doeldatabase in. Daarom verbruikt de online benadering waarschijnlijk meer resources aan de databasezijde dan de offlinebenadering. De bewerking kan ook meer tijd in beslag nemen met de online aanpak, met name als een werkbelasting met veel schrijfbewerkingen wordt uitgevoerd op de database. De onlinebenadering kan worden gebruikt om één tabel tegelijk te versleutelen en de tabel moet een primaire sleutel hebben. Standaard worden voorwaardelijke beperkingen van de externe sleutel opnieuw ingesteld met de NOCHECK-optie om de impact op toepassingen te minimaliseren. U kunt het behoud van de semantiek van foreign key-beperkingen afdwingen door de optie Keep check foreign key constraints in te schakelen.

Hier volgen de richtlijnen voor het kiezen tussen de offline- en onlinemethoden:

Gebruik de offlinebenadering:

  • De duur van de bewerking minimaliseren.
  • Kolommen in meerdere tabellen tegelijk versleutelen/ontsleutelen/opnieuw versleutelen.
  • Als de doeltabel geen primaire sleutel heeft.

Gebruik de online aanpak:

  • Om de downtime/onbeschikbaarheid van de database voor uw toepassingen te minimaliseren.

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.