ArgoCD用户管理--本地用户/账户
ArgoCD安装后有一个内置的管理员用户,拥有最高权限可以完全访问系统。建议只使用管理用户进行初始配置,然后切换到本地用户或配置SSO集成。
本地用户/账户
ArgoCD本地用户/账户功能主要有两个用途:
- Argo CD管理自动化的认证令牌。可以配置一个具有有限权限的API账户并生成一个认证令牌。这种令牌可以用来自动创建应用程序和项目等
- 对于一个非常小的团队来说,使用SSO集成可能被认为多余的。本地用户不提供组、登录历史等高级功能。因此,如果需要这些功能,强烈建议使用SSO
当创建本地用户时,每个用户都需要设置额外的RBAC规则,否则他们将回到argocd-rbac-cm ConfigMap的policy.default字段指定的默认策略。本地账户用户名最大长度为32
创建本地用户
新用户应该在argocd-cm ConfigMap中定义
apiVersion: v1
kind: ConfigMap
metadata:
name: argocd-cm
namespace: argocd
labels:
app.kubernetes.io/name: argocd-cm
app.kubernetes.io/part-of: argocd
data:
accounts.huis: apiKey, login
# 是否禁用用户,默认情况下用户为启用状态,true代表启用用户,false代表禁用用户
accounts.huis.enabled: "false"
每个用户可能有两种功能权限:
- apiKey:允许为API访问生成认证令牌
- login:允许使用用户界面登录
禁用管理员用户
创建了其它用户,建议禁用管理用户
apiVersion: v1
kind: ConfigMap
metadata:
name: argocd-cm
namespace: argocd
labels:
app.kubernetes.io/name: argocd-cm
app.kubernetes.io/instance: argocd
data:
# false为禁用,true为启用
admin.enabled: "false"
ArgoCD用户管理
获取完整用户列表
argocd account list
获取特定用户信息
# argocd account get --account <username> argocd account get --account huis
设置用户密码
# 如果是以管理员身份管理用户(即以管理员身份修改用户密码),<current-user-password>应该是当前的管理员密码。 # argocd account update-password --account <name> --current-password <current-user-password> --new-password <new-user-password> argocd account update-password --account huis --current-password Abc123@ --new-password ABCabc123
生成认证token
# 如果省略--account参数,那么Argo CD将为当前用户生成令牌 # argocd account generate-token --account <username> argocd account generate-token --account huis
文章目录
本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。