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
Azure Synapse Analytics
SQL-databas i Microsoft Fabric
Ändrar egenskaperna för en symmetrisk nyckel.
Transact-SQL syntaxkonventioner
Anmärkning
Den här syntaxen stöds inte av en serverlös SQL-pool i Azure Synapse Analytics.
Syntax
ALTER SYMMETRIC KEY Key_name <alter_option>
<alter_option> ::=
ADD ENCRYPTION BY <encrypting_mechanism> [ , ... n ]
|
DROP ENCRYPTION BY <encrypting_mechanism> [ , ... n ]
<encrypting_mechanism> ::=
CERTIFICATE certificate_name
|
PASSWORD = 'password'
|
SYMMETRIC KEY Symmetric_Key_Name
|
ASYMMETRIC KEY Asym_Key_Name
Argumentpunkter
Key_name
Är namnet som den symmetriska nyckeln som ska ändras är känt i databasen.
LÄGG TILL KRYPTERING EFTER
Lägger till kryptering med den angivna metoden.
SLÄPP KRYPTERING EFTER
Släpper kryptering med den angivna metoden. Du kan inte ta bort alla krypteringar från en symmetrisk nyckel.
CERTIFIKAT Certificate_name
Anger det certifikat som används för att kryptera den symmetriska nyckeln. Certifikatet måste redan finnas i databasen.
LÖSENORD ='lösenord'
Anger lösenordet som används för att kryptera den symmetriska nyckeln.
lösenordet måste uppfylla kraven för Windows-lösenordsprinciper för den dator som kör instansen av SQL Server.
SYMMETRISK NYCKEL Symmetric_Key_Name
Anger den symmetriska nyckel som används för att kryptera den symmetriska nyckel som ändras. Den här symmetriska nyckeln måste redan finnas i databasen och måste vara öppen.
ASYMMETRISK NYCKEL Asym_Key_Name
Anger den asymmetriska nyckel som används för att kryptera den symmetriska nyckel som ändras. Den här asymmetriska nyckeln måste redan finnas i databasen.
Anmärkningar
Försiktighet
När en symmetrisk nyckel krypteras med ett lösenord i stället för med den offentliga nyckeln för databashuvudnyckeln används TRIPLE_DES krypteringsalgoritmen. Därför skyddas nycklar som skapas med en stark krypteringsalgoritm, till exempel AES, av en svagare algoritm.
Om du vill ändra krypteringen för den symmetriska nyckeln använder du fraserna LÄGG TILL KRYPTERING och SLÄPP KRYPTERING. Det är aldrig möjligt för en nyckel att vara helt utan kryptering. Därför är bästa praxis att lägga till den nya krypteringsformen innan du tar bort den gamla krypteringsformen.
För att skydda nyckelmaterialet för den symmetriska nyckeln lagrar SQL Server och Azure SQL nyckelmaterialet i krypterad form. Tidigare använde den här krypteringen PKCS#1 v1.5 utfyllnadsläge; Från och med databaskompatibilitetsnivå 170 använder krypteringen utfyllnadsläget OAEP-256 för kryptering efter certifikat eller asymmetrisk nyckel.
Om du vill ändra ägaren till en symmetrisk nyckel använder du ALTER AUTHORIZATION.
Anmärkning
RC4-algoritmen stöds endast för bakåtkompatibilitet. Nytt material kan bara krypteras med hjälp av RC4 eller RC4_128 när databasen är på kompatibilitetsnivå 90 eller 100. (Rekommenderas inte.) Använd en nyare algoritm, till exempel en av AES-algoritmerna i stället. I SQL Server 2012 (11.x) kan material som krypterats med RC4 eller RC4_128 dekrypteras på valfri kompatibilitetsnivå.
Behörigheter
Kräver ALTER-behörighet för den symmetriska nyckeln. Om du lägger till kryptering med ett certifikat eller en asymmetrisk nyckel måste du ha behörigheten VIEW DEFINITION på certifikatet eller asymmetrisk nyckel. Om du släpper kryptering med ett certifikat eller en asymmetrisk nyckel kräver du KONTROLL-behörighet för certifikatet eller asymmetrisk nyckel.
Exempel
I följande exempel ändras krypteringsmetoden som används för att skydda en symmetrisk nyckel. Den symmetriska nyckeln JanainaKey043
krypteras med hjälp av certifikatet Shipping04
när nyckeln skapades. Eftersom nyckeln aldrig kan lagras okrypterad läggs kryptering i det här exemplet till med lösenord och sedan tas krypteringen bort av certifikatet.
CREATE SYMMETRIC KEY JanainaKey043 WITH ALGORITHM = AES_256
ENCRYPTION BY CERTIFICATE Shipping04;
-- Open the key.
OPEN SYMMETRIC KEY JanainaKey043 DECRYPTION BY CERTIFICATE Shipping04
WITH PASSWORD = '<enterStrongPasswordHere>';
-- First, encrypt the key with a password.
ALTER SYMMETRIC KEY JanainaKey043
ADD ENCRYPTION BY PASSWORD = '<enterStrongPasswordHere>';
-- Now remove encryption by the certificate.
ALTER SYMMETRIC KEY JanainaKey043
DROP ENCRYPTION BY CERTIFICATE Shipping04;
CLOSE SYMMETRIC KEY JanainaKey043;
Se även
SKAPA SYMMETRISK NYCKEL (Transact-SQL)
Öppen symmetrisk nyckel (Transact-SQL)
STÄNG SYMMETRISK NYCKEL (Transact-SQL)
SLÄPP SYMMETRISK NYCKEL (Transact-SQL)
Krypteringshierarki