You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

CI/CD流水线Teleport集群Bot执行tctl命令提示权限拒绝问题求助

解决Teleport tctl 权限不足问题的建议

核心原因

当前使用的账号(或Machine ID Bot)未被分配执行tctl get users、tctl get roles操作所需的权限,Teleport通过角色(Role)管控资源访问,需给目标身份配置包含list和read权限的角色。

具体修复步骤

1. 确认当前身份关联的角色

执行命令查看登录身份绑定的角色:

tsh status

从输出的Roles字段记录下关联的角色名称。

2. 创建含所需权限的自定义角色

使用拥有集群管理员权限的账号登录,创建一个允许读取用户、角色资源的角色(示例命名为ci-cd-bot-role):
将以下内容保存为ci-cd-bot-role.yaml文件:

kind: role
version: v5
metadata:
  name: ci-cd-bot-role
spec:
  allow:
    rules:
      - resources: ["user", "role"]
        verbs: ["list", "read"]

执行命令创建该角色:

tctl create -f ci-cd-bot-role.yaml

3. 给目标身份绑定新角色

  • 若为Machine ID Bot绑定:
tctl bots update <你的Bot名称> --add-roles ci-cd-bot-role
  • 若为普通用户绑定:
tctl users update <你的用户名> --add-roles ci-cd-bot-role

4. 刷新会话并验证权限

执行命令重新登录以加载新权限:

tsh logout && tsh login --proxy=myteleport.registry.com

再次尝试执行目标命令验证:

tctl get users
tctl get roles --format=text

额外注意事项

  • 操作时需使用具备create role和update bot/user权限的账号,通常集群管理员(admin角色)拥有这些权限。
  • 若为Machine ID场景,需确认Bot已完成身份注册流程。

内容的提问来源于stack exchange,提问作者fipse

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 10:13:16