Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
gäller för:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Guiden Always Encrypted är ett kraftfullt verktyg som gör att du kan ange önskad Always Encrypted-konfiguration för valda databaskolumner. Beroende på den aktuella konfigurationen och den önskade målkonfigurationen kan guiden kryptera en kolumn, dekryptera den (ta bort kryptering) eller omkryptera den (till exempel med hjälp av en ny kolumnkrypteringsnyckel eller en krypteringstyp som skiljer sig från den aktuella typen, konfigurerad för kolumnen). Flera kolumner kan konfigureras i en enda körning av guiden.
Med guiden kan du kryptera kolumner med befintliga kolumnkrypteringsnycklar, eller så kan du välja att generera en ny kolumnkrypteringsnyckel eller både en ny kolumnkrypteringsnyckel och en ny kolumnhuvudnyckel.
När databasen har konfigurerats med en säker enklav kan du köra kryptografiska åtgärder på plats utan att flytta data från databasen. Guiden tar bort alla beroenden som blockerar schemaändringen av kolumnen som ska krypteras. Den utfärdar en kryptering på plats för varje kolumn med hjälp av enklaven i databasmotorn. När krypteringen är klar återskapar guiden beroendena. Mer information om Always Encrypted med säkra enklaver finns i avsnittet Always Encrypted med säkra enklaver.
När databasen inte har konfigurerats med en säker enklav ger guiden dig möjlighet att aktivera en säker enklav. Om du väljer att inte aktivera en säker enklav eller om du inte använder enklaveraktiverade nycklar fungerar guiden genom att flytta data från databasen och utföra kryptografiska åtgärder i SQL Server Management Studio-processen (SSMS). Guiden skapar en ny tabell (eller tabeller) med önskad krypteringskonfiguration i databasen, läser in alla data från de ursprungliga tabellerna, utför de begärda kryptografiska åtgärderna, laddar upp data till de nya tabellerna och byter sedan de ursprungliga tabellerna med de nya tabellerna.
Tips/Råd
Om du använder kryptering på plats med Always Encrypted med säkra enklaver, om det är tillgängligt i din miljö, kan det avsevärt minska tiden och tillförlitligheten för kryptografiska åtgärder.
Anmärkning
Det kan ta lång tid att köra kryptografiska åtgärder. Under den tiden är databasen inte tillgänglig för att skriva transaktioner. PowerShell är ett rekommenderat verktyg för kryptografiska åtgärder i större tabeller. Se Konfigurera kolumnkryptering med Always Encrypted med PowerShell eller Konfigurera kolumnkryptering på plats med PowerShell.
En genomgång från slutpunkt till slutpunkt som visar hur du konfigurerar Always Encrypted med guiden och använder den i ett klientprogram finns i följande Självstudier om Azure SQL Database:
Information om Always Encrypted-nycklar finns i Översikt över nyckelhantering för Always Encrypted.
Information om krypteringstyper som stöds i Always Encrypted finns i Välja deterministisk eller slumpmässig kryptering.
Behörigheter
Om du vill utföra kryptografiska åtgärder med hjälp av guiden måste du ha behörigheten VISA VALFRI KOLUMNHUVUDNYCKELDEFINITION OCH VISA VALFRI KOLUMNKRYPTERINGSNYCKELDEFINITION . Du behöver också behörigheter för nyckellagring för att skapa, komma åt och använda din kolumnhuvudnyckel. Detaljerad information om nyckellagringsbehörigheter finns i Skapa och lagra kolumnhuvudnycklar för Always Encrypted eller hitta ett avsnitt som är relevant för ditt nyckelarkiv.
Öppna guiden Always Encrypted
Du kan starta guiden på tre olika nivåer:
- På databasnivå – om du vill kryptera flera kolumner som finns i olika tabeller.
- På tabellnivå – om du vill kryptera flera kolumner i samma tabell.
- På kolumnnivå – om du vill kryptera en specifik kolumn.
Anslut till SQL Server med Object Explorer-komponenten i SQL Server Management Studio.
Så här krypterar du:
- Högerklicka på din databas, peka på Uppgifter och välj sedan Kryptera kolumner för flera kolumner i olika tabeller i en databas.
- Flera kolumner i samma tabell, navigera till tabellen, högerklicka på den och välj sedan Kryptera kolumner.
- En enskild kolumn, navigera till kolumnen, högerklicka på den och välj sedan Kryptera kolumner.
Kolumnvalsida
På den här sidan väljer du kolumner som du vill kryptera, kryptera om eller dekryptera, och du definierar målkrypteringskonfigurationen för de valda kolumnerna.
Om du vill kryptera en oformaterad kolumn (en kolumn som inte är krypterad) väljer du en krypteringstyp (deterministisk eller randomiserad) och en krypteringsnyckel för kolumnen.
Om du vill ändra en krypteringstyp eller rotera (ändra) en kolumnkrypteringsnyckel för en redan krypterad kolumn väljer du önskad krypteringstyp och nyckel.
Om du vill att guiden ska kryptera eller kryptera om en eller flera kolumner med hjälp av en ny kolumnkrypteringsnyckel väljer du en nyckel som innehåller (Ny) i dess namn. Guiden kommer att generera nyckeln.
Om du vill dekryptera en kolumn som för närvarande är krypterad väljer du Klartext som krypteringstyp.
Anmärkning
Om du vill använda kryptering på plats och använder befintliga nycklar kontrollerar du att du väljer enklaveraktiverade nycklar – kommenterade med (enklaveraktiverade).
Anmärkning
Guiden stöder inte kryptografiska operationer på temporala och minnesinterna tabeller. Du kan skapa tomma temporala tabeller eller minnesinterna tabeller med hjälp av Transact-SQL och infoga data med ditt program.
Huvudnyckelkonfigurationssida
Om du har valt en automatiskt genererad kolumnkrypteringsnyckel för valfri kolumn på föregående sida måste du på den här sidan antingen välja en befintlig kolumnhuvudnyckel eller konfigurera en ny kolumnhuvudnyckel som krypterar kolumnkrypteringsnyckeln.
När du konfigurerar en ny kolumnhuvudnyckel kan du antingen välja en befintlig nyckel i Windows Certificate Store eller i Azure Key Vault och låta guiden skapa bara ett metadataobjekt för nyckeln i databasen, eller så kan du välja att generera både nyckeln och metadataobjektet som beskriver nyckeln i databasen.
Om du vill använda kryptering på plats måste du välja Tillåt enklaverberäkningar för en ny kolumnhuvudnyckel. Det är endast tillåtet att markera den här kryssrutan om databasen har konfigurerats med en säker enklav.
Mer information om hur du skapar och lagrar kolumnhuvudnycklar i Windows Certificate Store, Azure Key Vault eller andra nyckellager finns i Skapa och lagra kolumnhuvudnycklar för Always Encrypted eller Hantera nycklar för Always Encrypted med säkra enklaver.
Tips/Råd
Med assistenten kan du endast bläddra och skapa nycklar i Windows Certificate Store och Azure Key Vault. Den skapar också automatiskt namnen på både de nya nycklarna och databasmetadataobjekten som beskriver nycklarna. Om du behöver mer kontroll över hur dina nycklar etableras (och fler alternativ för ett nyckelarkiv som innehåller kolumnhuvudnyckeln) kan du använda dialogrutorna Ny kolumnhuvudnyckel och Ny kolumnkrypteringsnyckel för att skapa nycklarna först och sedan köra guiden och välja de nycklar som du har skapat. Se Etablera kolumnhuvudnycklar med dialogrutan Ny kolumnhuvudnyckel eller Etablera enklaveraktiverade nycklar och Etablera kolumnkrypteringsnycklar med dialogrutan Ny kolumnkrypteringsnyckel.
In-Place Krypteringsinställningar sidan
Om du har konfigurerat en säker enklav i databasen och använder enklaveraktiverade nycklar kan du på den här sidan ange de enklaverattesteringsparametrar som krävs för kryptering på plats. Om du inte vill använda kryptering på plats avmarkerar du Använd kryptering på plats för berättigade kolumner för att fortsätta med kryptering på klientsidan. Vi rekommenderar att du lämnar den här kryssrutan aktiverad så att guiden kan använda kryptering på plats.
Mer information om enklavattestering finns i Konfigurera attestering för Always Encrypted med Azure Attestation
Efter kryptering
Rensa planens cache för alla batchar och lagrade procedurer som har åtkomst till tabellen för att uppdatera krypteringsinformationen av parametrar.
ALTER DATABASE SCOPED CONFIGURATION CLEAR PROCEDURE_CACHE;
Anmärkning
Om du inte tar bort planen för den berörda frågan från cacheminnet kan den första körningen av frågan efter kryptering misslyckas.
Använd ALTER DATABASE SCOPED CONFIGURATION CLEAR PROCEDURE_CACHE eller DBCC FREEPROCCACHE för att rensa plancachen noggrant, eftersom det kan leda till tillfällig försämring av frågeprestanda. För att minimera den negativa effekten av att rensa cacheminnet kan du selektivt ta bort planerna för endast de berörda frågorna.
Anropa sp_refresh_parameter_encryption för att uppdatera metadata för parametrarna för varje modul (lagrad procedur, funktion, vy, utlösare) som sparas i sys.parameters och kan ha ogiltigförklarats genom att kolumnerna krypterades.
Relaterat innehåll
- Fråga ut kolumner med Always Encrypted i SQL Server Management Studio
- Kör Transact-SQL-kommandon med hjälp av säkerhetsenklaver
- Utveckla program med Always Encrypted
- Självstudie: Utveckla ett .NET-program med Always Encrypted med säkra enklaver
- Alltid krypterad
- Always Encrypted med säkra enklaver
- Översikt över nyckelhantering för Always Encrypted
- Konfigurera Always Encrypted med SQL Server Management Studio
- Konfigurera och använda Always Encrypted med säkra enklaver
- Etablera Always Encrypted-nycklar med PowerShell-
- Etablera enklaveraktiverade nycklar
- Konfigurera kolumnkryptering med Always Encrypted med PowerShell
- Konfigurera kolumnkryptering på plats med PowerShell
- Konfigurera kolumnkryptering med Always Encrypted med ett DAC-paket
- Konfigurera kolumnkryptering på plats med DAC-paket
- Konfigurera kolumnkryptering på plats med Transact-SQL