添加本地用户

ArgoCD 有两种类型的用户 — 本地用户(在 argocd-cm ConfigMap 中设置)和 SSO用户。

对于任何用户,他们的权限都可以通过角色配置,这些角色附加了描述对象的策略,以允许用户访问和执行某些操作。 下面,我们将介绍本地用户管理。我们先添加一个简单的本地用户。

添加本地用户

要添加本地用户,请编辑 argocd-cm ConfigMap 并添加一个 accounts.USERNAME 记录。

执行:

kubectl edit cm argocd-rbac-cm -n argocd

添加以下内容:

apiVersion: v1
data:
  accounts.testuser: apiKey,login

image-20210625105440793

  • apiKey可以让用户生成JWT-tokens 进行身份验证, login 允许该用户使用 ArgoCD WebUI 登录 .

保存,并检查用户列表:

image-20210625105618692

admin 用户是在 ArgoCD 初始化期间创建的。它默认无法使用apiKey,但可以通过在 argocd-cm 中增加。建议在添加所有必要的用户后禁用 admin 用户。

testuser 是我们刚添加的,目前还没有设置密码。要为他创建密码,您需要拥有当前管理员的密码:

argocd account update-password --account testuser --new-password 1234 --current-password $ARGO_PWD

# admin管理员的密码可以通过命令获取:
# ARGO_PWD=`kubectl -n argocd get secret argocd-initial-admin-secret -o jsonpath="{.data.password}" | base64 -d` 

image-20210625125941416

使用 testuser 登录:

argocd login localhost:8080 --username testuser --password 1234 --insecure

image-20210625130146236 现在我们使用testuser登录成功。

当然也可以使用浏览器登录:

image-20210625130507800