堡垒机支持对RDS以及MySQL、SQL Server、PostgreSQL、Oracle类型的自建数据库进行运维和审计,同时运维人员可以通过客户端工具或命令行方式开启SSH隧道,使用运维令牌进行运维审计。本文介绍如何运维数据库。

通过客户端工具进行SSH隧道运维

前提条件

  • 已在本地主机安装支持SSH隧道的数据库运维工具,例如DBeaver、DbVisualizer、Navicat Premium、Navicat For MySQL等。
  • 已获取堡垒机公网运维地址。您可以在堡垒机概览页面的运维入口区域获取运维地址。具体操作,请参见堡垒机页面概览

本文以DBeaver工具为例,介绍通过客户端工具进行SSH隧道运维流程。

操作步骤

  1. 登录Web运维门户。具体操作,请参见登录运维门户
  2. 在左侧导航栏,单击数据库
  3. 数据库页面,定位到目标数据库,在运维令牌列,单击对应的运维令牌。
  4. 运维令牌对话框,选择数据库账户,单击获取运维令牌
    说明
    • 生成的运维令牌有效期为5分钟,请在失效前完成运维登录。
    • 生成的运维令牌为当次运维的唯一认证标识,仅可使用一次,请勿转发。如您在客户端配置页面时进行了测试连接操作,该运维令牌将会失效。正式连接运维时需重新申请运维令牌。
    • 登录运维门户获取运维令牌时,如果当前数据库账户未在堡垒机上托管,则需要在运维令牌对话框配置运维令牌的基本信息后,才能获取运维令牌。关于新建数据库账户的更多信息,请参见管理数据库账户
    • 审计记录的运维用户信息为申请令牌的用户,与客户端中所填用户名无关。
  5. 打开DBeaver工具,创建目标数据库连接。
    • 常规页签,参考下表配置数据库信息。
      配置项说明
      主机数据库资产地址。
      端口数据库资产端口。
      用户名需要运维的数据库资产账户登录名称。
      密码
      • MySQL、SQL Server、PostgreSQL数据库:如果管理员已在堡垒机中托管了数据库账户密码,则无需填写密码;如果管理员未在堡垒机中托管数据库账户密码,则需填写数据库账户的登录密码。
      • Oracle数据库:
        • 如果管理员已在堡垒机中托管数据库账户密码,则密码填写为123456,登录属性按照运维令牌处提示进行选择。
        • 如果管理员未在堡垒机中托管数据库账户密码,则密码需填写数据库账户的登录密码,登录属性按照运维令牌处提示进行选择。
      说明 建议您勾选保存密码,如果未勾选,客户端可能会要求您填写账户密码,您可以将运维令牌填写在密码处。
    • SSH页签,勾选使用SSH通道,参考下表配置SSH信息。
      配置项说明
      使用SSH通道勾选使用SSH通道
      主机/IP堡垒机运维地址。
      端口堡垒机SSH运维端口,默认为60022。
      用户名称运维员登录堡垒机的用户名称。
      密码运维令牌。
      说明 建议您勾选保存密码,如果未勾选,客户端可能会要求您填写账户密码,您可以将运维令牌填写在密码处。
  6. 在DBeaver中,双击新创建的数据库连接,登录数据库资产进行运维。

通过命令行进行SSH隧道运维

本文以MySQL协议为例,介绍命令行SSH隧道方式的运维登录流程。
说明 暂不支持通过命令行SSH隧道方式运维Oracle数据库。
  1. 登录Web运维门户。具体操作,请参见登录运维门户
  2. 在左侧导航栏,单击数据库
  3. 数据库页面,定位到目标数据库,在运维令牌列,单击对应的运维令牌。
  4. 运维令牌对话框,选择数据库账户,单击获取运维令牌
    说明
    • 生成的运维令牌有效期为5分钟,请在失效前完成运维登录。
    • 生成的运维令牌为当次运维的唯一认证标识,仅可使用一次,请勿转发。如您在客户端配置页面时进行了测试连接操作,该运维令牌将会失效。正式连接运维时需重新申请运维令牌。
    • 登录运维门户获取运维令牌时,如果当前数据库账户未在堡垒机上托管,则需要在运维令牌对话框配置运维令牌的基本信息后,才能获取运维令牌。关于新建数据库账户的更多信息,请参见管理数据库账户
    • 审计记录的运维用户信息为申请令牌的用户,与客户端中所填用户名无关。
  5. 打开命令行工具,执行以下命令。
    ssh -N -L <localport>:<databaseAddress>:<databasePort>
    <bastionusername>@<bastionAddress> -p <bastionPort>
    参数说明
    参数说明
    localport建立隧道后自定义本地监听的端口。请确认与本地已有监听端口不存在冲突。
    databaseAddress需要运维的数据库资产的地址。
    databasePort需要运维的数据库资产的端口。
    bastionusername云堡垒机的用户名。
    bastionAddress云堡垒机的运维地址。
    bastionPort云堡垒机SSH运维的端口。默认为60022。
  6. 在密码认证步骤,输入运维令牌,然后按回车键。
    密码认证
  7. 另起一个命令行,确认本地自定义端口处于已监听状态,LISTEN表示已监听。
    监听状态
  8. 执行以下命令。其中,accountname为运维的数据库登录账户名;localport步骤5定义的本地监听端口。连接成功后,执行运维命令。
    mysql -h 127.0.0.1 -u accountname -P localport
    执行运维命令