Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Применимо к:SQL Server
Azure SQL база данных
Управляемый экземпляр Azure SQL
Azure Synapse Analytics
База данных SQL в предварительной версии Microsoft Fabric
Изменяет свойства симметричного ключа.
Соглашения о синтаксисе Transact-SQL
Note
Этот синтаксис не поддерживается бессерверным пулом SQL в 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
Имя, под которым изменяемый симметричный ключ известен в базе данных.
ДОБАВЛЕНИЕ ШИФРОВАНИЯ ПО
Добавляет шифрование при помощи указанного метода.
УДАЛЕНИЕ ШИФРОВАНИЯ ПО
Отменяет шифрование при помощи указанного метода. Все виды шифрования из симметричного ключа удалить нельзя.
CERTIFICATE Certificate_name
Указывает сертификат, используемый для шифрования симметричного ключа. Этот сертификат уже должен существовать в базе данных.
PASSWORD ='password'
Указывает пароль, используемый для шифрования симметричного ключа.
пароль должен соответствовать требованиям политики паролей Windows компьютера, на котором выполняется экземпляр SQL Server.
SYMMETRIC_KEY_NAME СИММЕТРИЧНОГО КЛЮЧА
Указывает симметричный ключ, используемый для шифрования изменяемого симметричного ключа. Симметричный ключ уже должен существовать в базе данных и быть открытым.
АСИММЕТРИЧНЫЙ КЛЮЧ ASYM_KEY_NAME
Указывает асимметричный ключ, используемый для шифрования изменяемого симметричного ключа. Асимметричный ключ должен уже существовать в базе данных.
Remarks
Caution
Если шифрование симметричного ключа выполняется не с открытым ключом главного ключа базы данных, а с паролем, используется алгоритм шифрования TRIPLE_DES. Поэтому ключи, созданные с помощью сильных алгоритмов шифрования, таких как AES, защищены с помощью более слабого алгоритма.
Для изменения шифрования симметричного ключа используйте предложения ADD ENCRYPTION и DROP ENCRYPTION. Невозможно, чтобы ключу не соответствовал никакой способ шифрования. Поэтому оптимальным способом изменения метода шифрования является добавление новой формы шифрования и затем удаление старой.
Чтобы защитить ключевой материал симметричного ключа, SQL Server и Azure SQL хранят материал ключа в зашифрованной форме. Исторически этот режим шифрования использовал PKCS#1 версии 1.5; начиная с уровня совместимости базы данных 170, шифрование использует режим OAEP-256 для шифрования по сертификату или асимметричному ключу.
Для изменения владельца симметричного ключа выполните инструкцию ALTER AUTHORIZATION.
Note
Алгоритм RC4 поддерживается только в целях обратной совместимости. Когда база данных имеет уровень совместимости 90 или 100, новые материалы могут шифроваться только с помощью алгоритмов RC4 или RC4_128. (Не рекомендуется.) Используйте вместо этого более новые алгоритмы, например AES. В материале SQL Server 2012 (11.x), зашифрованном с помощью RC4 или RC4_128, можно расшифровать на любом уровне совместимости.
Permissions
Требует разрешения ALTER на симметричный ключ. При добавлении шифрования по сертификату или асимметричному ключу необходимо разрешение VIEW DEFINITION на сертификат или асимметричный ключ. При удалении шифрования по сертификату или асимметричному ключу необходимо разрешение CONTROL на сертификат или асимметричный ключ.
Examples
В следующем примере изменяется метод шифрования, используемый для защиты симметричного ключа. Шифрование симметричного ключа JanainaKey043
производится при помощи сертификата Shipping04
во время создания этого ключа. Так как ключ никогда не может храниться незашифрованным, в этом примере шифрование добавляется по паролю, а удаляется шифрование по сертификату.
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
СОЗДАТЬ СИММЕТРИЧНЫЙ КЛЮЧ (Transact-SQL)
OPEN SYMMETRIC KEY (Transact-SQL)
CLOSE SYMMETRIC KEY (Transact-SQL)
DROP SYMMETRIC KEY (Transact-SQL)
Encryption Hierarchy