【问题标题】:How can create a user in ArgoCD with apiKey access only?如何在 ArgoCD 中创建仅具有 apiKey 访问权限的用户?
【发布时间】:2022-08-20 05:13:35
【问题描述】:

我在容器中有一个 shell 脚本,需要访问 ArgoCD API。 该脚本向 API 请求令牌,然后使用此令牌重新启动部署。

JSON=$(jq -c -n --arg username \"$USER_NAME\" --arg password \"$PASSWORD\" \'$ARGS.named\')
TOKEN=$(curl -k $ARGOCD_SERVER/api/v1/session -d \"$JSON\" | jq -r \".token\")

PARAMETERS=\"namespace=$NAMESPACE&resourceName=$RESOURCE_NAME&kind=Deployment&group=apps&version=v1\"
curl -k -H \"Authorization: Bearer $TOKEN\" \\
        -d \"\\\"restart\\\"\" \\
        \"$ARGOCD_SERVER/api/v1/applications/argocd/resource/actions?$PARAMETERS\"

这似乎只在我启用了argo-cd-cm.yaml 中的login 选项时才有效。

...
data:
  admin.enabled: \"false\"
  accounts.<service-user>: apiKey, login
  accounts.<service-user>.enabled: \"true\"
...

由于我为普通用户使用 OIDC,我不希望禁用此登录选项。

有没有办法在其中一个配置映射中为给定用户指定apiKey

    标签: kubernetes argocd


    【解决方案1】:

    是的!这是我们 2 年来的配置(掌舵值).. 只是为了确认

    但是,请确保也使用 rbacConfig 授权他,如下所示:

    server:
      config:
        accounts.cibotuser: apiKey, login
        accounts.cibotuser.enabled: "true"
    
      rbacConfig:
        policy.csv: |
          p, cibotuser, applications, get, */*,allow
          p, cibotuser, applications, sync, */*,allow
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-08-11
      • 1970-01-01
      • 2013-10-30
      • 1970-01-01
      • 1970-01-01
      • 2019-01-20
      • 1970-01-01
      相关资源
      最近更新 更多