GitOps用户管理
本文介绍ACK One GitOps支持的用户类型以及如何为用户授权。
索引
用户类型
ACK One GitOps支持多用户团队协作,管理员可创建或删除用户,并为不同用户设置不同的权限。目前ACK One GitOps支持以下两种用户类型。- Local User
系统本地用户。管理员可以创建Local User并获取认证Token,由自动化系统使用,调用ArgoCD API自动创建ArgoCD Application、Project等。若您的团队规模较小,可创建不同的Local User分配给团队成员。关于Local User授权方式,请参见创建Local User并授权。
- 阿里云RAM User
阿里云用户。通过SSO方式登录ArgoCD UI或ArgoCD CLI。建议使用阿里云用户登录ArgoCD UI或ArgoCD CLI。ACK One GitOps默认打通ArgoCD UI和ArgoCD CLI向阿里云RAM的SSO认证。关于阿里云RAM User授权方式,请参见为阿里云RAM User授权。
创建Local User并授权
前提条件
- 管理员已从ACK One控制台获取主控实例的KubeConfig,并通过kubectl连接至主控实例。
- 已在ACK One主控实例中开启GitOps。具体操作,请参见在ACK One主控实例中开启GitOps。
- 已获取ArgoCD管理员密码,并登录ArgoCD CLI。具体操作,请参见通过ArgoCD CLI方式访问ArgoCD。
操作步骤
创建Local User并授权操作由ACK One主控实例管理员在主控实例中执行。具体步骤如下。
- 执行以下命令,编辑ArgoCD
argocd-cm
的ConfigMap文件。kubectl edit cm argocd-cm -n argocd
- 在
argocd-cm
的ConfigMap文件中,添加如下所示的Local Userlocaluser1
。data: accounts.localuser1: login,apiKey # 可以UI/CLI登录,并可以生成apiKey Token。 accounts.localuser1.enabled: "true" # 创建localuser1。
- 执行以下命令,查看Local User。
argocd account list
预期输出:
NAME ENABLED CAPABILITIES admin true login localuser1 true login,apiKey # 此处为上一步已创建的localuser1。
- 执行以下命令,设置密码并生成认证Token。
# 设置密码。 argocd account update-password \ --account localuser1 \ --current-password <admin password> \ --new-password <localuser1-password> # 获取localuser1认证Token。 argocd account generate-token --account localuser1 eyJhb......
- 执行以下命令,编辑ArgoCD
argocd-rbac-cm
的ConfigMap文件。kubectl edit cm argocd-rbac-cm -n argocd
- 在
argocd-rbac-cm
的ConfigMap文件中,设置如下内容为Local User授权。重要 请勿修改此ConfigMap文件中已有的配置。data: policy.csv: | g, "14***01", role:admin # 现有配置,请保留。 g, localuser1, role:admin # 新增配置,设置localuser1为admin。 scopes: '[uid]' # 现有配置,请保留。
为阿里云RAM User授权
ACK One GitOps默认打通ArgoCD UI和ArgoCD CLI向阿里云RAM的SSO认证。当您登录阿里云控制台后,可以通过SSO登录ArgoCD UI或ArgoCD CLI,无需再次输入用户名密码。
- 若RAM User为ACK One主控实例管理员,ACK One GitOps会自动同步权限设置,授权其ArgoCD UI或ArgoCD CLI管理员权限。
- 若RAM User为普通用户,需要ACK One主控实例管理员参考以下步骤配置相应的权限。
- 执行以下命令,编辑ArgoCD
argocd-rbac-cm
的ConfigMap文件。kubectl edit cm argocd-rbac-cm -n argocd
- 在
argocd-rbac-cm
的ConfigMap文件中,设置如下内容为RAM User授权。data: policy.csv: | g, "14***01", role:admin # 现有配置,请保留。 g, "27***02", role:admin # 新增配置,设置RAM User "27***02"为admin。 scopes: '[uid]' # 现有配置,请保留。
- 执行以下命令,编辑ArgoCD