5.7. 使用 Dex 为 Argo CD 配置 SSO


安装 Red Hat OpenShift GitOps Operator 后,Argo CD 会自动创建一个具有 admin 权限的用户。要管理多个用户,集群管理员可以使用 Argo CD 来配置 Single Sign-On(SSO)。

5.7.1. 启用 Dex OpenShift OAuth 连接器

Dex 通过检查平台提供的 OAuth 服务器,使用 OpenShift 中定义的用户和组。以下示例显示了 Dex 的属性以及示例配置:

apiVersion: argoproj.io/v1alpha1
kind: ArgoCD
metadata:
  name: example-argocd
  labels:
    example: openshift-oauth
spec:
  dex:
    openShiftOAuth: true 1
    groups:2
     - default
  rbac:3
    defaultPolicy: 'role:readonly'
    policy: |
      g, cluster-admins, role:admin
    scopes: '[groups]'
1
openShiftOAuth 属性触发 Operator,当值设为 true 时自动配置内置 OpenShift OAuth 服务器。
2
groups 属性将用户分配给组列表中的一个组或所有组。
3
RBAC 策略属性将 Argo CD 集群中的 admin 角色分配给 OpenShift cluster-admins 组中的用户。

5.7.1.1. 将用户映射到特定的角色

如果有直接 ClusterRoleBinding 角色,Argo CD 无法将用户映射到特定角色。您可以通过 OpenShift,手动更改 SSO 上的 role:admin 角色。

流程

  1. 创建名为 cluster-admins 的组。

    $ oc adm groups new cluster-admins
  2. 将用户添加到组。

    $ oc adm groups add-users cluster-admins USER
  3. cluster-admin ClusterRole 应用到组:

    $ oc adm policy add-cluster-role-to-group cluster-admin cluster-admins

5.7.2. 禁用 Dex

对于 Operator 创建的所有 Argo CD 实例,默认安装 Dex。您可以禁用 Dex。

流程

  • 在 Operator 的 YAML 资源中将环境变量 DISABLE_DEX 设置为 true:

      spec:
      config:
        env:
        - name: DISABLE_DEX
          value: "true"
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.