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
apiKey
可以让用户生成JWT-tokens
进行身份验证, login
允许该用户使用 ArgoCD WebUI 登录 .保存,并检查用户列表:
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`
使用 testuser 登录:
argocd login localhost:8080 --username testuser --password 1234 --insecure
现在我们使用testuser登录成功。
当然也可以使用浏览器登录: