Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Применимо к:SQL Server
Azure SQL база данных
Управляемый экземпляр Azure SQL
Azure Synapse Analytics
База данных SQL в предварительной версии Microsoft Fabric
Расшифровывает симметричный ключ и делает его доступным для использования.
Соглашения о синтаксисе Transact-SQL
Note
Этот синтаксис не поддерживается бессерверным пулом SQL в Azure Synapse Analytics.
Syntax
OPEN SYMMETRIC KEY Key_name DECRYPTION BY <decryption_mechanism>
<decryption_mechanism> ::=
CERTIFICATE certificate_name [ WITH PASSWORD = 'password' ]
|
ASYMMETRIC KEY asym_key_name [ WITH PASSWORD = 'password' ]
|
SYMMETRIC KEY decrypting_Key_name
|
PASSWORD = 'decryption_password'
Arguments
Key_name
Имя симметричного ключа, который нужно открыть.
CERTIFICATE certificate_name
Имя сертификата, закрытый ключ которого будет использоваться для расшифровки симметричного ключа.
АСИММЕТРИЧНЫЙ КЛЮЧ ASYM_KEY_NAME
Имя асимметричного ключа, закрытый ключ которого будет использоваться для расшифровки симметричного ключа.
WITH PASSWORD ='password'
Пароль, который использовался для шифрования закрытого ключа сертификата или асимметричного ключа.
DECRYPTING_KEY_NAME СИММЕТРИЧНОГО КЛЮЧА
Имя симметричного ключа, который будет использоваться для расшифровки открываемого симметричного ключа.
PASSWORD ='password'
Пароль, использовавшийся для защиты симметричного ключа.
Remarks
Открытые симметричные ключи привязаны к сеансу, а не к контексту безопасности. Открытый ключ останется доступным, пока не будет явно закрыт или сеанс не будет прерван. Если открыт симметричный ключ, после чего произошло переключение контекста, ключ останется открытым и будет доступным в олицетворенном контексте. Одновременно можно открыть несколько ключей. Сведения о симметричных ключах доступны в представлении каталога sys.openkeys (Transact-SQL).
Если симметричный ключ был зашифрован другим ключом, сначала необходимо открыть этот ключ.
Если симметричный ключ уже открыт, то запрос является запросом NO_OP.
Если пароль, сертификат или ключ для расшифровки симметричного ключа неверен, запрос завершается сбоем.
Симметричные ключи, созданные из поставщиков шифрования, не могут быть открыты. Операции шифрования и расшифровки, для которых используется симметричный ключ этого типа, выполняются успешно без инструкции OPEN, поскольку открытие и закрытие ключа осуществляется поставщиком шифрования.
Permissions
Участник должен обладать некоторыми разрешениями на ключ и не должен иметь запрета на разрешение VIEW DEFINITION для ключа. Дополнительные требования зависят от механизма расшифровки:
DECRYPTION BY CERTIFICATE: разрешение CONTROL на сертификат и пароль, который шифрует закрытый ключ сертификата;
DECRYPTION BY ASYMMETRIC KEY: разрешение CONTROL на асимметричный ключ и знание пароля, который шифрует закрытый ключ сертификата;
DECRYPTION BY PASSWORD: знание одного из паролей, использованного для шифрования симметричного ключа.
Examples
A. Открытие симметричного ключа с помощью сертификата
Следующий пример иллюстрирует открытие симметричного ключа SymKeyMarketing3 и его расшифровку с помощью закрытого ключа сертификата MarketingCert9.
USE AdventureWorks2022;
OPEN SYMMETRIC KEY SymKeyMarketing3
DECRYPTION BY CERTIFICATE MarketingCert9;
GO
B. Открытие симметричного ключа с помощью другого симметричного ключа
Следующий пример иллюстрирует открытие симметричного ключа MarketingKey11 и его расшифровку с помощью симметричного ключа HarnpadoungsatayaSE3.
USE AdventureWorks2022;
-- First open the symmetric key that you want for decryption.
OPEN SYMMETRIC KEY HarnpadoungsatayaSE3
DECRYPTION BY CERTIFICATE sariyaCert01;
-- Use the key that is already open to decrypt MarketingKey11.
OPEN SYMMETRIC KEY MarketingKey11
DECRYPTION BY SYMMETRIC KEY HarnpadoungsatayaSE3;
GO
See Also
СОЗДАТЬ СИММЕТРИЧНЫЙ КЛЮЧ (Transact-SQL)
ALTER СИММЕТРИЧНЫЙ КЛЮЧ (Transact-SQL)
CLOSE SYMMETRIC KEY (Transact-SQL)
DROP SYMMETRIC KEY (Transact-SQL)
Encryption Hierarchy
Расширенное управление ключами (EKM)