Delen via


SYMMETRISCHE SLEUTEL WIJZIGEN (Transact-SQL)

Van toepassing op:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsSQL-database in Microsoft Fabric Preview

Hiermee wijzigt u de eigenschappen van een symmetrische sleutel.

Transact-SQL syntaxis-conventies

Note

Deze syntaxis wordt niet ondersteund door een serverloze SQL-pool in 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  

Arguments

Key_name
Is de naam waarmee de symmetrische sleutel die moet worden gewijzigd, bekend is in de database.

VERSLEUTELING TOEVOEGEN OP
Hiermee voegt u versleuteling toe met behulp van de opgegeven methode.

VERSLEUTELING NEERZETTEN OP
Hiermee wordt versleuteling door de opgegeven methode wegvallen. U kunt niet alle versleutelingen van een symmetrische sleutel verwijderen.

CERTIFICATE Certificate_name
Hiermee geeft u het certificaat op dat wordt gebruikt voor het versleutelen van de symmetrische sleutel. Dit certificaat moet al aanwezig zijn in de database.

PASSWORD ='password'
Hiermee geeft u het wachtwoord op dat wordt gebruikt voor het versleutelen van de symmetrische sleutel. het wachtwoord moet voldoen aan de windows-wachtwoordbeleidsvereisten van de computer waarop het exemplaar van SQL Server wordt uitgevoerd.

SYMMETRIC_KEY_NAME SYMMETRISCHE SLEUTEL
Hiermee geeft u de symmetrische sleutel op die wordt gebruikt voor het versleutelen van de symmetrische sleutel die wordt gewijzigd. Deze symmetrische sleutel moet al aanwezig zijn in de database en moet zijn geopend.

ASYMMETRISCHE SLEUTEL Asym_Key_Name
Hiermee geeft u de asymmetrische sleutel op die wordt gebruikt voor het versleutelen van de symmetrische sleutel die wordt gewijzigd. Deze asymmetrische sleutel moet al aanwezig zijn in de database.

Remarks

Caution

Wanneer een symmetrische sleutel is versleuteld met een wachtwoord in plaats van met de openbare sleutel van de hoofdsleutel van de database, wordt het TRIPLE_DES versleutelingsalgoritmen gebruikt. Hierdoor worden sleutels die zijn gemaakt met een sterk versleutelingsalgoritmen, zoals AES, zelf beveiligd door een zwakker algoritme.

Als u de versleuteling van de symmetrische sleutel wilt wijzigen, gebruikt u de woordgroepen ADD ENCRYPTION en DROP ENCRYPTION. Het is nooit mogelijk dat een sleutel volledig zonder versleuteling is. Daarom is het raadzaam om de nieuwe vorm van versleuteling toe te voegen voordat u de oude vorm van versleuteling verwijdert.

Om het sleutelmateriaal van de symmetrische sleutel te beveiligen, slaan SQL Server en Azure SQL het sleutelmateriaal in versleutelde vorm op. In het verleden gebruikte versleuteling PKCS#1 v1.5 opvullingsmodus; vanaf databasecompatibiliteitsniveau 170 gebruikt de versleuteling de opvullingsmodus OAEP-256 voor versleuteling per certificaat of asymmetrische sleutel.

Als u de eigenaar van een symmetrische sleutel wilt wijzigen, gebruikt u ALTER AUTHORIZATION.

Note

Het RC4-algoritme wordt alleen ondersteund voor achterwaartse compatibiliteit. Nieuw materiaal kan alleen worden versleuteld met RC4 of RC4_128 wanneer de database compatibiliteitsniveau 90 of 100 heeft. (Niet aanbevolen.) Gebruik in plaats daarvan een nieuwer algoritme, zoals een van de AES-algoritmen. In SQL Server 2012 (11.x)-materiaal dat is versleuteld met RC4 of RC4_128 kan worden ontsleuteld in elk compatibiliteitsniveau.

Permissions

Vereist ALTER-machtiging voor de symmetrische sleutel. Als u versleuteling op basis van een certificaat of asymmetrische sleutel toevoegt, is de MACHTIGING VIEW DEFINITION vereist voor het certificaat of de asymmetrische sleutel. Als versleuteling wordt neergeslagen door een certificaat of asymmetrische sleutel, is control-machtiging vereist voor het certificaat of de asymmetrische sleutel.

Examples

In het volgende voorbeeld wordt de versleutelingsmethode gewijzigd die wordt gebruikt om een symmetrische sleutel te beveiligen. De symmetrische sleutel JanainaKey043 wordt versleuteld met behulp van een certificaat Shipping04 wanneer de sleutel is gemaakt. Omdat de sleutel nooit niet-versleuteld kan worden opgeslagen, wordt in dit voorbeeld versleuteling toegevoegd door een wachtwoord en wordt versleuteling vervolgens verwijderd door een certificaat.

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;  

See Also

SYMMETRISCHE SLEUTEL (Transact-SQL) maken
OPENEN SYMMETRISCHE SLEUTEL (Transact-SQL)
SYMMETRISCHE SLEUTEL SLUITEN (Transact-SQL)
DROP SYMMETRIC KEY (Transact-SQL)
Encryption Hierarchy