inno
发布于 IP属地北京

长亭堡垒机 - 使用手册

本文档适用于长亭堡垒机 22.12 及以上版本,将指导您完成长亭堡垒机产品的初始化配置与使用。

1. 背景知识

长亭堡垒机采用基于角色的访问控制策略(RBAC,Role-Based Access Control)。通常需要先创建 “角色”。角色代表了对一组资源的访问权限配置,例如允许访问某一台 Linux 主机的 SSH、禁止访问某一台 Windows 主机的远程桌面,等等。之后再创建 “用户”,并为用户分配角色。之后这个用户便具备了角色所赋予的权限。

在部署完成之后,已经默认创建了一个名为 admin 的特权用户。可以以该用户身份登录,完成后续的配置工作。

2. 角色

2.1. 创建角色

进入页面 身份管理-角色,点击右上角 创建新角色 按钮。

系统会默认生成新角色模板,其中关键的部分如下:

# 该样例创建了一个名为 'ssh-as-root' 的角色,并授予其使用 root 帐号通过 SSH 访问任意 Linux 节点的权限

kind: role
version: v5
metadata:
  # 该角色的名称
  name: ssh-as-root
spec:
  options:
      # session 的最长存续时间,超过之后需要重新获取
      max_session_ttl: 8h0m0s
  allow:
    # 允许 SSH 登录使用的 Host 帐号
    logins: ['{{internal.logins}}', root]

    # 允许 SSH 登录的 Host 的 Label
    node_labels:
      '*': '*'

    # RBAC 规则用来限制该角色可以访问的资源,该样例仅允许用户访问审计日志和用户自己的会话
    rules:
    - resources: [event]
      verbs: [list, read]
    - resources: [session]
      verbs: [list, read]
      where: contains(session.participants, user.metadata.name)

  # deny 与 allow 部分的格式相同,但会覆盖 allow 中的配置(即 deny 的优先级更高)
  deny:
    # 拒绝用户使用 guest 帐号登录 Linux 主机
    logins: [guest]

另外一个样例如下:

# 该样例创建了一个名为 'rdp-as-admin' 的角色,并授予其使用 Administrator 帐号通过 RDP 访问任意 Windows 节点的权限

kind: role
version: v5
metadata:
  # 该角色的名称
  name: rdp-as-admin
spec:
  options:
      # session 的最长存续时间,超过之后需要重新获取
      max_session_ttl: 8h0m0s
  allow:
    # 允许 Windows 远程桌面登录使用的 Host 帐号
    windows_desktop_logins: ['{{internal.windows_logins}}', Administrator]

    # 允许 Windows 远程桌面登录的 Host 的 Label
    windows_desktop_labels:
      '*': '*'

    # RBAC 规则用来限制该角色可以访问的资源,该样例仅允许用户访问审计日志和用户自己的会话
    rules:
    - resources: [event]
      verbs: [list, read]
    - resources: [session]
      verbs: [list, read]
      where: contains(session.participants, user.metadata.name)

  deny: {}

一般可以选择以上述样例为模板,修改所需字段,例如 metadata.name spec.allow.logins,并通过页面提交以完成角色的创建和配置。

2.2. 内置角色

角色名 作用描述
editor Allows editing of cluster configuration settings
auditor Allows reading cluster events, audit logs, and playing back session records
access Allows access to cluster resources

3. 创建用户

执行该步骤前,务必执行步骤 2 以完成角色的创建。

  1. 进入页面 身份管理-用户,点击右上角 创建新用户 按钮。
  2. 填写用户名,并选择相应的角色,点击保存按钮。
  3. 系统会生成一个邀请连接,将该连接发送给对应的用户以完成后续的密码设置等步骤。

4. 加入 Linux 主机

执行该步骤前,务必执行步骤 2 以完成角色的创建。

确保所创建的角色的 spec.allow.logins 字段包含 Linux 主机上真实存在并且可用的帐号(例如 root)

  1. 进入页面 Linux 主机,点击右上角 添加 LINUX 主机 按钮,并点击 下一步 按钮。
  2. 系统会生成一条安装命令,复制到 Linux 主机的命令行并执行;如果执行成功,通过 systemctl status teleport 可以看到服务的运行状态。
  3. 此时页面上会提示 Linux 主机已连接到堡垒机,点击下一步以继续。
  4. 此时页面上会提示 Linux 主机可用的帐号,确认列表中的帐号在 Linux 主机上实际存在并可用,之后点击下一步以继续。
  5. 此时进入到测试页,可以选择可用账户,点击 测试连接 按钮,如一切无误,则会显示测试成功完成。
  6. 点击 完成 按钮以完成 Linux 主机的加入。

5. 常见错误排查

待完善

浏览 (692)
点赞 (4)
收藏
打赏
评论