要提高从 ArcGIS AllSource 连接到 Microsoft SQL Server 数据库时的安全性,可以将 ArcGIS AllSource 中的数据库连接配置为使用传输层安全性 (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 AllSource 中创建数据库连接文件时,可以将 Encrypt=yes 追加到数据库连接对话框或创建数据库连接地理处理工具的实例字符串中,或者在数据库连接对话框的附加属性部分将 Encrypt 属性设置为 yes。
当实例字符串包含多个参数时,请使用分号 (;) 分隔参数。 例如,为以下由认证机构颁发的 TLS 证书保护的生产 SQL Server 实例 myserver\mysqldb 提供以下信息作为实例值:
myserver\mysqldb;Encrypt=yes
在上面的示例中,客户端计算机验证了 SQL Server TLS 证书。
连接到测试 SQL Server 实例
如果没有由认证机构颁发的 TLS 证书,您可以在实例字符串中包含 TrustServerCertificate=yes 参数,或者在数据库连接对话框的附加属性部分将 TrustServerCertificate 属性设置为 yes,以使用加密。 使用此参数时,客户端应用程序将使用 SQL Server 生成的自签名证书。 自签名证书不能保证安全,并且可能容易受到中间人攻击。 仅在连接到 SQL Server 的开发或测试实例时,使用自签名证书并将 TrustServerCertificate 设置为 yes。
在以下示例中,通过将信息直接放入实例字符串文本中,与名为 mydevserver\mytestsql 的 SQL Server 开发实例建立了加密连接:
mydevserver\mytestsql;Encrypt=yes;TrustServerCertificate=yes