У нас есть пакет служб SSIS, который обращается к столбцам базы данных, которые зашифрованы с использованием Always Encrypted.
Это не работает при запуске пакета служб SSIS через задание SQL с использованием прокси-пользователя.
Не удалось расшифровать ключ шифрования столбца с помощью поставщика хранилища ключей 'mssql_certificate_store'
Мы попытались войти на сервер как пользователь домена и запустить пакет служб SSIS вручную, и мы не получаем эту ошибку.Таким образом, кажется, что существует некоторая проблема с доступом к сертификатам, когда прокси-пользователь активирует пакет ssis.
Код для настройки прокси-пользователя:
CREATE CREDENTIAL [SSIS Credential]
WITH IDENTITY = N'DOMAIN\service_ssis_user', SECRET = N'DomainPassword'
IF NOT EXISTS (SELECT name FROM sysproxies WHERE name = 'SSIS Package')
BEGIN
EXEC msdb.dbo.sp_add_proxy
@proxy_name = N'SSIS Package',
@credential_name = N'SSIS Credential', @enabled = 1
EXEC msdb.dbo.sp_grant_proxy_to_subsystem
@proxy_name = N'SSIS Package', @subsystem_id = 11
EXEC msdb.dbo.sp_grant_login_to_proxy
@proxy_name = N'SSIS Package',
@login_name = N'DOMAIN\service_ssis_user'
END
GO
Цель состоит в том, чтобы получитьпакет служб SSIS, работающий от имени пользователя домена и имеющий доступ к сертификатам, связанным с этим пользователем
Обновление:
Прокси-пользователь не «входит» как пользователь, для которого я создал учетные данные,он просто использует контекст безопасности пользователя для запуска команды.Таким образом, он не загружает их профиль пользователя Windows, что может произойти при входе в систему непосредственно от имени пользователя домена.И поэтому сертификаты не доступны при работе через прокси.Однако я не знаю, как обойти эту проблему.