SQL Server EncryptByKey с поставщиком EKM
Я хочу использовать команду Transact-SQL EncryptByKey в базе данных SQL Server. И я хочу использовать внешнего поставщика ключей (EKM) для хранения ключа.
Я успешно создал симметричный ключ «symmetric_key» с помощью команды:
USE master ;
GO
CREATE SYMMETRIC KEY symmetric_key
FROM PROVIDER EKM_Prov
WITH ALGORITHM = AES_256,
PROVIDER_KEY_NAME = 'symmetric_key' ;
GO
Я вижу ключ у внешнего поставщика ключей и в таблице.sys.symmetric_keys
.
Теперь я просто хочу зашифровать некоторые данные, например:
SELECT EncryptByKey(Key_GUID('symmetric_key'), 'Highest') AS CipherText;
Но он всегда возвращает NULL.
Открытие ключа не требуется для внешних ключей, как описано в: https://learn.microsoft.com/en-us/sql/t-sql/statements/open-symmetric-key-transact-sql?view=sql- сервер-версия16
Что мне не хватает?
Нужно ли мне привязывать «symmetric_key» к логину? Если да, то как?