跳转至

Vertica 集成 DataSunrise

Vertica 与 DataSunrise:测试版本

软件 版本
合作伙伴客户端 DataSunrise Database Security Suite 8.1.10-3489
桌面平台 Windows 10 Professional,使用 Chrome 和 Firefox 浏览器
Vertica 客户端 Vertica ODBC driver 12.0.0-0(Windows 10 和 Linux Redhat 7.9,使用 unixODBC)
Vertica 服务器 Vertica server 12.0.0
服务器平台 Linux Redhat 7.9

DataSunrise 概述

DataSunrise Database Security 是一个应用程序防火墙,保护关系数据库免受黑客攻击和内部威胁。DataSunrise 运行在 Windows 和 Linux 操作系统上,独立于任何应用程序运行,不会对数据库服务器造成额外负载。

DataSunrise 可以执行以下任务:

  • 数据审计 (Data Auditing):将所有用户操作、SQL 查询和查询结果记录到内部数据库以供审计。结果可以导出到外部系统。
  • 数据保护 (Data Protection):充当数据库防火墙。分析数据库流量,实时检测和阻止未授权查询和 SQL 注入。检测到的威胁的告警和报告可以发送给管理员处理。
  • 数据脱敏 (Data Masking):通过混淆敏感数据的输出,并用随机或看起来真实的数据替换,防止敏感数据泄露。脱敏功能包括动态和静态数据脱敏,使用多种脱敏算法。
  • 数据发现 (Data Discovery):扫描数据库,定位个人身份信息 (PII) 和电子受保护健康信息 (ePHI)。为包含敏感数据的列创建安全或脱敏规则。

安装 DataSunrise

  1. 首先检查 DataSunrise 文档中说明的 DataSunrise 先决条件。要找到 Admin Guide:
  2. DataSunrise 网站 上,打开 Support 选项卡。
  3. 为您的平台选择 Admin Guide。
  4. 提供下载所需的信息。
  5. 点击 Download。

    注意:DataSunrise 网站 Support 选项卡上的 DataSunrise admin 和 user guides 中提供了先决条件、安装、配置和使用信息。

  6. 在 DataSunrise 网站主页上,点击 Download 下载 DataSunrise Database Security Suite。
  7. 在下载过程中,提供所请求的信息,并从 Database 下拉列表中选择 Vertica
  8. 按照 Admin Guide 中的说明安装 DataSunrise Database Security Suite 和许可证。您可以选择安装 30 天试用版进行评估。

    注意:在测试中,我们将 DataSunrise 和 Vertica 安装在同一台 Linux 主机上,未遇到问题。但 DataSunrise 建议在生产环境中安装在不同的主机上。详情请参阅已知限制。

安装 Vertica 客户端驱动

DataSunrise 使用 ODBC 数据源名称 (DSN) 连接到 Vertica。要创建 DSN,下载 Vertica 客户端包并安装驱动,然后在 ODBC Driver Manager 中配置 DSN。

下载 Vertica 客户端:

  1. 访问 Vertica 客户端驱动页面
  2. 下载与 Vertica 服务器版本兼容的 Vertica 客户端包版本。

    注意:关于客户端和服务器兼容性的详细信息,请参阅 Vertica 文档中的客户端驱动和服务器版本兼容性

安装 ODBC 驱动和创建 DSN:

按照 Vertica 文档中的说明操作: - 安装 ODBC 驱动:客户端驱动 - 创建 DSN:创建 ODBC 数据源名称

您可以选择安装完整的 Vertica 客户端包或仅安装 ODBC 驱动。

在 Vertica 文档的连接到 Vertica 部分中,您将找到所有关于连接 Vertica 的详细信息。

Linux ODBC 驱动配置的特殊注意事项: - Vertica 文档指出,使用 odbcinst.ini 的单一引用驱动路径用于多个 DSN 是可选的。DataSunrise 不使用 DSN 进行连接,因此要求 odbcinst.ini 存在并配置有驱动的名称/值对。如果 odbcinst.ini 未找到或未正确配置,DataSunrise 无法找到驱动并返回错误。 - DataSunrise 使用 ODBC 驱动连接到 Vertica,因此必须使用 vertica.ini,并且必须设置 ErrorMessagesPath 的名称/值对。如果未设置,ODBC 驱动无法找到 ODBC 错误代码的文本。 详情请参阅故障排查部分。

将 Vertica 连接到 DataSunrise

安装并为数据库配置 Vertica ODBC 驱动后,即可将 DataSunrise 连接到 Vertica。

  1. 打开 DataSunrise User Guide。转到 "DataSunrise Configurations" 章节,找到 "Managing Databases" 主题。
  2. 按照启动 DataSunrise Web 界面的说明操作。
  3. 首次进入 Web 界面时,将显示 SMTP 服务器设置表单。点击 Skip。初始设置时不需要此项,可以在后续菜单中配置。
  4. 展开左侧菜单中的 Configuration 选择,选择 Databases
  5. 点击 Add Database。Database Connection Parameters 表单出现。表单字段是动态的,因此请确保首先选择 Database Type "Vertica" 以获取需要填写的相应字段。

以下是已完成表单的示例: 1 1

  1. 点击 Test Connection 确认 DataSunrise 可以连接到数据库。
  2. 如果连接成功,在 Test 按钮下方会显示更多字段。 2 1

    注意:Proxy 字段部分中的端口号是客户端连接到代理的端口。有关此端口号配置注意事项的更多详细信息,请参阅本文档中的已知限制和 DataSunrise User Guide。

  3. 点击 Save 保存数据库配置文件。 状态消息通知您 DataSunrise 正在从数据库的每个模式加载对象信息。根据数据库中对象的数量,这可能需要一些时间。
  4. 加载过程完成后,可以按以下方式验证 DataSunrise 和 Vertica 之间的连接:
  5. 在 Configuration 菜单中,选择 Database Users
  6. 确认您的 Vertica 用户已在目标数据库中定义。 3 1
  7. 您可以使用您喜欢的 SQL 客户端工具(例如 DBVisualizer)验证客户端应用程序是否可以通过 DataSunrise 代理访问 Vertica。像往常一样连接,但使用 DataSunrise 服务器的 IP 地址/主机名而不是 Vertica 服务器的。
  8. 通过代理连接后,您可以查看 Monitoring 菜单中的 System Events,查看捕获的登录活动。 4 1

有关 DataSunrise 与 Vertica 的进一步配置和测试,请参阅 DataSunrise User Guide。

故障排查

  • 如果缺少 odbcinst.ini 文件,或者 Driver64/driver_path 的名称/值对不存在或不正确,则在测试连接或首次尝试连接时会出现以下错误:

    Error code 0 [unixODBC][Driver Manager]Can't open lib 'Vertica' : file not found. Used connection string 'Driver=Vertica;Server=10.20.71.180;Port=5433;Database=VMart;Uid=dbadmin;Pwd=XXXXXX;'
    

    注意:DataSunrise 使用标准 ODBC 方法 SQLGetInstalledDrivers 函数枚举所有已安装的驱动。从函数返回的已安装驱动列表中,DataSunrise 使用第一个名称包含子字符串 "Vertica" 的驱动。如果在 odbcinst.ini 中有多个 Vertica 驱动,请确保希望 DataSunrise 使用的驱动位于列表顶部。

  • 如果 VERTICAINI 环境变量未设置为有效的可读 vertica.ini 文件位置,或者 ErrorMessagesPath 的名称/值对未设置或不正确,则在发生错误时可能看到以下信息:

    SELECT EXCEPTION vmart.vert_datatype_v1_0_4.varchar_table err [[DSI] The error message VPrepareError could not be found in the en-US locale. Check that /en-US/VerticaMessages.xml exists. errCode = -1], Query : SELECT "varchar_max_column","keycolumn","varchar_column" FROM "vert_datatype_v1_0_4"."varchar_table" LIMIT 100
    
    此消息表示 Vertica 驱动无法找到 Vertica 错误消息文件来查找错误码。

以下是使用 /etc 作为 ini 文件默认位置的 ODBC 设置示例:

[dbadmin@vertica-node ~]$ env | grep INI
VERTICAINI=/etc/vertica.ini
ODBCSYSINI=/etc
ODBCINI=odbc.ini
ODBCINSTINI=odbcinst.ini

[dbadmin@vertica-node ~]$ cat /etc/odbc.ini
[ODBC Data Sources]
VMart="Vertica on xx.xx.xx.xxx"
[VMart]
Description=Vmart Database
Driver=Vertica
Database=VMart
Servername=verticahostnameorip
UID=dbadmin
PWD=
Port=5433
ConnSettings=
AutoCommit=0
#SSLKeyFile=/home/dbadmin/client.key
#SSLCertFile=/home/dbadmin/client.crt
Locale=en_US@collation=binary

[dbadmin@vertica-node ~]$ cat /etc/odbcinst.ini
# Example driver definitions
[Vertica]
Description=Vertica ODBC Driver
Driver=/opt/vertica/lib64/libverticaodbc.so
[ODBC]
Threading = 1

[dbadmin@vertica-node ~]$ cat /etc/vertica.ini
[Driver]
DriverManagerEncoding=UTF-16
ODBCInstLib=/usr/lib64/libodbcinst.so
ErrorMessagesPath=opt/vertica/en-US
LogLevel=4
LogPath=/tmp

已知限制

  • 端口冲突:Vertica 硬编码使用端口 5433 作为客户端通信端口。为新的 Vertica 客户端创建代理时,通常会分配新代理到端口 5433,现有客户端可以轻松通过 DSN 重定向。如果 DataSunrise 服务器安装在 Vertica 节点上,则代理端口不能为 5433,因为它已被 Vertica 服务器使用。如果将代理端口设置为 5433 以外的端口,则必须编辑所有客户端的连接字符串以使用该端口号。因此,建议将 Vertica 和 DataSunrise 安装在不同主机上
  • 备份服务器节点故障转移:DataSunrise 目前不支持备份服务器节点故障转移。如果配置文件中的 Vertica 主机宕机,代理将无法连接到数据库。您必须手动编辑数据库配置文件,将主机 IP 地址修改为另一个正在运行的 Vertica 主机,并在故障 Vertica 主机修复后切换回来。
  • 基于应用程序的规则过滤:DataSunrise 可以使用规则过滤器根据应用程序指定操作。此功能在 Vertica 上不支持,因为 Vertica 系统表中不跟踪客户端应用程序名称。
  • 原生连接负载均衡:DataSunrise 目前不支持 Vertica 的原生连接负载均衡。当前,DataSunrise 会转换每个客户端重定向中的主机地址,以防止客户端被重定向到备用主机而绕过代理。

更多信息

关于... 参见...
DataSunrise 网站 https://www.datasunrise.com/
Vertica Community Edition https://www.vertica.com/register/
Vertica User Community https://www.vertica.com/big-data-analytics-community-content/
Vertica 文档 http://vertica.com/docs/latest/HTML/index.htm

原文来源:https://www.vertica.com/kb/DataSunriseCG/Content/Partner/DataSunriseCG.htm