Проверка подлинности сертификата клиента для сценариев замыкания на себя
В SQL Server 2016 была добавлена новая хранимая процедура с именем sp_execute_external_script (SPEES). Эта хранимая процедура позволяет SQL Server запускать и выполнять внешний сценарий за пределами SQL Server как расширение. В ней предусмотрена поддержка скриптов R и Python, в которых есть библиотеки, которые могут использовать драйвер JDBC для подключения к SQL Server. Хотя SQL Server в Windows может использовать встроенную проверку подлинности Windows для проверки подлинности этих подключений с теми же учетными данными, что и пользователь, который запустил запрос, SQL Server на Linux не может сделать то же самое. Поэтому в такой ситуации добавляется проверка подлинности сертификата клиента, чтобы разрешить пользователям проходить проверку подлинности с помощью сертификата и ключа.
Подключение с помощью проверки подлинности с помощью сертификата клиента
Драйвер JDBC добавляет три свойства подключения для этой функции:
clientCertificate — определяет сертификат, который будет использоваться для аутентификации. Драйвер JDBC будет поддерживать расширения файлов PFX, PEM, DER и CER.
Формат
clientCertificate=<file_location>
Этот драйвер использует файл сертификата. Для сертификатов в форматах PEM, DER и CER требуется атрибут clientKey. Расположение файла может быть относительным или абсолютным.
clientKey — указывает расположение файла закрытого ключа для сертификатов PEM, DER или CER, заданных атрибутом clientCertificate.
Формат
clientKey=<file_location>
Указывает расположение файла закрытого ключа. Если файл закрытого ключа защищен паролем, необходимо ввести пароль-ключ. Расположение файла может быть относительным или абсолютным.
clientKeyPassword — необязательная строка пароля для доступа к закрытому ключу файла clientKey.
Эта функция официально поддерживается только для сценариев проверки подлинности на базе Linux SQL Server 2019 и выше.
См. также
Подключение к SQL Server с помощью JDBC Driver
sp_execute_external_script (Transact-SQL)