环回方案的客户端证书身份验证
在 SQL Server 2016 中添加了名为 sp_execute_external_script (SPEES) 的新存储过程。 作为扩展性工作量的一部分,此存储过程允许 SQL Server 在 SQL Server 之外启动和执行外部脚本。 它还提供了对 R 和 Python 脚本的支持,两者都具有可以使用 JDBC 驱动程序连接到 SQL Server 的库。 虽然 Windows 上的 SQL Server 可以使用 Windows 集成身份验证,以使用与启动查询的用户相同的凭据对这些环回连接进行身份验证,但 Linux 上的 SQL Server 不能执行相同操作。 因此,将添加客户端证书身份验证,以允许用户使用证书和密钥进行身份验证。
使用客户端证书身份验证进行连接
JDBC 驱动程序为此功能添加了三个连接属性:
clientCertificate – 指定用于身份验证的证书。 JDBC 驱动程序将支持 PFX、PEM、DER 和 CER 文件扩展名。
格式
clientCertificate=<file_location>
驱动程序使用证书文件。 对于 PEM、DER 和 CER 格式的证书,clientKey 属性是必需的。 文件位置可以是相对的,也可以是绝对的。
clientKey – 指定由 clientCertificate 属性指定的 PEM、DER 或 CER 证书的私钥的文件位置。
格式
clientKey=<file_location>
指定私钥文件的位置。 如果私钥文件受密码保护,则需要 password 关键字。 文件位置可以是相对的,也可以是绝对的。
clientKeyPassword – 提供用于访问 clientKey 文件私钥的可选密码字符串。
此功能仅在针对 Linux SQL Server 2019 及更高版的环回身份验证方案中正式受支持。
另请参阅
通过 JDBC 驱动程序连接到 SQL Server
sp_execute_external_script (Transact-SQL)