为提高从 ArcGIS Pro 连接到 Microsoft SQL Server 数据库时的安全性,可在 ArcGIS Pro 中将数据库连接配置为请求使用传输层安全性 (TLS) 加密的加密连接。
这需要您将 SQL Server 实例配置为使用 TLS 加密。如果您不是 SQL Server 数据库管理员,请与数据库管理员联系以确认实例是否配置为使用 TLS 加密。
请注意,与大多数安全措施一样,加密会使通过网络在 SQL Server 和客户端之间发送数据更加安全,但同时会影响性能。
连接到由证书颁发机构提供的 TLS 证书保护的 SQL Server 实例
连接到 SQL Server 的生产实例时,应确保额外的安全性:因为该实例存储对您的业务至关重要的数据。默认情况下,对连接的所有网络流量进行加密要求服务器计算机配置证书,并且必须将客户端计算机设置为信任证书的根证书颁发机构。您可能需要联系您的 IT 部门才能将客户端计算机配置为验证在生产 SQL Server 计算机上中使用的 TLS 证书。
注:
如果您打算在安全的 SQL Server 实例上发布引用已注册数据库中的数据的图层,必须将每个 ArcGIS Server 计算机配置为验证 SQL Server 计算机的 TLS 证书。
在 ArcGIS Pro 中创建数据库连接文件时,将 Encrypt=yes 追加到数据库连接对话框或创建数据库连接地理处理工具中的实例字符串。
当实例字符串中包含多个参数时,请使用分号 (;) 分隔每个参数。例如,为生产 SQL Server 实例 myserver\mysqldb(配置来自证书颁发机构 (CA) 的 TLS 证书)的实例值提供以下信息:myserver\mysqldb;Encrypt=yes。
在此示例中,客户端计算机验证 SQL Server TLS 证书。
连接到测试 SQL Server 实例
即使未配置来自证书颁发机构的 TLS 证书,也要使用加密,可以在实例字符串中包含 TrustServerCertificate=yes 参数。如果指定此参数,则客户端应用程序将使用由 SQL Server 生成的自签名证书。自签名证书不能保证安全,并且可能容易受到中间人攻击。仅当连接到 SQL Server 开发或测试实例时,才使用自签名证书和 TrustServerCertificate=yes 参数。
在以下示例中,与名为 mydevserver\mytestsql 的 SQL Server 开发实例建立加密连接:mydevserver\mytestsql;Encrypt=yes;TrustServerCertificate=yes。