Проверка подлинности сертификата клиента для сценариев замыкания на себя

Скачать драйвер JDBC

В 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)