长亭堡垒机 - 使用手册
本文档适用于长亭堡垒机 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 以完成角色的创建。
- 进入页面 身份管理-用户,点击右上角 创建新用户 按钮。
- 填写用户名,并选择相应的角色,点击保存按钮。
- 系统会生成一个邀请连接,将该连接发送给对应的用户以完成后续的密码设置等步骤。
4. 加入 Linux 主机
执行该步骤前,务必执行步骤 2 以完成角色的创建。
确保所创建的角色的
spec.allow.logins
字段包含 Linux 主机上真实存在并且可用的帐号(例如 root)
- 进入页面 Linux 主机,点击右上角 添加 LINUX 主机 按钮,并点击 下一步 按钮。
- 系统会生成一条安装命令,复制到 Linux 主机的命令行并执行;如果执行成功,通过
systemctl status teleport
可以看到服务的运行状态。 - 此时页面上会提示 Linux 主机已连接到堡垒机,点击下一步以继续。
- 此时页面上会提示 Linux 主机可用的帐号,确认列表中的帐号在 Linux 主机上实际存在并可用,之后点击下一步以继续。
- 此时进入到测试页,可以选择可用账户,点击 测试连接 按钮,如一切无误,则会显示测试成功完成。
- 点击 完成 按钮以完成 Linux 主机的加入。
5. 常见错误排查
待完善