数据库运维

堡垒机支持对MySQL、SQL Server、PostgreSQL类型的RDS和MySQL、PostgreSQL、PostgreSQL(兼容Oracle)的PolarDB以及MySQL、SQL Server、PostgreSQL、Oracle类型的自建数据库进行运维和审计,同时运维人员可开启SSH隧道,使用运维令牌进行运维审计。本文以DBeaver工具为例,介绍不同类型的数据库在Mac客户端的运维登录流程。

前提条件

  • 已在本地主机安装支持SSH隧道的数据库运维工具,例如DBeaver、DbVisualizer、Navicat Premium、Navicat For MySQL等。

  • 已获取堡垒机运维地址。您可以在堡垒机概览页面的堡垒机实例信息区域获取运维地址。具体操作,请参见堡垒机页面概览概览

    说明

    堡垒机提供固定的域名模式运维地址,同时使用动态IP以确保安全不易被攻击。运维地址解析出的IP可能会发生变化,请您使用堡垒机分配的域名地址进行运维,避免因IP变化而无法运维。

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

本文以DBeaver工具为例,介绍不同类型的数据库在Mac系统的运维登录流程。

  1. 登录堡垒机控制台或运维门户,获取运维令牌。具体操作,请参见获取运维令牌

    说明
    • 登录运维门户获取运维令牌时,如果当前数据库账户未在堡垒机上托管,则需要在运维令牌对话框配置数据库账户的基本信息后,才能获取运维令牌。关于新建数据库账户的更多信息,请参见管理数据库账户

    • 运维令牌需要在有效期内使用,管理员可以在堡垒机设置令牌有效期。若开启运维审批,则以管理员审批通过时设置的有效期为准。

    • 如果管理员设置允许运维员自主续期,则令牌过期前,运维员可以自主为令牌续期,过期之后需要重新申请令牌。若已开启运维审批,则运维员不可进行续期。运维令牌配置修改后需要重新申请或更新令牌才可生效。

    • 若令牌在有效期内但运维连接失败,可能为运维并发已达到上限,请联系管理员升配堡垒机规格或释放空闲连接;或管理员限制了该来源IP和时间段导致无法运维,请联系管理员解除限制。

    • 审计记录的运维用户信息为申请令牌的用户,与客户端中所填用户名和资产账户无关。

  2. 打开DBeaver运维工具,新建目标数据库连接。

    1. 常规页签,参考下表配置数据库资产的信息,单击下一步

      配置项

      说明

      服务器地址

      数据库资产地址。

      端口

      需要运维的数据库资产的端口。

      用户名

      需要运维的数据库资产的登录名称。

      密码

      • MySQL、SQL Server、PostgreSQL数据库:如果管理员已在堡垒机中托管了数据库账户密码,则密码无需填写;如果管理员未在堡垒机中托管数据库账户密码,则密码需填写数据库账户的登录密码。

      • Oracle数据库:

        • 如果管理员已在堡垒机中托管数据库账户密码,则密码填写为123456,登录属性按照运维令牌处提示进行选择。

        • 如果管理员未在堡垒机中托管数据库账户密码,则密码需填写数据库账户的登录密码,登录属性按照运维令牌处提示进行选择。

      说明 建议您勾选保存密码,如果未勾选,客户端可能会要求您填写账户密码,您可以将运维令牌填写在密码处。
    2. SSH页签,配置运维的基础信息,单击完成

      配置项

      说明

      使用SSH通道

      勾选使用SSH通道

      主机/IP

      堡垒机运维地址。

      端口

      堡垒机SSH运维端口。默认为60022。

      用户名

      运维员登录堡垒机的用户名称。

      密码

      填写获取的运维令牌。

      说明 建议您勾选保存密码,如果未勾选,客户端可能会要求您填写账户密码,您可以将运维令牌填写在密码处。
  3. 在DBeaver工具中,双击新创建的数据库连接,登录数据库资产进行运维。

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

本文以MySQL协议为例,介绍命令行SSH隧道方式的运维登录流程。

说明

暂不支持通过命令行SSH隧道方式运维Oracle数据库。

  1. 登录运维门户。具体操作,请参见登录运维门户

  2. 在左侧导航栏,单击数据库

  3. 数据库页面,定位到目标数据库,在运维令牌列,单击对应的运维令牌。

  4. 运维令牌对话框,选择数据库账户,单击获取运维令牌

    说明
    • 登录运维门户获取运维令牌时,如果当前数据库账户未在堡垒机上托管,则需要在运维令牌对话框配置数据库账户的基本信息后,才能获取运维令牌。关于新建数据库账户的更多信息,请参见管理数据库账户

    • 运维令牌需要在有效期内使用,管理员可以在堡垒机设置令牌有效期。若开启运维审批,则以管理员审批通过时设置的有效期为准。

    • 如果管理员设置允许运维员自主续期,则令牌过期前,运维员可以自主为令牌续期,过期之后需要重新申请令牌。若已开启运维审批,则运维员不可进行续期。运维令牌配置修改后需要重新申请或更新令牌才可生效。

    • 若令牌在有效期内但运维连接失败,可能为运维并发已达到上限,请联系管理员升配堡垒机规格或释放空闲连接;或管理员限制了该来源IP和时间段导致无法运维,请联系管理员解除限制。

    • 审计记录的运维用户信息为申请令牌的用户,与客户端中所填用户名和资产账户无关。

  5. 打开命令行工具,执行以下命令。

    ssh -N -L <localport>:<databaseAddress>:<databasePort>
    <bastionusername>@<bastionAddress> -p <bastionPort>

    参数说明

    参数

    说明

    localport

    建立隧道后自定义本地监听的端口。请确认与本地已有监听端口不存在冲突。

    databaseAddress

    需要运维的数据库资产的地址。

    databasePort

    需要运维的数据库资产的端口。

    bastionusername

    云堡垒机的用户名。

    bastionAddress

    云堡垒机的运维地址。

    bastionPort

    云堡垒机SSH运维的端口。默认为60022。

  6. 在密码认证步骤,输入运维令牌,然后按回车键。

    密码认证
  7. 另起一个命令行,确认本地自定义端口处于已监听状态,LISTEN表示已监听。

    监听状态
  8. 执行以下命令,连接MySQL数据库。

    mysql -h 127.0.0.1 -u <accountname> -P <localport>
    • <accountname>为必选参数,accountname是运维的数据库登录账户名。

    • <localport>为必选参数,localport步骤5定义的本地监听端口。

    连接成功后,即可执行运维命令。

    执行运维命令